Pythonopencv绘制单通道直方图
时间: 2023-08-30 13:05:29 浏览: 85
在Python中使用OpenCV库绘制单通道直方图可以通过以下步骤实现:
1. 导入必要的库
```python
import cv2
import numpy as np
from matplotlib import pyplot as plt
```
2. 读取图像并将其转换为灰度图像
```python
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
```
3. 计算灰度图像的直方图
```python
hist = cv2.calcHist([gray], [0], None, [256], [0, 256])
```
4. 绘制直方图
```python
plt.hist(gray.ravel(),256,[0,256])
plt.show()
```
其中,`gray.ravel()`将灰度图像展平为一维数组,`256`表示直方图的箱数,`[0,256]`表示像素值的范围。
完整代码如下:
```python
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
hist = cv2.calcHist([gray], [0], None, [256], [0, 256])
plt.hist(gray.ravel(),256,[0,256])
plt.show()
```
阅读全文