Python:计算相对于另一幅图像不存在的非零像素总数

问题描述

我有2张二进制图像。

  1. 我想找到图像'B'中不存在的非零像素总数,图像'A'中不存在。
  2. 还想计算相对于图像“ 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)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...