OpenCV-Python learning-6.图像算术运算(下)

193 阅读1分钟

opencv提供add、addWeighted、subtract、mutiply、scaleAdd、divide等算术运算。运算中提供的mask参数表明当mask为0或null时起作用。

需要说明的是:

阈值函数

cv2.threshold(灰度图,阈值,设定值,方法)
第一个原图像,第二个进行分类的阈值,第三个是高于(低于)阈值时赋予的新值,第四个是一个方法选择参数,常用的有:

参数名含义
cv2.THRESH_BINARY(低于阈值的像素点灰度值置为0;高于阈值的值置为参数3)
cv2.THRESH_BINARY_INV(与上个相反,大于阈值的像素点灰度值置为0;小于阈值置为参数3)
cv2.THRESH_TRUNC(小于阈值的像素点灰度值不变,大于阈值的像素点置为该阈值)
cv2.THRESH_TOZERO(小于阈值的像素点灰度值不变,大于阈值的像素点置为0,其中参数3任取)
cv2.THRESH_TOZERO_INV(与上个相反,大于阈值的像素点灰度值不变,小于阈值的像素点置为0,其中参数3任取)

其可以称为最简单的图像分割方法。

按位运算

主要为cv2.bitwise_*函数,包括cv2.bitwise_or,cv2.bitwise_not,cv2.bitwise_and,cv2.bitwise_xor等。

比如,255的二进制:1111 1111;0的(8位)二进制:0000 0000;
255 and 一个数(8位)二进制 = 这个数;
0 and 一个数(8位)二进制 = 0。

src="nbviewer.jupyter.org/github/lsh1…" width="100%" height="1000">