官方文档
pypi:opencv-python
OpenCV-Python Tutorials
参考网址
http://wiki.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5
http://www.opencv.org.cn/opencvdoc/2.3.2/html/index.html
官网下载经常会有断,python 2.7 可以在github上的备份中获取;
下载文件后,解压,并将文件放入python的库中即可;
同时使用open CV需要另一个python的库文件。Numpy; 该model可以直接通过python安装命令进行安装;
安装
1 | pip install opencv-python # 通过pip安装openCV |
基本的使用
包的导入
1 | import numpy as np |
文件的读取
1 | cv2.namedWindow('image', cv2.WINDOW_NORMAL) #cv2.WINDOW_AUTOSIZE 窗口不可调节; |
绘制矩形
1 | cv2.rectangle(img,(15,25),(200,150),(0,0,255),15) |
绘制圆
1 | cv2.circle(img,(100,63), 55, (0,255,0), -1) |
添加文字
1 | cv2.putText(img, 'OpenCV Tuts!',(10,400), font, 2, (200,255,155), 5, cv2.LINE_AA) |
图像操作
更改像素
1 | px = img[55,55] # 获取某个像素点的颜色 |
图像算术和逻辑运算
1 | # 读取两个图像 |
阈值
阈值的思想是进一步简化视觉数据的分析。首先,你可以转换为灰度,但是你必须考虑灰度仍然有至少 255 个值。阈值可以做的事情,在最基本的层面上,是基于阈值将所有东西都转换成白色或黑色。比方说,我们希望阈值为 125(最大为 255),那么 125 以下的所有内容都将被转换为 0 或黑色,而高于 125 的所有内容都将被转换为 255 或白色。如果你像平常一样转换成灰度,你会变成白色和黑色。如果你不转换灰度,你会得到二值化的图片,但会有颜色。
1 | # 硬阈值过滤 |
颜色过滤
创建一个过滤器,回顾按位操作,其中我们将过滤特定的颜色,试图显示它。或者,你也可以专门筛选出特定的颜色,然后将其替换为场景,就像我们用其他方法替换ROI(图像区域)一样,就像绿屏的工作方式。
为了像这样过滤,你有几个选项。通常,你可能会将你的颜色转换为 HSV,即“色调饱和度纯度”。例如,这可以帮助你根据色调和饱和度范围,使用变化的值确定一个更具体的颜色。如果你希望的话,你可以实际生成基于 BGR 值的过滤器,但是这会有点困难。如果你很难可视化 HSV,不要感到失落,查看维基百科页面上的 HSV,那里有一个非常有用的图形让你可视化它。