初识OpenCV。
近几个月,也是一直在寻找自己以后的方向,一直在迷茫中,但也在不断得探索着。觉得自己最感兴趣的还是计算机技术这一块,尤其是计算机视觉。
最近一直在做数据方面的工作,但个人认为这和我学习计算机视觉丝毫不矛盾,计算机视觉也会用到大量的数据,机器学习、人工智能等技术会经常接触。
计算机视觉中对图片的边缘检测,用到的算法其实就是滤波函数,通过过滤噪音,寻找真正的波的最大震荡位置。这种滤波函数其实完全可以用到股票交易中,将小的波形过滤掉,在大的波形中寻找买卖点。我之前智能选股系统还是有一些不足需要调整,比如对大盘牛市时找不到较好的进场点,这一块也许可以在滤波函数中寻找些什么灵感。所以学术很多东西都是相通的,没必要那么较真必须要在哪一领域一路磕到死。俗话说技多不压身,重要是你感兴趣,勇敢的去探索。
并且计算机视觉对未来医疗、无人驾驶等高科技领域有着不可或缺的地位。所以抱着极大的兴趣,我决定踏入计算机视觉的领域。
首先认识到的是OpenCV,初次见到它是在17年年底的时候。那时候领导让我制作一个银行高端客户服务系统的模型,说白了就是一套人脸识别系统,后端对接一个产品推荐系统。那时候对人脸识别一无所知,恰好安排了这样一个任务,在网上查阅了很多的资料,并且正好我对python这门语言还算熟悉,有很多成熟的接口和应用可以直接拿来使用,看了少许的源码,便可以着手制作了。其中就有OpenCV这么个东东。
OpenCV可以用来做什么?
具体什么是OpenCV,我就不赘述了,网上的介绍有很多。但是对于OpenCV可以做什么,网上没有太多具体的答案,都是一些只言片语,能做什么完全看自己的需求内容。
为了解决内心中的这个问题,我专门在网上找了一些答案,其中有个视频挺有趣的,介绍了OpenCV可以用来做什么,视频中介绍了很多OpenCV在现实生活中使用的案例。比如下面这个截图,是对摄像机采集到的每一帧数据做处理,寻找出草坪的边界,并画出线条。

比如还可以识别物体,也是对摄像机捕获的数据进行处理分析,得到下面的效果:
不知你有没有好奇过虚拟现实中的3D效果是如何做出来的?OpenCV也可以带你找到答案。
既然可以识别出草坪的边界,那么对于车道的边界,也可以识别出来。我在想汽车在倒车时,上面的图像显示应该也可以利用OpenCV来实现吧。

视频的后面还录制了一段蚂蚁的运行轨迹,看起来也相当有趣。
完整版的视频已经被我下载下来了,在文章的末尾。
当然,除了以上这些案例,一定还有很多很多领域可以用到它,比如人脸识别、医疗图像等。好吧,就不一一列举了,赶紧带着强烈的好奇心,走进它吧。
安装OpenCV
上次是在ubuntu上进行安装的,需要进行源码编译,否则无法启动摄像头。为了避免这样类似的麻烦,我将OpenCV装在了windows系统中。
在windows中安装OpenCV非常简单。
通过 pip
pip install opencv-contrib-python --upgrade
或者安装无额外模块版本的
pip install opencv-python
测试OpenCV是否安装完成
(cv) C:\Users\33044>python
Python 3.6.7 |Anaconda, Inc.| (default, Oct 28 2018, 19:44:12) [MSC v.1915 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> print(cv2.__version__)
3.4.3
测试OpenCV是否可以启动摄像头
在OpenCV的官方文档中有一份测试代码,可以创建一个camera-test.py的文件
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Display the resulting frame
cv2.imshow('frame',frame)
cv2.imshow('gray',gray)
if cv2.waitKey(20) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
当运行python camera-test.py时,你会看到摄像机启动两个画面,一个画面中是正常的颜色,一个画面是灰度图像,此时代表你的OpenCV安装得没有问题。
文章末尾固定信息

评论