我想得到的指标,目标是位于使用numpy背景图像。每个图像的背景颜色实际上是可变的,所以除了颜色的squaure,其他颜色(在这种情况下,黑色油漆),包括内部的广场将有所不同。我不知道如何处理这一点,因为我不熟悉numpy。
import numpy as np
#changing to grayscale to have 2d array
output = cv2.imread('backgroundimage.png', cv2.IMREAD_GRAYSCALE)
output1 = cv2.imread('target.png', cv2.IMREAD_GRAYSCALE)
我试图将图像更改为2D阵列,因为我认为它可能更容易接近。
a = np.where(output==output1)
显然,这对二维或三维不起作用。我想要的输出将是这样的
desired output = (108, 23) (x and y coordination of where its found)
那我怎么能做我想做事?
1条答案
按热度按时间ctehm74n1#
您必须使用滑动窗口方法,并确保与目标进行比较的每个窗口的所有像素都相等。您可以使用
sliding_window_view
和all
来实现这一点。您可以通过将目标中不希望匹配的任何值设置为True来屏蔽这些值:地点: