python统计二值图像中每列像素不为零的点的个数,绘制成直方图
时间: 2024-03-13 20:44:28 浏览: 52
绘制图像的像素直方图
您可以使用Python的Pillow库和Matplotlib库来实现这个任务。以下是一个示例代码,可以帮助您开始:
```python
from PIL import Image
import matplotlib.pyplot as plt
# 读取图像
img = Image.open("binary_image.png")
# 获取图像大小
width, height = img.size
# 初始化每列像素不为零的点的个数列表
column_count = [0] * width
# 统计每列像素不为零的点的个数
for x in range(width):
for y in range(height):
pixel = img.getpixel((x,y))
if pixel != 0:
column_count[x] += 1
# 绘制直方图
plt.bar(range(width), column_count)
plt.show()
```
说明:
1. 首先,我们使用Pillow库中的Image模块读取二值图像。
2. 然后,我们获取图像的宽度和高度,并初始化每列像素不为零的点的个数列表。
3. 接下来,我们遍历图像的每个像素,并统计每列像素不为零的点的个数。
4. 最后,我们使用Matplotlib库中的pyplot模块绘制直方图,并显示它。
您需要将上述代码中的“binary_image.png”替换为您自己的二值图像的文件路径。
阅读全文