Autohotkey无法识别分辨率变化下的图像

时间:2012-06-28 09:01:05

标签: autohotkey image-recognition

我创建了一个autohotkey脚本,通过启动应用程序并单击脚本提到的图标来自动执行手动过程。该脚本在一台计算机上工作正常,该计算机具有更高的重新生成但无法在具有不同重新生成的其他计算机上执行。你有什么建议以其他方式锻炼。此应用程序没有任何键盘快捷键,只能在鼠标点击时执行。我希望会有一个回复。

3 个答案:

答案 0 :(得分:1)

大多数应用都有Alt快捷键,你试过吗?你可以尝试重新调整鼠标点击x,y按照resoulution

答案 1 :(得分:0)

以下是我曾经解决过的问题。一开始,我要求用户捕捉每个图标的鼠标位置,然后存储这些坐标供以后使用。

Hotkey, LButton, off ; Make sure that the Left Mouse button inactivator is turned Off

Lbutton:: ; Disable the Left Mouse Button

SplashImage , %A_ScriptDir%/Images/YourScreenShot.jpg,,, Screen shot, Icons     ;   Show Screenshot of what the user needs to do
SoundBeep 1000, 300 ; wake up user


SplashTextOn, 200, 100, Script Preparations, Please Click on Icon1. ; Show new instructions to the user
WinMove, Script Preparations,, (A_ScreenWidth/2)-150, (A_ScreenHeight/2)-200 ; Move the text instructions window with the name "Script Preparations" 150 pixels right of the center of the screen and 200 pixels up
SoundBeep 600, 300 ; Wake up user
; Here the left mouse button will temporarily be disabled (to prevent actions)
Hotkey, LButton, on ; Turn Left Mouse Button OFF, to capture the Mouse click
KeyWait, LButton, D ; Wait for LeftMouseButton click Down
MouseGetPos, xpos1 ,ypos1 ; Store the position where the mouse was clicked (Icon1)

对所有使用的图标重复此操作。

然后,如果你想点击icon1,请使用:

MouseClick, left, %xpos1% ,%ypos1% ; Perform the mouse click on the captured mouse location

答案 2 :(得分:0)

:::解释问题::: 请阅读以了解问题。

让我们开始简单一点,你就可以在COMPUTER_A上创建自动键盘脚本了,你可以打印_屏幕/捕捉你所有的图像。在COMPUTER_A上调整它们的大小,但是当您将文件传输到COMPUTER_B时,image_search也找不到匹配项,或者根本没有找到匹配项,为什么会这样?

COMPORTER_A和COMPUTER_B是两台完全不同的计算机,如果将颜色模板从COMPUTER_A复制到COMPUTER_B或任何计算机上,则会出现两个不同的计算机,每个计算机都安装了不同的颜色模板。总体问题是不同的颜色模板不允许image_search逐个像素地找到匹配导致两个不同计算机之间的差异。这就是为什么最好将颜色模板从computer_A复制到另一台计算机,以使图像搜索正常工作。

:::查找颜色模板:::

在Win7上 - >控制面板 - >色彩管理 - >我很容易找到它,因为它是我的计算机显示器附带的颜色模板,但是您的查找可能需要更多的工作。 ICC配置文件通常是打印机,ICM配置文件是显示驱动程序/颜色模板为您的计算机屏幕。一旦您在COMPUTER_A上找到当前正在使用的显示配置文件,就可以在计算机上找到它。将其复制到您的自动键方向以便将来轻松访问,以便以后可以使用autohotkey脚本将其复制到computer_B或computer_Z。右键单击ICM一旦复制到computer_B并单击安装&您可能需要重新启动计算机才能使所有更改生效。

::: Results :::

一旦计算机_A的颜色模板安装在另一台计算机上,image_search应该与它在计算机_A上的工作方式完全一致,我亲自在XP,Vista和iPad的6台不同计算机上测试了结果。 Win7,总是有100%的成功率,我相信这是对其他计算机的image_search问题的通用解决方案/修复。

我提醒那些有麻烦的人要耐心等待。你对“Windows颜色配置文件”的研究是否公平,使这个解决方案适合你,我只是预见到有人意外地找到/复制了错误的ICM / ICC配置文件。另外要注意的是,如果有人安装了像adobe photoshop /多媒体/开发软件这样的摄影软件/开发软件,有时它们会带有自己的ICM / ICC配置文件,并且会覆盖现有的配置文件,导致image_search再次成为问题。只需重新安装默认的ICC / ICM配置文件即可解决该问题。

:::结论:::

我希望这对某人有帮助,对所有的写作感到抱歉,但我认为最好与大家分享我的全部发现,因为它可能会变得复杂。