关于AutoHotkey的ImageSearch变化色调及其校准

时间:2014-04-24 21:16:47

标签: autohotkey pixel-shader

我的问题与以下AutoHotkey功能相关(您可能会发现here):

ImageSearch, OutputVarX, OutputVarY, X1, Y1, X2, Y2, ImageFile

根据其目的,此功能在屏幕区域搜索图像。

ImageFile输入开始,允许使用可选参数:

  

* n (变体):指定 n 0到255之间的数字(包括0和255),以指示强度的任一方向允许的变化深度数每个像素颜色的红色,绿色和蓝色分量。例如,* 2将允许两种变化。如果图像的颜色略有不同或者ImageFile使用的格式(如GIF或JPG)无法准确表示屏幕上的图像,则此参数很有用。如果指定255个变体色调,则所有颜色都将匹配。默认值为0 shades。

到目前为止,我总是被迫“校准”该参数进行多次试验,直到找到所选图像:太高的值将一直返回ErrorLevel = 0,而太低的值将始终返回ErrorLevel = 1返回ImageSearch,当然这两个都不是您对脚本的期望。

我的问题是:找到 * n 的“正确”值的最准确有效的方法是什么,即 * n 的最小值i = 1 Loop { ImageSearch, OutputVarX, OutputVarY, 177, 645, 1150, 686, *%i% C:\...\MyImage.png i := i + 1 ;MsgBox, %i% if (ErrorLevel = 0) { MsgBox, %i% break } } Return 在搜索过程中以非常高的置信度(99%或更高)不会失败?

尝试在屏幕上找到以下图像:

enter image description here enter image description here

考虑以下情况:这些不是出现或消失的图像:它们只是修改它们的亮度(上面附带的是“暗”版本);这意味着太高的 * n 值当然会使脚本始终找到它们,即使它们的亮度很高。

根据我的试验, * n 的值从100到125非常好,但如果我不知道如何准确校准该值,我无法确定。

我试图制作像这个脚本

这样的东西
{{1}}

但这似乎不起作用。

1 个答案:

答案 0 :(得分:1)

我做了一个大约2年前完成此功能的功能

我称之为VariemClick

我在flash游戏中找到了多个已建成的建筑物。

为什么?因为在开始时,我使用的图像变化,在Flash游戏中找到了图像,但它只工作了一次或几次然后下次没什么,所以我试图设置使用过的变化,只是让它找不到第一个图像,所以我需要一些方法来先,使用低变化然后多一点等等,但如果它有两个高,它只是发现任何事情,所以最大变化。

现在功能将从低位开始,然后在给定的最小/最大值内上下设置允许的变化,直到设定的尝试次数,然后给出一个列表,其中包含有关找到的图像和使用的变化的信息。

在此处找到它:http://www.autohotkey.com/board/topic/79607-variemclick-findnclick-images-multiple-times-in-flash-games/