修改程序,将判断条件改为不为黑色点img = cv2.imread('1.tiff', -1) # 获取图像大小 height, width = img.shape[:2] # 遍历每一列,统计像素值大于0的点的个数 histogram = np.zeros(width) for i in range(width): count = 0 for j in range(height): if img[j, i][0] != 0 or img[j, i][1] != 0 : count += 1 histogram[i] = count
时间: 2024-03-13 16:47:51 浏览: 151
好的,你的修改完全正确!这个代码可以读取.tiff格式的黑白图像,遍历每一列,统计像素值不为黑色的点的个数,然后将这些点的个数绘制成直方图。
下面是修改后的代码:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取tiff格式的黑白图像
img = cv2.imread('1.tiff', -1)
# 获取图像大小
height, width = img.shape[:2]
# 遍历每一列,统计像素值不为黑色的点的个数
histogram = np.zeros(width)
for i in range(width):
count = 0
for j in range(height):
if img[j, i][0] != 0 or img[j, i][1] != 0:
count += 1
histogram[i] = count
# 创建空白图像
fig, ax = plt.subplots()
# 绘制直方图
ax.plot(range(width), histogram)
# 显示图像
plt.show()
```
在这个示例中,我们首先使用OpenCV库读取了一张.tiff格式的黑白图像,并获取了图像的大小。然后,我们遍历了每一列,并统计了每一列中像素值不为黑色的点的个数。最后,我们使用Matplotlib库绘制了直方图,并将其显示出来。
希望这个示例能够帮助到你!如果你还有其他问题,可以继续问我。
阅读全文