对上述两种图片分别进行均衡化处理,绘制出处理后的图片; 写出代码
时间: 2024-09-27 21:15:31 浏览: 61
对图像进行均衡化处理通常是为了增强图像对比度,使暗部细节更明显,亮部信息不失真。对于黑白图像(如灰度图像),可以使用全局直方图均衡化;对于彩色图像,一般会先将其转换为灰度图像,然后进行均衡化。
以下是Python中使用OpenCV库对黑白和彩色图片进行均衡化的简单示例:
```python
import cv2
import numpy as np
# 黑白图片均衡化
def equalize_bw(image_path):
img = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
eq_img = cv2.equalizeHist(img)
# 绘制原图和处理后的图像
side_by_side = np.hstack([img, eq_img])
cv2.imshow('Original vs Equalized', side_by_side)
cv2.waitKey(0) # 等待用户按键
cv2.destroyAllWindows()
# 彩色图片均衡化(针对每个通道分别操作)
def equalize_color(image_path):
img = cv2.imread(image_path)
gray_eq = cv2.cvtColor(cv2.equalizeHist(cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)), cv2.COLOR_GRAY2BGR)
side_by_side = np.vstack([img, gray_eq])
cv2.imshow('Original vs Color Equalized', side_by_side)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 使用函数并指定图片路径
image_path = 'path_to_your_image.jpg' # 替换为实际图片路径
equalize_bw(image_path)
equalize_color(image_path)
```
请注意,你需要将`path_to_your_image.jpg`替换为你要处理的实际图片文件路径。运行这段代码后,你会看到原始图片和处理后的图片并排显示。
阅读全文