Python:我想创建一个条件来检查二进制图像数组并从中心找到零行。如果中心没有零行,则打印语句“零行不可用”......!
图片:图片
Array= [[255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255]
[255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255]
[255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255]
[255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255]
[255 255 255 255 0 0 0 0 0 0 255 255]]
我试过的:
img = np.array(img)
moment = cv2.moments(img)
X = int(moment ["m10"] / moment["m00"])
Y = int(moment ["m01"] / moment["m00"])
print(X,Y)
u = X ,Y
imagesE = cv2.findNonZero(u)
print(imagesE)
这些是零行。我想通过条件从数组的中心找到这些零行......!
[[
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]
然后我只需使用布尔运算符“!” 与cv2.findNonZero
. 但是没有找到需要的输出。