全局阈值法实现图像二值化代码
时间: 2024-10-24 07:03:21 浏览: 28
全局阈值法是一种常见的图像二值化技术,它将图像中的每个像素点都转换成0(黑色)或255(白色),依据的是一个预先设定的全局阈值。如果像素灰度值大于这个阈值,则认为是白色;反之则为黑色。
以下是Python中使用OpenCV库实现全局阈值法的基本步骤:
```python
import cv2
import numpy as np
def global_thresholding(image_path, threshold_value):
# 读取图片
image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
# 应用全局阈值
binary_image = np.where(image > threshold_value, 255, 0).astype('uint8')
return binary_image
# 示例:
image_path = 'input_image.jpg'
threshold_value = 127 # 这里设置一个经验值作为阈值
binary_result = global_thresholding(image_path, threshold_value)
cv2.imshow("Global Thresholding", binary_result)
cv2.waitKey(0) # 等待按键,0表示无限等待
cv2.destroyAllWindows()
```
在这个例子中,`threshold_value`是一个关键参数,可以根据实际图像内容调整。如果图像中的目标对比度明显,选择合适的阈值可以得到较好的二值化效果。
阅读全文