cv2.thresh_binary+cv2.thresh_otsu
时间: 2024-05-07 14:20:48 浏览: 158
cv2.threshold 函数可以通过设定阈值将一幅图像转换为二值图像。cv2.THRESH_BINARY 和 cv2.THRESH_OTSU 是两个参数,其中 cv2.THRESH_BINARY 表示二值化方式为阈值二值化,而 cv2.THRESH_OTSU 表示二值化方式为自适应阈值二值化。结合使用这两个参数可以实现自适应阈值二值化。
使用方法如下:
```
import cv2
img = cv2.imread('test.jpg', 0) # 读取灰度图像
# 先进行阈值二值化
ret, thresh1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
# 再进行自适应阈值二值化
thresh2 = cv2.adaptiveThreshold(thresh1, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 11, 2)
cv2.imshow('thresh2', thresh2)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中 cv2.adaptiveThreshold 函数的参数解释如下:
- src:输入图像,必须为灰度图像。
- maxValue:像素值最大值,一般为 255。
- adaptiveMethod:自适应阈值算法,包括 cv2.ADAPTIVE_THRESH_MEAN_C 和 cv2.ADAPTIVE_THRESH_GAUSSIAN_C 两种。
- thresholdType:阈值类型,包括 cv2.THRESH_BINARY 和 cv2.THRESH_BINARY_INV 两种。
- blockSize:邻域大小,一般为奇数。
- C:阈值修正常数,一般为 2。
阅读全文