我在 NumPy 数组中有两张图像,一张是没有字符的游戏,另一张是有字符的游戏,然后比较这两个图像以获得一个新的 NumPy 数组,其中仅包含与参考值不同的像素,实质上删除了带有字符的图像的背景。
下面的代码是我关于如何做到这一点的想法,但它不起作用,我假设它可以优化为不使用 for 循环。它不起作用的原因是它抛出一个错误说 ValueError:无法将输入数组从形状 (576,3) 广播到形状 (3,) 出现在这行代码中:result[i] = y
import cv2 as cv
import numpy as np
class filterImages:
def subtractImage(self, bg, image):
bg = cv.imread(bg)
image = cv.imread(image)
result = np.array([])
i = 0
for x, y in zip(bg, image):
result.resize(i+1,3)
if (x == y).all():
z = x-y
result[i] = z
else:
result[i] = y
i = i + 1