매크로

2021.09.21 10:53

오토핫키 픽셀서치

조회 수 1077 추천 0 댓글 3

픽셀서치란?

픽셀(Pixel) 이란건 다들 아시다시피 컴퓨터의 한 점을 의미합니다.

픽셀서치(PixelSearch)는 말 그대로 한 픽셀의 색을 검사해

일정 색 범위 안에 들어가는 픽셀을 찾아내는 명령어입니다.


이미지서치와 굉장히 유사하기때문에(점 1개인 이미지서치일려나요? ㅎㅎㅎ...)

이미지 서치와 유사하게 구현됩니다.


Pixelsearch,xx,yy,X1,Y1,X2,Y2,0x색상 코드,오차범위,Fast RGB


X1, Y2 과 X2, Y2는 이미지서치때처럼 시작 X1, Y1좌표와 끝 X2, Y2좌표를 의미하고

색상 코드의 경우 색의 RGB값을 의미합니다. 이는 PixelGetColor라는 함수나, Spy를 통해 알 수 있습니다


오차범위의 경우 이미지서치와 마찬가지로 얼마나 다른 색상까지를 인식해주냐의 범위입니다.


99A020345CB495832A


저 부분이 바로 Color 부분입니다.

사진의 경우 CCECFF 이니 0xCCECFF 로 쓰면 되겠네요.


뒤의 Fast와 RGB의 경우는 추후에 설명하도록 하겠습니다.



99DCAB3B5CB493F310


저같은 경우 바탕화면에 있는 크롬 아이콘을 픽셀서치 해보겠습니다.


9908C5395CB4955130


Spy 프로그램을 켜고, 크롬의 빨간색 부분에 마우스 포인터를 올리니

Color가 DD4F42라고 알려줍니다.

이를 기억해 줍시다. 또한 저같은 경우 바탕화면이므로, 서치할 좌표(마우스 위치) 또한 알아두겠습니다.


990F763B5CB493F33A


픽셀서치 값을 입력해주고, 범위 또한 입력해 코드를 짠 후 테스트 해보겠습니다.



991977395CB4940805


위와 같이 정상적으로 빠르게 인식하는것을 알 수 있습니다.



99336E3B5CB493F601


픽셀 서치 공식 문서를 보면, ColorID 부분이 원래는 RGB(Red-Green-Blue) 순서가 아닌 BGR(Blue-Green-Red) 순서로 설정을 해야한다고 써져 있습니다.


하지만, 위의 Spy로 보면 색상이 자동으로 RGB 순서로 캡처되므로, 뒤의 Mode 에 설정을 해줘

강제로 RGB 순서로 설정을 하도록 해준겁니다.


참고로 PixelGetColor를 통해서 색상값을 가져오는 경우에는

PixelGetColor의 경우 디폴트 설정이 BGR이기 때문에 픽셀서치할시 BGR옵션(즉 RGB를 지운 상태)에서 해야합니다.



다음으로, Fast옵션의 경우에는, 일반 픽셀서치와 다른 알고리즘(가로로 픽셀서치가 하는게 아니라 세로 순서로 픽셀서치하고... 그 외에는 차이를 잘 모르겠네요 ㅎ;;

자세한 것은 해당 사이트를 참고해보시길 바랍니다.

https://autohotkey.com/docs/commands/PixelSearch.htm


솔직히 말하면 픽셀서치의 경우 그다지 명시성이 없고,

공통점이 되는 점이 너무 많을 가능성이 존재하기 때문에 저도 주로 이미지서치를 사용하지, 픽셀서치를 사용하는 편은 아닙니다.


하지만, 빠른 속도를 필요로 하거나 완전한 정밀도를 요구하는 작업이라면 픽셀서치를 고려해보는 것도 나쁘지 않으리라 생각됩니다.

아무쪼록, 유용한 편을 선택하셔서 프로그래밍하시길 바랍니다.

모두 즐거운 추석 보내세용~-~



  • 비듀맨 2022.07.20 20:45

    와...!! 이거 저한테는 진짜 필요하던건데 ㅠㅠㅠㅠㅠ

    이미지서치보다 인식속도 훨씬 빠르네요 정말 감사드립니다

  • mnbmnb 2023.08.24 18:29

    감사합니다 잘쓰겠습니다.

  • 하루하나 2023.10.21 19:02

    좋은 정보 감사합니다


List of Articles
제목 글쓴이 최근변경 추천
Edit 과 v레이블 2 민영123 2023.07.03 0/0
핫키 핫스프링 민영123 2021.09.23 0/0
send,sleep 의 개념 민영123 2021.09.22 0/0
Exitapp, return 민영123 2021.09.22 0/0
오토핫키 픽셀서치 3 민영123 2023.10.21 0/0
오토핫키 gui (1) 1 민영123 2022.02.20 0/0
오토핫키 OpenCV 템플릿매칭 라이브러리 65 CatLab 2023.10.21 12/0
아이템획득, 특정이벤트 발생 시 카톡으로 알림 55 dlslwl 2023.10.18 4/0
수정추가) 이미지 좌표 스크립트 + 픽셀 15 MaximM 2023.06.25 0/0
비활성 키입력 함수(가상키값 리스트화) 53 hersia 2023.07.20 1/0
랜덤좌표 스크립트 입니다. 78 sama 2023.11.04 3/0
특정확장자 삭제하기 21 여의도김매력 2022.12.14 2/0
화면안에서 마우스좌표 따기입니다. 109 MaximM 2023.11.04 2/0
MsgBox, InputBox 등을 통해 사용자 입력 받기 39 ferento 2023.10.21 1/0
오토핫키(AutoHotKey, AHK 또는 오핫키)는 무엇인가? ... 메테오 2015.12.23 0/0
함수 Function 에 대한 이해 279 예지력1 2023.07.21 23/0
코드 최적화 Code Optimization 124 예지력1 2022.12.14 23/0
코드의 속도, 성능을 높이는 한줄 팁 모음 189 예지력1 2023.06.24 20/0
오토핫키 반응형 학습 어플리케이션 308 예지력1 2023.02.05 40/0
[문법] Try, Catch 함수를 Try하고 예외를 Catch 한다 106 예지력1 2023.02.05 9/0
Board Pagination Prev 1 2 3 Next
/ 3

전체 최신 인기글

전체 주간 인기글