프로그래밍언어/VB.NET

비베로 오토핫키처럼 이미지비교..

부산딸랑이 2013. 7. 7. 11:57

오토핫키에서는 이미지서치란 기능이 있는데요.

화면에서 특정그림파일의 일치하는 화면의 좌표를 찾을수 있습니다.

현재화면에서 그림파일과 같은이미지를 형성하고 있는곳의 좌표를 출력하는거지요. 물론 일치율도 조절할수 있구요.

픽셀서치로 해당 픽셀의 색상값을읽어와 일치여부를 판단하는방법도 있어요.

참 유용한기능이지 않습니까?


오핫에선 이런식으로 이미지서치기능을 간단하게 구현해서 인기죠.

만약 랜덤으로 팝업창이 뜬다면 비활성된창이라도 마우스를 해당좌표로 이동해서 클릭으로 닫을수 있지요



OpenCV라이브러리가 영상인식쪽에서 유명합니다



이런것들은 게임에서도 유용하게 쓰이는데요.

픽셀을 인식해서 쓰는경우는

아래와같은 게임화면에서 체력바에서 80프로즘의 이미지(픽셀)를 비교해서 원하는값과 다르면 물약을 사용하는것이죠.



winapi로도 충분히 쉽게 구현이 가능합니다.



그래도 사진으로 현재화면과 비교하는내용을 만들어보고싶었습니다..

(비록 좌표값을 찾아내거나 일치율을 조정하진 못하지만요>>)



처음 에 이미지를 저장합니다.. 0,0좌표의 300x300이미지를 저장합니다.

좌표와 이미지크기를 바로 읽을수 있게 해당값을 파일이름으로 저장했습니다..

X0000,Y0000,X0300Y0300.BMP 로 저장


X0000,Y0000,X0300Y0300.BMP과 현재화면의 데이터를 비교해서 

창제목에 출력합니다. 같다고 나오네요...

같겠죠 당연히 아무것도 안했는테 틀리면 뭔가 잘못입력한고죠 ㅋㅋ


폼의 위치를 해당좌표로 이동해서 스캔하는 공간을 가린채로 비교해봅니다.

틀리다고하네요..화면을 가렸으니 다르겠죠..


일단 이미지확인은 하는데 좌표를 어떤식으로 받아오는지 모르겠습니다.

아마 1980*1050 픽셀을 다 조사해서 이미지의 0,0좌표의 픽셀과 비교하고..

일치하면 이미지와 비교해서 해당좌표를 읽어오는게 아닐지..


다음주말에 해봐야겠습니다..

'프로그래밍언어 > VB.NET' 카테고리의 다른 글

비베 속도향상 팁 45가지   (0) 2013.07.09
비동기 VB.NET _ Await  (0) 2013.07.07
WinHTTP vs HTTPWebrequest vs XMLHTTP  (0) 2013.07.07
INET vs WINHTTP  (0) 2013.07.07
파일다운 Responsestream으로  (0) 2013.07.07