图像二值化函数cv2.threshold()详解与代码实现

图像二值化函数cv2.threshold()详解与代码实现

cv2.threshold()函数介绍

最近要使用cv2.theshold()这个函数,但对函数的用法不是很明白,所以上网搜了下用法。
首先先理解什么是二值化?
图像二值化,就是将图像的像素点经过阈值(threshold)比较重新设置为0或者255,这样就可以将图像呈现出明显的黑和白的视觉效果(灰度值0:黑,灰度值255:白),而且在图像中可能存在噪声,这会对我们的图像识别产生影响,所以我们可以通过二值化从多值的数字图像直接提取目标图像。
cv2.threshold(img,threshold,maxval,type)
img就是输入图像,threshold就是阈值,maxval表示阈值类型,不同的阈值类型,将大于设置的threshold的像素转化方向不同(即有的可以将大于阈值的像素转化为0,有的则是转化为255)maxval参数有如下几种:
cv2.THRESH_BINARY 大于阈值的部分被置为255,小于部分被置为0
cv2.THRESH_BINARY_INV 大于阈值部分被置为0,小于部分被置为255
cv2.THRESH_TRUNC 大于阈值部分被置为threshold,小于部分保持原样
cv2.THRESH_TOZERO 小于阈值部分被置为0,大于部分保持不变
cv2.THRESH_TOZERO_INV 大于阈值部分被置为0,小于部分保持不变
cv2.THRESH_OTSU,并且把阈值thresh设为0,算法会找到最优阈值,并作为第一个返回值ret返回。

代码实现

到这里,就很清楚cv2.threshold()函数的用法,接下来是代码实现
图像二值化函数cv2.threshold()详解与代码实现_第1张图片

实验结果

这里没有将test和test2的实验结果展示出来
图像二值化函数cv2.threshold()详解与代码实现_第2张图片
图像二值化函数cv2.threshold()详解与代码实现_第3张图片
完成!

你可能感兴趣的:(python)