显示直方图python代码
时间: 2023-10-25 17:46:02 浏览: 37
以下是使用Python和matplotlib库绘制直方图的示例代码:
```python
import matplotlib.pyplot as plt
# 输入数据
data = [1, 2, 3, 4, 5, 5, 4, 3, 2, 1, 6, 7, 8, 8, 7, 6]
# 绘制直方图
plt.hist(data)
# 添加标题和标签
plt.title("Histogram")
plt.xlabel("Value")
plt.ylabel("Frequency")
# 显示图形
plt.show()
```
这段代码会将 `data` 列表中的数据绘制为直方图,并添加标题和标签信息。最后通过 `plt.show()` 将图形显示出来。你可以根据需要修改输入数据以及其他绘图参数来适应你的需求。
相关问题
显示图像的直方图python代码
以下是使用Python和matplotlib库绘制图像直方图的示例代码:
```python
import cv2
import matplotlib.pyplot as plt
# 读取图像
image = cv2.imread('image.jpg', 0) # 以灰度模式读取图像
# 计算直方图
histogram = cv2.calcHist([image], [0], None, [256], [0, 256])
# 绘制直方图
plt.plot(histogram)
# 添加标题和标签
plt.title("Image Histogram")
plt.xlabel("Pixel Value")
plt.ylabel("Frequency")
# 显示图形
plt.show()
```
这段代码会读取名为`image.jpg`的图像,并将其转换为灰度模式。然后使用`cv2.calcHist()`函数计算灰度图像的直方图。最后,使用matplotlib库将直方图绘制出来,并添加标题和标签信息。你可以根据需要修改输入图像的文件名以及其他绘图参数来适应你的需求。
直方图均衡python代码
直方图均衡是一种常见的图像增强技术,可以增加图像的对比度和亮度,使得图像更加清晰。下面是一个简单的Python代码实现:
```python
import cv2
import numpy as np
def histeq(image):
# 计算图像的直方图
hist, bins = np.histogram(image.flatten(), 256, [0,256])
# 计算累积分布函数
cdf = hist.cumsum()
# 归一化
cdf_normalized = cdf * hist.max() / cdf.max()
# 计算新的像素值
image_eq = np.interp(image.flatten(), bins[:-1], cdf_normalized)
image_eq = image_eq.reshape(image.shape)
return image_eq.astype('uint8')
# 读取图像
image = cv2.imread('test.jpg', 0)
# 直方图均衡
image_eq = histeq(image)
# 显示原始图像和均衡化后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Equalized Image', image_eq)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
代码中,`histeq()`函数接受一个灰度图像作为输入,计算出其直方图,然后计算出累积分布函数,并对其进行归一化。最后,使用`np.interp()`函数计算新的像素值,生成均衡化后的图像。最后,通过OpenCV库中的`imshow()`函数显示原始图像和均衡化后的图像。