본문 바로가기

오토핫키 강좌

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

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

안녕하십니까?


이번 오토핫키 강좌 포스팅에서는 이미지서치(ImageSearch) 에대해서 알아볼려고합니다,

이미지서치 란, 영어단어 그대로 Image(사진) 을 Search(찾다) 라는 뜻으로, 내가 원하는 이미지를 화면상에서 찾는다는 뜻입니다~

오토핫키에서 가장 강력하고 좋은 함수라고 말해도될정도로 좋은겁니다, 왜냐하면 이미지서치는 정말 광범위하게 여러곳에 사용되고있거든요~

게임 매크로, 사냥 매크로, 장사 매크로 등등 게임에 정말 많이쓰이긴 하지만, 그래도 다른곳에서도 쓰이는 아주 유용한 기능입니다


그렇다면은 바로 이미지서치에대해서 알아보도록하겠습니다!

먼저, ImageSearch 함수의 원형입니다


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


이건데요, 처음에는 이게 정확히 뭘 뜻하는건지 모르실꺼에요 ㅠ 저도 원형은 몰라가지고

인터넷에서 다른분들이 직접 사용한 스크립트에서 참조해서 썻습니다 ㅠㅠ


예시로 이미지서치 하나 써드리도록하겠습니다,


ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight,  Shop.bmp


차근차근 하나씩 설명드리겠습니다, 가장 중요한 부분은 vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight,  Shop.bmp 이 부분들입니다

vx, vy 부분은 변수의 이름을 정하는곳입니다, 원하는대로 바꾸셔도됩니다


0, 0 는 이미지를 검색할 범위의 처음부분을 설정하는 부분입니다, 0, 0 으로하시면 xy 좌표 0 인곳에서 서치를 시작합니다


A_ScreenWidth, A_ScreenHeight 부분은 이제 0, 0 에서 범위를 정했으면은 이제 마무리를 어디 좌표까지할껀지 설정하는겁니다,

만약에, 해상도 100 x 100 부터 500 x 500 까지 서치를하고싶다면 100, 100, 500, 500 적으시면됩니다

A_ScreenWidth 는 해상도 전체를 이미지서치하겠다는 뜻입니다


Shop.bmp 는 이제 서치할 이미지의 파일명을 설정하는 부분입니다, 스크립트와 이미지파일이 같은 폴더내에있어야합니다

예를들어서 이미지 파일이 .png 형식으로 이름이 image 이라면 image.png 이렇게 적으시면됩니다~


이상으로 오토핫키 이미지서치의 형식에대해서 알아봤구요! 예시 스크립트 몇개를 보여드리겠습니다


F2::


loop, {

ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight,  Shop.bmp

if (errorlevel = 0)

{

MsgBox, 이미지서치 성공!

Break

}

if (errorlevel = 1)

{

MsgBox, 이미지서치 실패!

Break

}

}


이 스크립트를 해석해보자면 실행시키고 F2키를 누르시면은 Shop.bmp 라는 이미지를 모니터 xy좌표인 0, 0 부터

전체화면까지 Shop.bmp 를 찾아서 찾으면은 메시지박스로 '이미지서치 성공!' 이라는 창을 띄우고

못찾을시 '이미지서치 실패!' 라는 창을띄웁니다

그리고 이미지서치를하고나서 할 행동은 조건문으로하셔야하는데요, if문과 errorlevel 를 붙여서 if errorlevel 쓰시면됩니다,

if errorlevel = 0 이면 찾았을시, if errorlevel = 1 이면 못찾았을시, if errorlevel = 2 는 오류가 생겼을때, 입니다


실행해서 이미지서치를 성공적으로 찾아졋다면은 이미지서치 성공! 이라는 메세지박스가 뜨구요,


이미지서치에 실패했다면 이미지서치 실패! 라는 메세지박스가 뜨게됩니다,

이렇게해서 여러분들이 직접 스크립트를 수정하시면서 이미지서치에대해서 연구하고 배워보면됩니다

저도 물론 처음에는 이해가 안되고 어려웠지만 인터넷에 예시와 만들어진 스크립트 보면서 더욱 능숙해졌습니다!!!


덤으로, 오차범위 라는것도있는데요, 오차범위라는것은 이미지의 오차를 설정해주는것으로서 서치하는 이미지가 약간 다르면은

오차범위를 설정해줌으로서 이미지서치를 더욱 최적화시켜줄수있습니다

오차범위를 설정하는방법은 이미지명 뒤에 곱하기 표시인 * 하시고 숫자정하시면됩니다,

예) ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *30 Shop.bmp

참고로 오차범위의 값은 과유불급 입니다, 너무 높게 설정하시면은 이미지서치에 오류가 생겨서 아무 이미지나 참으로 인식할수있으니

주의 하시길 바랍니다^^



만약에 실행을하시고 스크립트에서 설정하신 실행 키를 눌러도 아예 반응이없거나, 무반응이시면 해당 스크립트를 컴파일하시고

컴파일하신 파일을 마우스 우클릭하시면은 관리자 권한으로 실행 이있습니다, 이렇게 관리자권한으로 실행하면은 99% 확률로 실행되실껍니다^^


이상으로 오토핫키 이미지서치(ImageSearch) 강좌 포스팅을 마치구요!

이미지서치를 배움으로해서 포털 사이트 자동 로그인, 업무용 반복작업, 매크로 등등 여러가지에 유용하게 쓰시길바랍니다!

다만, 이미지서치의 단점으로는 동일한 이미지가 화면에 여러개 존재하고있을때 자기가 순서를 정하기가 초보자에게는

조금 어렵다는 단점이있습니다만, 그래도 단점보다는 장점이 훨씬많고 좋습니다, 단점 따위는 실력으로 커버칠수있구요~! ㅎㅎ