用python写一个做出histogram图的程序
时间: 2023-02-28 20:40:35 浏览: 59
下面是一个使用 Python 绘制直方图的简单代码示例:
```
import matplotlib.pyplot as plt
data = [2, 5, 1, 6, 8, 2, 4, 5, 6, 7, 8, 6, 4, 7, 8, 9, 6, 4]
plt.hist(data, bins=9, edgecolor='black')
plt.xlabel('Data')
plt.ylabel('Frequency')
plt.title('Histogram Example')
plt.show()
```
这里使用了 Matplotlib 库,它是一个 Python 的绘图库,提供了多种绘图方式,包括直方图。在上面的代码中,我们使用了 `plt.hist` 函数绘制直方图,并设置了一些参数,例如 `bins` 表示直方图的条数,`edgecolor` 表示直方图的边缘颜色。
最后使用 `plt.show` 函数显示绘制出的图形。
相关问题
请用python写一个计算图像熵的程序
以下是一个用Python计算图像熵的示例代码:
```python
import cv2
import math
def image_entropy(img_path):
img = cv2.imread(img_path)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
height, width = gray.shape
histogram = [0.0] * 256
for i in range(height):
for j in range(width):
histogram[gray[i][j]] += 1
for i in range(256):
histogram[i] /= height * width
entropy = 0.0
for i in range(256):
if histogram[i] == 0:
entropy -= 0
else:
entropy -= histogram[i] * math.log(histogram[i], 2)
return entropy
img_path = "image.jpg"
entropy = image_entropy(img_path)
print(f"The entropy of the image is {entropy}")
```
代码首先使用OpenCV加载图像,将其转换为灰度图像,然后计算灰度直方图。接下来,对于每个灰度级别,计算它出现的概率,并使用Shannon熵公式计算图像的熵值。最后,返回计算的图像熵并显示结果。
用python写一个画出图像能量分布的图片的程序
好的,我可以为您提供一些关于用Python画出图像能量分布的图片的程序的建议。您可以使用Python的NumPy和OpenCV库来进行这个任务。以下是一个示例程序:
```python
import cv2
import numpy as np
# 读取图片
img = cv2.imread('image.jpg', 0)
# 计算图像的梯度
gx = cv2.Sobel(img, cv2.CV_32F, 1, 0)
gy = cv2.Sobel(img, cv2.CV_32F, 0, 1)
energy = np.sqrt(gx * gx + gy * gy)
# 计算图像的能量分布
hist, bins = np.histogram(energy.flatten(), 256, [0, 256])
cdf = hist.cumsum()
cdf_normalized = cdf * hist.max() / cdf.max()
# 绘制能量分布图像
import matplotlib.pyplot as plt
plt.plot(cdf_normalized, color='b')
plt.hist(energy.flatten(), 256, [0, 256], color = 'r')
plt.xlim([0,256])
plt.legend(('cdf','histogram'), loc = 'upper left')
plt.show()
```
在这个程序中,我们首先读取一张图片并计算它的梯度图像。然后,我们使用NumPy的```histogram```函数计算梯度图像的直方图并计算它的累积分布函数。最后,我们使用Matplotlib库绘制累积分布函数和直方图。
希望这个程序可以帮助到您!如果您有任何其他问题,请随时问我!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)