“lianhua”图像灰度值进行统计分析,并绘制灰度直方图。使用python实现
时间: 2024-09-26 11:14:58 浏览: 37
在Python中,我们可以使用`PIL`库读取图片,`NumPy`进行数值处理,包括灰度值转换,然后使用`matplotlib`库绘制直方图。以下是一个简单的步骤:
首先安装需要的库(如果还没安装):
```bash
pip install pillow numpy matplotlib
```
然后,你可以按照以下代码实现:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取图片
img = cv2.imread('lianhua.jpg', cv2.IMREAD_GRAYSCALE) # 如果图片是彩色,这里使用IMREAD_GRAYSCALE将其转为灰度
# 确保图片不是None
if img is not None:
# 计算灰度值的统计信息
gray_values = img.flatten() # 将二维数组展平成一维
mean_gray = np.mean(gray_values)
std_gray = np.std(gray_values)
# 绘制灰度直方图
plt.hist(gray_values, bins='auto') # 自动选择合适的直方图bins数
plt.title(f"灰度值直方图 (平均值: {mean_gray:.2f}, 标准差: {std_gray:.2f})")
plt.xlabel('灰度值')
plt.ylabel('频率')
plt.show()
else:
print("无法打开图片文件,检查文件路径或是否图片存在。")
阅读全文