python显示图像的直方图
时间: 2023-11-14 22:12:38 浏览: 81
Python图像直方图映射
Python可以使用matplotlib库来显示图像的直方图。具体步骤如下:
1. 读取图像并转换为灰度图像或RGB图像。
2. 使用numpy库中的histogram函数计算图像的直方图数据。
3. 使用matplotlib库中的plot函数绘制直方图。
对于灰度图像,直方图只有一个通道,可以使用以下代码绘制:
```
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取灰度图像
img = cv2.imread('image.jpg', 0)
# 计算直方图数据
hist, bins = np.histogram(img.ravel(), 256, [0, 256])
# 绘制直方图
plt.hist(img.ravel(), 256, [0, 256])
plt.show()
```
对于RGB图像,直方图有三个通道,可以使用以下代码绘制:
```
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取RGB图像
img = cv2.imread('image.jpg')
# 计算直方图数据
color = ('b', 'g', 'r')
for i, col in enumerate(color):
hist, bins = np.histogram(img[:, :, i].ravel(), 256, [0, 256])
plt.plot(hist, color=col)
plt.xlim([0, 256])
# 绘制直方图
plt.show()
```
阅读全文