【发布时间】:2019-06-21 06:10:06
【问题描述】:
从使用 PIL 模块创建的两个图像im1 和im2 开始,我们有相应的黑白图像,
bw_im1 = im1.convert('1')
和
bw_im2 = im2.convert('1')
bw_im2 和 bw_im2 的每个像素都是 0 或 256。
假设bw_im2 和bw_im2 的大小相同。
你如何对所有相应的条目进行异或运算,然后将它们相加 起来了吗?
我的工作
我编写了以下存根/概念证明 Python 程序,但担心使用代码(解包/翻译过来)会很复杂。可能有一种更直接有效的方法来处理这两个图像中的像素。
import numpy as np
M = np.zeros((2, 3))
M[0,2] = 255
M[1,0] = 255
M[1,1] = 255
print(M)
N = np.zeros((2, 3))
N = np.zeros((2, 3))
N[0,2] = 255
N[1,1] = 255
N[1,2] = 255
print(N)
list_M = list(M)
list_N = list(N)
xor_signal = 0
for row in range(0, len(list_M)):
for col in range(0,len(list_M[row])):
xor_signal = xor_signal + int(bool(list_M[row][col]) != bool(list_N[row][col]))
print(xor_signal)
输出
[[ 0. 0. 255.]
[255. 255. 0.]]
[[ 0. 0. 255.]
[ 0. 255. 255.]]
2
【问题讨论】:
-
嗯?您提到的 2 张图片和 PIL 都没有出现在您的代码中?
-
@MarkSetchell 在 MyWork 下更新以使其更加清晰 - 该程序是“概念证明”。您是说最好的办法是编写一个可以“插入”的成熟程序?