修改为每行像素点,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()
时间: 2024-03-13 07:44:31 浏览: 141
好的,以下是修改后的代码,它会统计每行像素不为零的点的个数,并绘制成直方图:
```python
from PIL import Image
import matplotlib.pyplot as plt
# 读取图像
img = Image.open("binary_image.png")
# 获取图像大小
width, height = img.size
# 初始化每行像素不为零的点的个数列表
row_count = [0] * height
# 统计每行像素不为零的点的个数
for y in range(height):
for x in range(width):
pixel = img.getpixel((x, y))
if pixel != 0:
row_count[y] += 1
# 绘制直方图
plt.bar(range(height), row_count)
plt.show()
```
这个代码与之前的代码唯一不同的地方是,它是在嵌套的循环中先遍历了图像的每一行,然后再遍历每一列。这样我们就可以统计每行像素不为零的点的个数了。
阅读全文