python分别绘制出图片红、绿、蓝色直方图
时间: 2023-12-02 19:02:42 浏览: 43
彩色图像的直方图
可以使用Python中的Matplotlib库来绘制图片的红、绿、蓝色直方图。以下是代码示例:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取图片
img = cv2.imread('image.png')
# 将图片转换成RGB模式
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 计算红、绿、蓝三个通道的直方图
r_hist = cv2.calcHist([img], [0], None, [256], [0,256])
g_hist = cv2.calcHist([img], [1], None, [256], [0,256])
b_hist = cv2.calcHist([img], [2], None, [256], [0,256])
# 绘制三个通道的直方图
plt.figure()
plt.title('Red Histogram')
plt.xlabel('Bins')
plt.ylabel('# of Pixels')
plt.plot(r_hist, color='red')
plt.xlim([0, 256])
plt.figure()
plt.title('Green Histogram')
plt.xlabel('Bins')
plt.ylabel('# of Pixels')
plt.plot(g_hist, color='green')
plt.xlim([0, 256])
plt.figure()
plt.title('Blue Histogram')
plt.xlabel('Bins')
plt.ylabel('# of Pixels')
plt.plot(b_hist, color='blue')
plt.xlim([0, 256])
plt.show()
```
这段代码中,首先使用OpenCV库读取并将图片转换成RGB模式,然后使用`cv2.calcHist()`函数计算出红、绿、蓝三个通道的直方图。最后使用Matplotlib库绘制出三个通道的直方图。
阅读全文