python-opencv直方图绘制
时间: 2023-06-29 13:16:03 浏览: 63
好的,下面是使用 python-opencv 绘制直方图的示例代码:
```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()
```
这段代码中,首先使用 `cv2.imread()` 函数读取图片,然后使用 `np.histogram()` 函数计算直方图。最后使用 `plt.hist()` 函数绘制直方图,并使用 `plt.show()` 函数显示直方图。需要注意的是,这里的直方图是灰度图像的直方图,如果要绘制彩色图像的直方图,需要将图像转换为 HSV 或者 HSL 颜色空间后再计算直方图。
相关问题
python-opencv 灰度直方图
-OpenCV灰度直方图是一种用于显示图像中像素灰度级分布的图表。它可以帮助我们了解图像中不同灰度级的像素数量,从而更好地理解图像的特征和内容。在Python-OpenCV中,我们可以使用cv2.calcHist()函数或自己编写函数来计算灰度直方图,并使用matplotlib.pyplot库来绘制直方图图表。
python-opencv图像直方图的计算
在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()
```