otsu算法python实现
时间: 2023-11-30 15:42:37 浏览: 89
otsu implementation with python
5星 · 资源好评率100%
以下是使用Python实现OTSU算法的代码:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取图像
img = cv2.imread("./data/image.jpg", flags=0)
# OTSU算法阈值分割
ret2, imgOtsu = cv2.threshold(img, 0, 255, cv2.THRESH_OTSU)
# 显示结果
plt.figure(figsize=(7, 7))
plt.title("OTSU binary(T={})".format(round(ret2))), plt.axis('off')
plt.imshow(imgOtsu, 'gray')
plt.tight_layout()
plt.show()
```
代码解释:
1. 首先导入需要的库:cv2、numpy和matplotlib.pyplot。
2. 使用cv2.imread()函数读取图像,flags=0表示读取为灰度图像。
3. 使用cv2.threshold()函数进行OTSU算法阈值分割,其中第一个参数为输入图像,第二个参数为阈值(这里设置为0,因为OTSU算法会自动计算阈值),第三个参数为最大值,第四个参数为阈值类型(这里设置为cv2.THRESH_OTSU)。
4. 使用matplotlib.pyplot.imshow()函数显示结果。
阅读全文