python-opencv图像直方图的计算
时间: 2023-10-08 10:12:24 浏览: 113
在Python中使用OpenCV库计算图像直方图的步骤如下:
1. 导入库
```python
import cv2
import numpy as np
from matplotlib import pyplot as plt
```
2. 读取图像
```python
img = cv2.imread('image.jpg', 0)
```
其中,`0`表示将图像转换为灰度图像。
3. 计算直方图
```python
hist, bins = np.histogram(img.ravel(), 256, [0, 256])
```
`np.histogram()`函数计算图像的直方图,返回直方图数组`hist`和每个bin的边界值数组`bins`。其中,`img.ravel()`将图像转换为一维数组,`256`表示bin的数量,`[0, 256]`表示灰度值范围。
4. 绘制直方图
```python
plt.hist(img.ravel(), 256, [0, 256])
plt.show()
```
使用`plt.hist()`函数绘制直方图,其中`img.ravel()`表示直方图的数据,`256`表示bin的数量,`[0, 256]`表示bin的范围。
完整代码如下:
```python
import cv2
import numpy as np
from matplotlib import 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()
```
阅读全文