opencv(1)

​ 因为我是对图像处理的方面比较感兴趣的。所以我也是对python的视觉处理模块opencv进行了学习。这个模块虽然是传统方法,但还是蛮有用的。而且它有上千个API,我总结了以下我所学到的。开始吧。

cv2是opencv的扩展模块。

imread第二个参数类型:

cv2.imwrite:保存图片

下文中:绝对路径代表绝对路径也行

改变图片某行某列的像素:

批量改变图片像素:

获取图像属性:

拆分通道:

合并通道:

图片移位:

将两张图片加在一起:1、取模加法 2、饱和运算

注意:两张图片的大小和类型相等

减法(subtract)、乘法(multiply)和除法(divide)和加法(add)类似

图像融合:将两张或两张以上的图片融合到一张图片上

图像缩放(参数必须为整数):

图像翻转:调用cv2.flip(原始图像,flipcode)

三种情况:

filpcode=0:以x轴为对称轴的上下翻转

flipcode>0:以Y轴为对称轴的左右翻转

flipcode<0:X、Y轴各翻转一次

图像颜色反转:

图片打上马赛克:

图片上写字:

图片修补:

图片亮度增强:

图像阈值分割:调用了threshold函数

五种分割方法:

二进制阈值化(cv2.THRESH_BINARY):选定一个阈值,用每一个像素的阈值和该阈值比较,大于该阈值则将该像素阈点值设为最大,若小于该阈值,则将该像素点阈值设为零。

反二进制阈值化(cv.THRESH_BINARY_INV):选定一个阈值,用每一个像素的阈值和该阈值比较,大于该阈值则将该像素点的阈值设为零,若小于该阈值,则将该像素点阈值设为最大。

截断阈值化(cv.THRESH_TRUNC):选定个阈值,用每一个像素的阈值和该阈值比较,大于该阈值则将该像素点的阈值设为该阈值,小于该阈值的像素点的阈值不变。

阈值化为0(THRESH_TOZERO):先选定一个阈值,像素点的灰度值大于该阈值的不进行任何改变;像素点的灰度值小于该阈值的,其灰度值全部变为0。

反阈值化为0(THRESH_TOZERO_INV):先选定一个阈值,像素点的灰度值小于该阈值的不进行任何改变;像素点的灰度值大于该阈值的,其灰度值全部变为0。

还有另一种阈值分割函数:自适应阈值函数 cv2.adaptiveThreshold()

----本文结束,感谢您的阅读。如有错,请指正。----
大哥大嫂过年好!支持我一下呗
0%