[Autohotkey][13] 오토핫키의 꽃 ImageSearch - 2
안녕하세요. 쿠과자입니다.
오늘은 저번 글에 이어서 이미지서치에 대해서 좀 더 자세히 알아보고자합니다.
이번에는 약간 심화 수준이기때문에.. 이미지 서치에 대해서 깊게 알고싶으신분들은
꼭 정독해주시길 바랍니다.
색이 다른 이미지 찾기
어제의 위 예시 이미지에서
약간 색이 다른 삼각형의 경우 상황에 따라 서치가 가능하다고 서술했었습니다.
이 경우에는 오차 범위 라는 옵션을 통해 이미지서치가 상황에 따라 가능한데요.
Imagesearch,FoundX,FoundY,X1,Y1,X2,Y2,*n 찾을이미지.png
위처럼 이미지파일 앞에 *(별)을 붙이고 값을 넣어주면 됩니다.
최대 1부터 255까지 넣을수 있고, 저같은 경우 일반적으로 30~50정도 넣어주는 편입니다.
가끔식 그래픽 드라이버가 다른경우 색이 다른 경우가 있기때문에..(안티 엘리어싱 때문입니다.)
이런 경우 최대 색 범위값을 150정도까지 주기도 합니다.
참고로, 색 범위값과 서치 범위가 넓어질수록
추후에도 알려드릴테지만 서치 속도가 기하급수적으로 커지니 조심해주세요.
한번 위 이미지에다가 오차 범위를 맞춰놓고 테스트를 해봅시다.
저같은 경우 이 사진을 따서 이미지서치를 돌려보겠습니다.
F6::
imagesearch,xx,yy,0,0,A_screenwidth,A_screenheight,*150 test02.png
if(ErrorLevel = 0)
{
Mouseclick,left,xx,yy
msgbox,found!
}
return
색깔이 약간 달라도, 정상적으로 인식하는걸 볼 수가 있습니다.
위와 같이 찾을려는 이미지는 흰 배경이나 다른 배경에서 땃는데,
정작 찾으려는 이미지는 외곽선 부분이나 찾으려는 부분은 확실히 있는데,
배경색이라던가 뭔가 방해되는 요소(?) 들이 있어서 힘든 경우가 생길겁니다.
이럴때는 위에서 설명한 오차 범위(흔히 말하는 색값)을 넣어서 어느정도 커버가 될...수도있지만
이런 경우에는 완벽한 부분을 제외한 색을 투명색으로 지정해서
아예 나머지를 다~배제하고 그 부분만 서치하도록 할 수도 있습니다.
Imagesearch,FoundX,FoundY,X1,Y1,X2,Y2,*trans(색깔) 찾을이미지.png
위의 색깔 부분에 배경색이 될 색깔만 들어가면 됩니다.
예를 들어 흰색이면 *transWhite가 될거고,
검정색이면 *transBlack이 됩니다.
그 외의 색의 경우 transFFAABB 이런식으로 색상 코드를 집어넣으면 됩니다. RGB 순서에요.
참고로 이런 경우 이미지는 무조건 PNG 또는 GIF 형식이어야 합니다.
BMP의 경우 투명색을 지원해주지 않기 때문입니다.
한번 실제로 테스트해봅시다.
방법은 마찬가지로 위와 똑같이 이미지를 땁니다.
그 다음 딴 이미지의 배경색을 한 색으로 통일해서 저장해주세요
저같은경우 위처럼 이미지를 땃습니다.
이 경우 배경색이 하얀색입니다.
F6::
imagesearch,xx,yy,0,0,A_screenwidth,A_screenheight,*transwhite test03.png
if(ErrorLevel = 0)
{
Mouseclick,left,xx,yy
msgbox,found!
}
return
배경색이나 기타 다른게 포함되어있지만,
정상적으로 인식되는 모습니다.
추가적인 색값도 따로 필요없습니다.
- 서치할려는 화면의 크기
- 찾을려는 이미지의 크기
- 범위 오차(색값) 옵션
- Trans 옵션
- 파일 확장자
어떤가요? 오늘은 나름 노력해서 포스팅을 해봤는데...
이미지 서치에 대해서 제가 아는 최대한의 대답을 해드렸습니다.
만약 추가적인 이미지서치에 대해서 더 알고싶으시다면
https://autohotkey.com/docs/commands/ImageSearch.htm 이 글을 참고해보시길 바랍니다.
그 외에도 더 깊이 이미지서치를 활용하고싶다면...
Gdip (Gdi+, GdiPlus) 라는 추가적인 라이브러리를 이용하면 가능할겁니다.
하지만 이는 저도 잘 모르는 세계이기때문에.. 추후에 가능하면 포스팅을 하고싶지만 할수 있을진 의문이네요.
어쨋든, 읽어주셔서 감사합니다!
↓ 공감♥ 버튼을 눌러주시면
블로거에게 힘이 됩니다!
'프로그래밍 > AutohotKey' 카테고리의 다른 글
[Autohotkey][14-외전] 오토핫키 완벽분해 - PixelGetColor (0) | 2019.04.16 |
---|---|
[Autohotkey][14] 오토핫키 완벽분해 강좌 - PixelSearch 픽셀서치 (0) | 2019.04.15 |
[Autohotkey][12] 오토핫키의 꽃 ImageSearch - 1 (3) | 2019.04.08 |
[Autohotkey][11] 오토핫키 완벽분해 강좌 - 조건문 if (0) | 2019.04.06 |
[쉬어가기] 오토핫키 완벽분해 강좌 - 주석 (1) | 2019.04.03 |