python灰度直方图
时间: 2023-07-02 22:19:00 浏览: 157
要绘制一幅灰度图像的直方图,可以使用Python中的matplotlib库和OpenCV库。
下面是一个简单的例子:
``` python
import cv2
import matplotlib.pyplot as plt
# 读取灰度图像
img = cv2.imread('image.png', 0)
# 计算灰度直方图
hist = cv2.calcHist([img], [0], None, [256], [0, 256])
# 绘制灰度直方图
plt.hist(img.ravel(), 256, [0, 256])
plt.show()
```
在这个例子中,我们首先使用OpenCV库读取了一幅灰度图像。然后,我们使用`cv2.calcHist()`函数计算了图像的灰度直方图。最后,我们使用matplotlib库绘制了这个直方图。
`plt.hist()`函数用于绘制直方图,其中`img.ravel()`函数用于将图像展开为一维数组。`256`表示直方图的横轴分为256个区间,`[0, 256]`表示灰度值的范围。
相关问题
python 灰度直方图
灰度直方图是对图像中每个灰度级出现的频率进行统计的图表。直方图均衡化是一种能够通过调整图像灰度级的分布来增强图像对比度和灰度色调变化的方法。在Python中,可以使用skimage库的exposure模块来计算和展示灰度直方图。
以下是一个示例代码,展示了如何使用skimage库计算和展示灰度直方图:
```
from skimage import data, exposure
import matplotlib.pyplot as plt
# 读取图像
img = data.moon()
# 计算直方图
hist, bins = exposure.histogram(img)
# 绘制直方图
plt.plot(bins, hist, color='red')
plt.xlabel('灰度级')
plt.ylabel('频率')
plt.title('灰度直方图')
plt.show()
```
通过上述代码,我们可以得到图像的灰度直方图。该直方图显示了图像中每个灰度级的出现频率。
python灰度直方图统计及显示
好的,下面是Python灰度直方图统计及显示的代码示例:
```python
import cv2
import matplotlib.pyplot as plt
# 读取灰度图像
img = cv2.imread('image.jpg', 0)
# 统计灰度直方图
hist, bins = cv2.calcHist([img], [0], None, [256], [0, 256])
# 显示灰度直方图
plt.plot(hist)
plt.show()
```
以上代码中,使用OpenCV库中的`cv2.imread()`函数读取一张灰度图像,并使用`cv2.calcHist()`函数统计灰度直方图。最后使用`matplotlib`库中的`plot()`函数显示灰度直方图。
阅读全文