需要您的帮助。 例如我hv游戏。它是500x500像素。显示随机图片。当有一副微笑的狗的特定图片时,您需要在1秒钟内按空格键。
让我们假设我们已经在记忆中准备了那只微笑的狗的特殊图像。(从现在开始,我们将其称为目标图像)剩下的就是将扫描图像与目标图像进行比较。因此,我们需要:实时(每秒十次)扫描此500x500区域,并将扫描结果与目标图像进行比较,然后根据比较结果进行一些处理。 我需要做到尽可能快,可靠和高效(就计算能力而言)。
我还需要能够随游戏一起移动窗口,因此它不会阻止屏幕捕获(我需要将屏幕捕获锚定到游戏窗口,而不是整个屏幕)
那么您对以最快,最可靠和最有效的方式处理此程序的扫描和比较阶段有何建议?
/ * 编辑:我认为我需要使用OpenCV进行屏幕扫描和比较。但是,从速度和高效的计算能力分配角度来看,哪种语言更可取? C ++还是Python? * /
此外,我还需要该程序在将来的Windows和Mac OS上运行,目前仅是Windows。
请提前
/ * 编辑:你们如何看待这种方法: 让我们的扫描结果图像为“ X”,让我们的目标图像(我们已经准备好的图像又称为“微笑的狗的图像”,并希望我们的X与该图像相同)为“ Y”。 首先,我们将Y从500x500缩小到50x50,然后将X从500x500缩小到50x50,然后将两个图像都转换为灰度。然后运行归一化平方和的差异,甚至归一化交叉相关,以检测X和Y之间的相似性。您如何看待?它会比我的建议快吗?
{ 将捕获的图像下采样到50x50像素。然后逐个比较每个第25个像素(如果第一个像素与目标图像中的像素相同-继续下一个像素。如果不相同-等待下一个扫描事件并再次扫描第一个像素)以降采样目标图像。如果所有像素都相同-那么我们就很好了,我们找到了确切的图片。 } * /