안녕하세요. 현재 매크로에 관심이 생겨 공부 중입니다.
제가 다른언어(오토핫키)로 매크로를 만드는 중에 이미지서치를 하는도중 문제가 발생하였습니다.
이미지 서치를 하여 두개 동일한 이미지를 서치하여 명령을 처리하는 부분인데..
작은 이미지로 보면 같은 이미지지만 확대하여 보면 픽셀값이 약간씩 달라 이미지서치가 되지않는 문제점 입니다.
해결하는 방법을 찾던 도중 프리헌터스님이 개발하신 카카오토에서의 이미지테스트 기능이 생각나서 질문을 드립니다.
이미지테스트 기능을 보면 미리보기에서 이미지를 가져와 이미지테스트를 하면 그 이미지에 대한 유사성이 퍼센트로 표시가 되는데 그 기능을 어떻게 구현하셨는지에 대해 궁금합니다.
제가 현재 만들어보려고 하는 매크로에 이미지테스트 구현기능을 적용하면 해결이 될 듯하여 질문드립니다.
답변주시면 감사하겠습니다 (_ _)
해당기능은 이미지인식 알고리즘 중
패턴매칭, 템플릿매칭 등으로 검색하시면 나올겁니다.
이는 가장 대표적인 이미지인식 방법으로 오픈CV, 어포지 등에서 쓰이고 있습니다.
---------------------------------------------------------
기본 개념은
3*3 픽셀의 이미지를 3*3 이미지에서 찾는다고 가정..
간단한 설명을 위해 그레이스케일(8비트)로 규정합니다.(RGB칼라는 3회 반복이 됨)
1. 배경 3*3픽셀과 스샷 3*3픽셀 의 각 색상차의 제곱을 구해서 모두 더합니다.
(제곱을 하기 때문에 색상차이가 클수록 결과값은 기하급수적으로 커짐)
2. 인식률 내 인지를 판단합니다.
3*3에서 나올 최대 색상차제곱값 (255*255)*9 =585,225
3*3에서 나올 최소 색상차제곱값(0*0*9) =0
3*3의 색상차 결과값이 1000인경우의 인식률은 1000/585,225 가 됩니다.(0.17%네요)
인식률 100%가 색상차 0을 의미하므로 색상결과 1000은 99.83%.
결과값 0,0(시작위치)과 99.83%를 반환합니다.
3. 배경이미지가 9*9 크기라면 위 한픽셀씩 옮겨가면서 위과정을 7*7회 반복하여
색상차가 가장 작은 곳의 시작좌표와 인식률을 반환하면 됩니다.
--------------------------------------------------------------
오핫 자체 함수를 이용하세요.