오토핫키 강좌 9강 - 이미지서치(ImageSearch)

오토핫키 이미지서치는 컴퓨터 화면에서 이미지를 찾아주는 명령어입니다.

클릭을 원하는 부분을 캡쳐해서 이미지과 똑같은 부분을 클릭하게 만들 수 있습니다.



오토핫키 이미지서치를 이용하기 위해서는

컴퓨터 화면을 캡쳐할 수 있는 프로그램이 필요합니다.

캡쳐 프로그램 다운로드 https://gogildong.com/2


이미지서치(ImageSearch)란?

이미지파일을 인식해서 컴퓨터화면에서 이미지를 찾아주는 명령어입니다.


[문법]

ImageSearch, OutputVarX, OutputVarY, X1, Y1, X2, Y2, *TransN *N, ImageFile


[설명]

OutputVarX, OutputVarY : 이미지를 찾았을 때 좌표에 대입되는 변수입니다.

X1, Y1 : 이미지서치 범위의 시작 좌표입니다.

X2, Y2 : 이미지서치 범위의 끝 좌표입니다.

*TransN *N : *TransN는 이미지에서 제거할 색상입니다. N는 오차범위(0~255). 오차범위가 작을수록 이미지를 정확하게 찾을 수 있습니다. 이미지를 찾지 못한다면 오차범위를 올려야 합니다.

ImageFile : 이미지 파일 이름입니다.



※ 이미지서치

"고길동.png" 라는 이미지을 찾았다면 마우스왼쪽을 클릭합니다.


이미지서치(해상도전체).ahk


컴퓨터 해상도 1920X1080 일때

0,0좌표부터 1920,1080좌표까지 이미지탐색을 합니다.


[해석]

F1::     ; F1 누르면 시작합니다.

ImageSearch,vx,vy, 0,0, A_ScreenWidth, A_ScreenHeight, *60 고길동.png

if ErrorLevel=0     ; 이미지를 찾았다면

{

MouseClick, Left, %vx%,%vy%     ; 이미지를 마우스왼쪽 클릭을 합니다.

}

if ErrorLevel=1     ; 이미지를 찾지 못했을 경우

{

MsgBox,인식을 못한다 이미지바꿔라     ; 메시지박스를 출력합니다.

}

F2::Pause     ; F2 누르면 일시정지 & 재시작

F3::ExitApp     ; F3 누르면 오토핫키 종료



※ if ErrorLevel 대해서

찾았을 경우

if ErrorLevel=0


못찾았을 경우

if ErrorLevel=1


오류가 생긴 경우

if ErrorLevel=2



※ 컴퓨터 좌표 이해하기 (0,0, A_ScreenWidth, A_ScreenHeight)

0,0좌표부터 컴퓨터해상도까지 화면전체에서 이미지탐색을 합니다.


다른창을 열었을 때 창의 0,0좌표부터 좌표끝 부분까지 이미지탐색을 합니다.


활성 창의 화면전체를 스캔해서 이미지를 찾아내는데 화면에 동일한 이미지가 여러개 있을 때 내가 원하는 이미지를 찾지 못하고 다른 동일이미지를 찾아낼 수 있어서 이미지 찾는 범위를 만들어주면 해결됩니다.



※ 이미지서치 빠르게 잘 찾아낼 수 있게 만들기

예를 들어 로컬디스크를 클릭하게 만들어보겠습니다.

① "로" 글자를 캡쳐합니다.


② "로" 시작좌표와 끝좌표


③ 이미지를 찾으면 "로" 글자를 클릭합니다.

이미지를 못 찾으면 메세지박스가 출력됩니다.

이미지서치(좌표지정).ahk





※ 이미지서치 여러개와 키보드 누르게 만들기

이미지파일이 많을 때 폴더를 만들어서 경로를 지정해주면 편합니다.


게임시작 이미지를 찾으면 클릭이후 키보드가 작동될 수 있도록 하는 등, 다양하게 연구해서 만들어보세요.

예를 들면 if ErrorLevel=1를 이용해서 메세지박스말고 키 입력을 넣을 수도 있습니다.




※ 투명한 배경이거나 배경색 때문에 이미지서치가 잘 안될 때

예를 들어 배경을 제외하고 글자만 클릭되게 만들어 보겠습니다.

1. "로" 글자를 캡쳐합니다.


2. "로" 흰색배경을 그림판이나 포토샵으로 다른색깔로 바꿔줍니다.

저는 빨간색으로 바꿨습니다.

          


3. 빨간색을 제외하고 "로" 글자만 클릭하게 됩니다.


*Trans색깔은 색깔을 투명화시켜서 검색되지 않도록 합니다.

*TransWhite *FFFFFF *Trans0xFFFFFF 이미지파일에서 흰색를 제외하고 검색합니다.

*TransBlack *TransFFFF00 *Trans0xFFFF00 이미지파일에서 검정색를 제외하고 검색합니다.

*TransRed *TransFF0000 *Trans0xFF0000 이미지파일에서 빨간색을 제외하고 검색합니다.





※ 좌표와 색깔코드 보는 방법

오토핫키 실행하면 작업 표시줄에 H 아이콘 생깁니다.


H 오른쪽 마우스 클릭해서 Window Spy 들어갑니다.


Window는 X좌표, Y좌표

Color에서 색깔코드를 볼 수 있습니다.