【发布时间】:2019-08-06 15:51:57
【问题描述】:
基本上我有两张图片;一张小图片(我称之为图片 1)和屏幕截图。我一直在使用 Python 和 OpenCV 在屏幕上搜索 Image 1 的实例,特别是 cv2.matchTemplate 函数。
据我所知,matchTemplate 要求图像是灰度的。所以为了保证图片是一样的,我把图片1和截图都灰度化,用matchTemplate找实例,然后和原图1对比,保证颜色匹配。
这就是问题所在; OpenCV 有一个 compare 函数,看起来它可以完成最终比较;但图像 1 基本上是一个精灵,并且具有相关的 alpha 信息,并且 compare 似乎只是对两个多维数组进行元素比较。屏幕截图没有 Alpha 通道,因此两者无法进行比较,因为它们的大小不同。此外,我不能只在截屏图像中添加 alpha,因为最终我不是在尝试比较 alpha 通道,而是在比较过程中尝试忽略 with alpha 通道的像素。
所以基本上我想知道; a) 如果可以使用 matchTemplate 或类似的东西来使用彩色图像搜索屏幕,或者 b) 如果已经在某处编写了比较函数,该函数仅比较图像在渲染时可见的图像。
如果您需要我正在讨论的视觉示例,我会创建一个 Imgur 帐户。
【问题讨论】:
标签: python opencv image-processing python-imaging-library