灰度变换(直接灰度变换,不使用opencv等):选择一幅对比度不足的图像,对该图像进行灰度变换,增强对比度,显示增强前、后的图像以及它们的灰度直方图。代码应该如何写
时间: 2024-12-14 13:15:11 浏览: 10
灰度变换是一种将彩色图像转换为单色图像的过程,通过减少色彩信息,通常用于简化图像处理。直接灰度变换不需要依赖如OpenCV这样的库,可以手动进行像素级别的操作。下面是一个简单的Python示例,使用PIL(Python Imaging Library)来进行这个过程:
```python
from PIL import Image
import numpy as np
# 加载图像
image = Image.open('input_image.png')
# 将图像转为灰度
gray_image = image.convert('L') # 'L'表示8位灰度模式
# 原始图像灰度直方图
hist_original = np.histogram(image, bins=256, range=(0, 256))
plt.plot(hist_original[1][1:], hist_original[0], label='Original')
# 变换后的图像灰度直方图
hist_transformed = np.histogram(gray_image, bins=256, range=(0, 256))
plt.plot(hist_transformed[1][1:], hist_transformed[0], label='Transformed')
# 显示原始和变换后的图像
gray_image.show()
image.show()
# 可能的增强操作,例如自适应直方图均衡化
enhanced_gray_image = ImageEnhance.Contrast(gray_image).enhance(2) # 增强对比度
enhanced_hist = np.histogram(enhanced_gray_image, bins=256, range=(0, 256))
plt.plot(enhanced_hist[1][1:], enhanced_hist[0], label='Enhanced')
# 保存结果
enhanced_gray_image.save('enhanced_gray_image.png')
# 图形展示
plt.legend()
plt.xlabel('Pixel Intensity')
plt.ylabel('Frequency')
plt.title('Gray Scale Histograms')
plt.show()
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)