学习使用不同的阈值方法"二值化"图像。图片等可到源码处下载。
目标
- 使用固定阈值、自适应阈值和Otsu阈值法"二值化"图像
- OpenCV函数:cv2.threshold(), cv2.adaptiveThreshold()
教程
固定阈值分割
固定阈值分割很直接,一句话说就是像素点值大于阈值一个值,小于阈值是另外一个值。
import cv2
import matplotlib.pyplot as plt
# 灰度图读入
img = cv2.imread('gradient.jpg', 0)
# 阈值分割
ret, th = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
cv2.imshow('thresh', th)
cv2.waitKey(0)
cv2.threshold()
用来实现阈值分割,ret是return value缩写,代表当前的阈值,暂时不用理会。函数有4个参数:
- 参数1:要处理的原图,一般是灰度图
- 参数2:设定的阈值
- 参数3:最大阈值,一般为255
- 参数4:阈值的方式,主要有5种,详情: