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">