问题描述
我有2张二进制图像。
- 我想找到图像'B'中不存在的非零像素总数,图像'A'中不存在。
- 还想计算相对于图像“ B”从图像“ A”消失的非零像素总数
这是一个图形示例 (Each white dot represent a pixel)
就我而言,问题1应该为2。 谢谢
解决方法
使用PIL导入图像将图像转换为numpy数组,然后使用numpy / pandas逻辑获取答案或将其转换为列表,并使用下面的我的逻辑:
import numpy
from PIL import Image
'''
pic1 = Image.open("foo1.jpg")
pic2 = Image.open("foo2.jpg")
a1 = numpy.array(pic1)
a2 = numpy.array(pic2)
pixel1 = a1.tolist()
pixel2 = a2.tolist()
'''
mat1 = [
[0,1],[0,1,0],[1,0]
]
mat2 = [
[1,1]
]
result = []
for rownum,row in enumerate(mat1):
addrow=[]
for ind,item in enumerate(row):
if mat1[rownum][ind]==0 and mat2[rownum][ind]==1:
addrow.append("question_1")
elif mat1[rownum][ind]==1 and mat2[rownum][ind]==0:
addrow.append("question_2")
else:
addrow.append("_")
result.append(addrow)
for r in result:
print(r)