拍摄一副明暗或对比度很差的图像,利用直方图均衡化操作进行增强,将结果显示在同一张图中,包含4副子图:处理前后的图像、处理前后的直方图。
时间: 2023-05-19 21:04:32 浏览: 132
好的,这是一个图像处理的问题。您可以使用OpenCV库中的equalizeHist函数来实现直方图均衡化操作。以下是一个简单的Python代码示例:
```python
import cv2
import matplotlib.pyplot as plt
# 读取图像
img = cv2.imread('your_image.jpg', cv2.IMREAD_GRAYSCALE)
# 直方图均衡化
equalized_img = cv2.equalizeHist(img)
# 绘制处理前后的图像和直方图
fig, axs = plt.subplots(2, 2, figsize=(10, 10))
axs[0, 0].imshow(img, cmap='gray')
axs[0, 0].set_title('Original Image')
axs[0, 1].imshow(equalized_img, cmap='gray')
axs[0, 1].set_title('Equalized Image')
axs[1, 0].hist(img.ravel(), 256, [0, 256])
axs[1, 0].set_title('Original Histogram')
axs[1, 1].hist(equalized_img.ravel(), 256, [0, 256])
axs[1, 1].set_title('Equalized Histogram')
plt.show()
```
您可以将此代码中的"your_image.jpg"替换为您自己的图像文件名,并运行代码以查看结果。
阅读全文