python中cv2库的calchist函数
时间: 2023-11-02 15:06:23 浏览: 159
`cv2.calcHist()`是OpenCV中用于计算图像直方图的函数。该函数的语法如下:
```
cv2.calcHist(images, channels, mask, histSize, ranges)
```
其中:
- `images`:输入图像列表,应该用中括号括起来,例如:[img]。
- `channels`:要计算直方图的通道列表,也应该用中括号括起来。例如,如果输入是灰度图像,则值为[0]。对于彩色图像,则可以选择[0]、[1]或[2],分别表示蓝色、绿色和红色通道。
- `mask`:用于计算直方图的掩码图像。如果要计算整个图像的直方图,则为`None`。否则,只会计算掩码图像中非零像素的直方图。
- `histSize`:直方图的大小,也就是直方图中bin的数量。例如,[256]表示每个通道有256个bin,可以计算0-255范围内的像素值的直方图。
- `ranges`:像素值范围,通常为[0, 256]表示像素值的范围。
下面是一个简单的示例代码,它计算灰度图像的直方图:
```python
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('image.jpg', 0)
hist = cv2.calcHist([img], [0], None, [256], [0, 256])
plt.plot(hist)
plt.show()
```
这段代码将读取名为“image.jpg”的灰度图像,然后计算其像素值的直方图,并使用Matplotlib库将其绘制出来。
阅读全文