阈值处理就是剔除图像内像素高于一定值或者低于一定值的像素点。
Opencv提供了两种函数来进行阈值处理,cv2.threshold()和cv2.adaptiveThreshold()。
opencv通过cv2.threshold()实现阈值处理,该函数的格式为
retaval,dst=cv2.threshold(src, thresh, maxval, type, dst=…)
- retval: 返回的阈值。
- dst:图像分割结果的图像。与原图像有一样的类型和大小。
- src:要进行阈值分割的图像。
- thresh: 要设定的阈值。
- type:要进行阈值分割的类型。
cv2.THRESH_BINARY | 二值化阈值处理 |
---|---|
cv2.THRESH_BINARY_INV | 反二值化阈值处理 |
cv2.THRESH_TOZERO | 低阈值处理 |
cv2.THRESH_TOZERO_INV | 超阈值处理 |
cv2.THRESH_TRUNC | 截断阈值处理 |
cv2.THRESH_BINARY( 二值化阈值处理):
- 将大于thresh的值设置为255.
- 将小于thresh的值设置为0.
cv2.THRESH_BINARY_INV (反二值化阈值处理)
- 反二值化阈值处理thresh与二值化阈值处理相反。
cv2.THRESH_TRUNC (截断阈值处理)
- 将大于thresh的值变为thresh,小于thresh的值不改变。
cv2.THRESH_TOZERO_INV (超阈值处理)
- 将高于thresh的值设置为0。
cv2.THRESH_TOZERO|低阈值处理
- 将低于thresh的值设置为0。