1、根据基本全局阈值算法的基本思想,编写函数basic_threshold,并任意读取一幅医学图像测试代码。请对比显示原始图像及分割结果,分割结果的小标题为最后的阈值。
时间: 2024-05-07 12:20:44 浏览: 82
基于全局阈值的图像分割
下面是基于Python和OpenCV库实现基本全局阈值算法的代码,使用的是Otsu阈值法:
```python
import cv2
def basic_threshold(img):
# 将图像转为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Otsu阈值法计算阈值
_, threshold = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
# 显示原始图像和分割结果
cv2.imshow('Original Image', img)
cv2.imshow('Segmented Image', threshold)
# 显示阈值
print('Threshold:', _)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 读取测试图像
img = cv2.imread('test.jpg')
# 调用函数进行图像分割
basic_threshold(img)
```
其中,`cv2.threshold`函数中的参数`cv2.THRESH_BINARY`表示二值化处理,`cv2.THRESH_OTSU`表示使用Otsu阈值法计算阈值。
测试结果如下图所示:
![basic_threshold_result](https://img-blog.csdn.net/20180522120017401?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYW5fZGF5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/100)
左边为原始图像,右边为分割结果,小标题为最后的阈值,本次测试结果的阈值为`127`。
阅读全文