OpenCV阈值处理
图像二值化
1、图像二值化就是将图像上的像素点的灰度值设置为两个值,一般为0和255,可以将整个图像呈现出明显的黑白效果。
2、图像的二值化最常用的方法就是先将图像灰度处理,然后设定一个阈值thresh,用该阈值将图像分成两个部分,即大于阈值的部分和小于阈值的部分,然后再将两部分图像分别赋予不同像素值。
3、图像二值化在数字图像处理的过程中具有重要的意义,二值化有利于图像的进一步处理,使图像变得简单,并且减少了数据量,可以凸显出感兴趣的目标轮廓。
二值化处理效果:
阈值处理函数
Python-OpenCV中提供了阈值(threshold)函数:
ret, dst = cv2.threshold(src, thresh, maxval, type)
返回值:
- ret:阈值
- dst:处理后的图像
输入参数:
- src:输入图,只能输入单通道图像,通常来说为灰度图
- thresh:阈值
- maxval:当像素超过了阈值(或者小于阈值,具体根据二值化操作类型type而异)时应该被赋予的新像素值。
- type:二值化操作类型,包含以下五种类型:
cv2.THRESH_BINARY;
cv2.THRESH_BINARY_INV;
cv2.THRESH_TRUNC;
cv2.THRESH_TOZERO;
cv2.THRESH_TOZERO_INV
二值化操作类型
cv2.THRESH_BINARY
超过阈值部分取maxval,否则取0
import cv2
img=cv2.imread('cat.jpg')
img_gray = cv2.cvtColor(img