选择一副图像,对其分别进行各种全局阈值处理操作的python代码
时间: 2024-10-15 07:07:53 浏览: 22
在Python中,你可以使用OpenCV库来对一幅图像进行各种全局阈值处理,例如二值化、AdaptiveThresholding(自适应阈值)等。这里是一个基本的例子:
```python
import cv2
import numpy as np
# 加载图像
image = cv2.imread('your_image.jpg', cv2.IMREAD_GRAYSCALE)
# 1. 固定阈值二值化(全局阈值)
_, binary_fixed = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)
# 2. 自适应阈值(AdaptiveThresholding)
binary_adaptive = cv2.adaptiveThreshold(image, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 11, 2)
# 3. 自适应阈值 - Gaussian (高斯模糊)
binary_gaussian = cv2.adaptiveThreshold(image, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)
# 显示原始图像和处理后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Fixed Threshold', binary_fixed)
cv2.imshow('Adaptive Mean', binary_adaptive)
cv2.imshow('Adaptive Gaussian', binary_gaussian)
# 等待用户按键后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这里的`cv2.threshold()`函数中的参数解释:
- `image`: 输入的灰度图像。
- `127`: 阈值,高于此值的像素变为白色,反之变为黑色。
- `255`: 最终颜色值(这里是白色)。
- `cv2.THRESH_BINARY`: 切换模式,这里生成的是黑白二值图。
`cv2.adaptiveThreshold()`函数有多种变体,`cv2.ADAPTIVE_THRESH_MEAN_C`表示采用均值方法,`cv2.ADAPTIVE_THRESH_GAUSSIAN_C`则采用高斯加权方法。
阅读全文