【发布时间】:2018-05-11 04:10:13
【问题描述】:
我正在尝试此代码,但它不返回零[x][y] 的总计数,在这种情况下它应该返回 5 但它全部显示 255 五次。
此代码用于连接组件,零是白色像素的一个组件
预期输出应该是:5
但我得到的是:
255
255
255
255
255
for (x, y) in labels:
component = uf.find(labels[(x, y)])
# Update the labels with correct information
labels[(x, y)] = component
path='imagesNew/13/'
if labels[(x, y)]==0:
Zero[y][x]=int(255)
Z=Zero[y][x]
print Z
if Z==5:
print Zero[y][x]
Zeroth = Image.fromarray(Zero)
Zeroth.save(path+'Zero'+'.png','png')
【问题讨论】:
-
请添加您预期的输入和输出。目前,这个问题还不清楚
-
请包含周围的代码,以便我们了解正在发生的事情的更多上下文。
-
你把它设置为
255,然后立即检查它是否是5...永远不会这样? -
您应该对整个图像求和以计数。例如。将像素更改为 255 后,在 for 循环之外,您只需要
np.sum(Zero)/255。或者您可以创建一个计数器zero_counter并在每次标签像素为 0 时递增。 -
如果 8 个组件的条件每个条件都会创建图像,我总共有 8 个图像上面的代码正在为一个组件创建一个图像,所以我想如果在一个图像中找到 5 个像素,现在丢弃我如何编辑上面的代码
标签: python numpy opencv image-processing python-imaging-library