otsu阈值分割代码
时间: 2023-11-12 19:56:43 浏览: 82
OTSU阈值分割是一种自适应的图像二值化方法,下面是使用Python实现OTSU阈值分割的代码:
``` python
import cv2
# 读取图像
img = cv2.imread("test.jpg", 0)
# OTSU阈值分割
_, thresh = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)
# 显示结果
cv2.imshow("OTSU", thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.threshold()`函数用来进行阈值分割,参数含义如下:
- 第一个参数:要进行阈值分割的图像;
- 第二个参数:阈值,当参数`type`为`cv2.THRESH_BINARY`和`cv2.THRESH_BINARY_INV`时,该参数为阈值;当参数`type`为`cv2.THRESH_OTSU`时,该参数为初始阈值,程序会根据图像自适应地调整阈值;
- 第三个参数:最大像素值,当参数`type`为`cv2.THRESH_BINARY`和`cv2.THRESH_BINARY_INV`时,该参数为二值化后的最大像素值;
- 第四个参数:二值化方式,有以下四种取值:
- `cv2.THRESH_BINARY`:黑色部分设置为最大像素值,白色部分设置为0;
- `cv2.THRESH_BINARY_INV`:黑色部分设置为0,白色部分设置为最大像素值;
- `cv2.THRESH_TRUNC`:超过阈值的部分设置为阈值,其余部分不变;
- `cv2.THRESH_TOZERO`:低于阈值的部分设置为0,其余部分不变;
- `cv2.THRESH_TOZERO_INV`:高于阈值的部分设置为0,其余部分不变。
阅读全文