阈值分割:通过设定不同的特征阈值,把图像像素点分为若干类,与二值化有区别。
图像二值化:将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。
import cv2
pic_file = "../data/pic2.png" # 图片路径
# 读入图像,显示原图
img = cv2.imread(pic_file)
cv2.imshow("original", img)
# 转成灰度图像
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 阈值分割
ret,th = cv2.threshold(img_gray,127,255,cv2.THRESH_BINARY)
cv2.imshow("thresh", th)
cv2.waitKey(0)
cv2.threshold()
用来实现阈值分割,ret是return value缩写,代表当前的阈值,暂时不用理会。函数有4个参数:
- 参数1:要处理的原图,一般是灰度图
- 参数2:设定的阈值
- 参数3:最大阈值,一般为255
- 参数4:阈值的方式,主要有5种,详情:ThresholdTypes