오토 핫키 이미지 서치 | Autohotkey Imagesearch 13137 좋은 평가 이 답변

당신은 주제를 찾고 있습니까 “오토 핫키 이미지 서치 – autohotkey imageSearch“? 다음 카테고리의 웹사이트 ppa.1111.com.vn 에서 귀하의 모든 질문에 답변해 드립니다: ppa.1111.com.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 algoLancer 이(가) 작성한 기사에는 조회수 18,667회 및 좋아요 158개 개의 좋아요가 있습니다.

Table of Contents

오토 핫키 이미지 서치 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 autohotkey imageSearch – 오토 핫키 이미지 서치 주제에 대한 세부정보를 참조하세요

Need AHK Help? find me here: https://bit.ly/3Lifjj8
—————————————————————————————

오토 핫키 이미지 서치 주제에 대한 자세한 내용은 여기를 참조하세요.

[프날 오토핫키] 31. ImageSearch (이미지 서치)

ImageSearch는 사용자가 가지고 있는 이미지가 화면 상에 있는지 검사하고, 있다면 그 이미지가 어디 있는지까지 알려주는 명령어입니다. 위 그림에서 보면, 왼쪽 별 모양 …

+ 여기에 더 보기

Source: pnal.kr

Date Published: 11/9/2021

View: 8562

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

오토핫키 강좌 9강 – 이미지서치(ImageSearch) 오토핫키 이미지서치는 컴퓨터 화면에서 이미지를 찾아주는 명령어입니다. 클릭을 원하는 부분을 캡쳐 …

+ 여기에 표시

Source: gogildong.com

Date Published: 8/7/2022

View: 3472

[Autohotkey][12] 오토핫키의 꽃 ImageSearch – 모든것은 처음부터

안녕하세요. 쿠과자입니다. 이번시간에는 오토핫키에서 가장 중요하다고 볼 수 있는 이미지 검색, 이미지 서치(imagesearch)에 대해서 알아보도록 …

+ 여기에 더 보기

Source: itblogpro.tistory.com

Date Published: 11/28/2021

View: 511

오토핫키로 화면내 이미지를 찾는 방법

사람처럼 화면을 인식하게 하는 명령어를 오토핫키에서 지원해주는데,. 그게 바로 ImageSearch 라는 명령어이다. ImageSearch, OutputVarX, OutputVarY, …

+ 여기에 보기

Source: diyver.tistory.com

Date Published: 10/17/2022

View: 117

imagesearch(이미지서치)의 모든것 , 기본 설명 및 반드시 …

자동화를 꿈꾸던 저에게 크나큰 빛을 주었던 오토 핫키 기능 imagesearch(이미지 서치)입니다. 하지만 거의 1개월 정도 저에게 좌절감을 주었습니다.

+ 여기에 표시

Source: downupup.tistory.com

Date Published: 2/25/2021

View: 1310

[오토핫키] 이미지 서치(1) – LearningNote

이번엔 오랜만에 재미있는 것을 소개해드릴게요. 오토핫키에는 이미지를 찾는 명령어가 있습니다. 저장해놓은 이미지 파일이 화면상에 일치하거나 …

+ 여기에 자세히 보기

Source: learningnote.tistory.com

Date Published: 8/18/2021

View: 5454

ImageSearch – Syntax & Usage – AutoHotkey

ImageSearch can be used to detect graphical objects on the screen that either lack text or whose text cannot be easily retrieved. For example, it can be used to …

+ 여기에 보기

Source: www.autohotkey.com

Date Published: 9/29/2021

View: 3555

오토핫키 쉽게 배우기-2편 : image Search 이미지 찾기(메크로 …

오토핫키 쉽게 배우기-2편 : image Search 이미지 찾기(메크로 필수 기능). ◎◇ 2019. 7. 18. … ImageSearch << 이미지 서치를 사용하겠다는 의미.

+ 여기에 더 보기

Source: voidfunction-e.tistory.com

Date Published: 1/2/2021

View: 2998

오토핫키 ImageSearch 를 대신할 FindText

FindText 의 장점이라 하면 일단 이미지파일이 필요가 없음. 내가 오토핫키로 매크로를 만들다보면 분명 ImageSearch 를 써야하고 쓰게되면 Image …

+ 여기에 더 보기

Source: apsalman.tistory.com

Date Published: 3/25/2022

View: 8330

#8 오토핫키 ImageSearch / 오토핫키 이미지 서치 / 이미지 찾기 …

#8 오토핫키 ImageSearch / 오토핫키 이미지 서치 / 이미지 찾기, 이미지 오차 범위, 지정한 색깔 제외하고 찾기(trans). 나노콛 2019. 8. 18. 23:11. 320×100.

+ 여기에 더 보기

Source: qzqz.tistory.com

Date Published: 4/15/2022

View: 6003

주제와 관련된 이미지 오토 핫키 이미지 서치

주제와 관련된 더 많은 사진을 참조하십시오 autohotkey imageSearch. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

autohotkey imageSearch
autohotkey imageSearch

주제에 대한 기사 평가 오토 핫키 이미지 서치

  • Author: algoLancer
  • Views: 조회수 18,667회
  • Likes: 좋아요 158개
  • Date Published: 2018. 12. 26.
  • Video Url link: https://www.youtube.com/watch?v=oAkivSDrktE

[프날 오토핫키] 31. ImageSearch (이미지 서치)

이미지 서치로 오토핫키를 접하신 분이 꽤 되실겁니다. 본 강좌는 이전 강좌의 내용을 모두 숙지하고 있다는 점을 전제로 하고 진행됩니다. 혹여나 이전 강좌를 보지 않으셨다면 1강부터 기초를 쌓고 오시는 것을 추천드립니다. 기초도 없이 이미지 서치부터 배운다는 것은 욕심 아니겠습니까.

추가로, 이미지 서치는 상당히 불안정한 기술입니다. 되도록이면 사용하지 않으셨으면 좋겠습니다. 다른 대체방법을 찾을 수 있으면 그 방법을 사용해주세요.

화면에서 이미지를 찾는 ImageSearch

ImageSearch는 사용자가 가지고 있는 이미지가 화면 상에 있는지 검사하고, 있다면 그 이미지가 어디 있는지까지 알려주는 명령어입니다.

위 그림에서 보면, 왼쪽 별 모양이 컴퓨터 화면에 그대로 있습니다. 이럴 경우 ImageSearch를 사용해준다면 이미지는 있다고 알려 줄 것이고, 해당 이미지의 좌표는 (X , Y)라고 알려줄 것입니다.

백문이 불여일견, 한번 해봅시다.

매개변수

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

OutputVarX: 이미지를 찾았을 때의 X좌표가 담기는 출력 변수명

이미지를 찾았을 때의 X좌표가 담기는 출력 변수명 OutputVarY: 이미지를 찾았을 때의 Y좌표가 담기는 출력 변수명

이미지를 찾았을 때의 Y좌표가 담기는 출력 변수명 X1: 이미지 서치를 시작하는 X좌표

이미지 서치를 시작하는 X좌표 Y1: 이미지 서치를 시작하는 Y좌표

이미지 서치를 시작하는 Y좌표 X2: 이미지 서치를 끝내는 X좌표

이미지 서치를 끝내는 X좌표 Y2: 이미지 서치를 끝내는 Y좌표

이미지 서치를 끝내는 Y좌표 ImageFile: 찾을 이미지의 파일명을 포함한 경로 (+ 이미지 서치의 옵션)

지난 강좌까지 잘 따라왔다면 이해가 가지 않는 부분은 없을거예요.

좌표를 두 쌍씩 써주는 것이 이해가 가지 않을 수 있지만, 아래 그림을 보면 이해하실 수 있습니다.

마지막 매개변수인 ImageFile 매개변수는 찾을 이미지의 경로를 입력해주시면 됩니다. 앞에 드라이브 문자(C:\, D:\등)가 붙지 않게 써주신다면 “현재 스크립트 기준”으로 경로를 입력해주면 됩니다. (상대 경로라고 합니다.)

즉, 현재 스크립트와 이미지 파일이 같은 경로에 있다면 이미지명만 써주시면 되고, Images라는 폴더에 들어있다면 Images\이미지명으로 써주시면 됩니다. (이 때, 이미지명은 확장자를 포함합니다.)

그리고, ImageFile 매개변수에는 몇 가지 옵션을 줄 수 있습니다. 여러가지 옵션이 있지만 *n 옵션이 제일 자주 사용됩니다.

*n: 오차의 허용 범위를 지정해줍니다. n에는 숫자가 들어가며, 0부터 255사이의 숫자가 들어갈 수 있습니다. 숫자가 높을수록 허용 범위가 넓어지며, 기본은 0입니다.

즉 이미지 파일과 화면 상의 이미지의 오차가 있을 경우에 대비하여 적절히 써주시면 됩니다.

모르겠다! 싶으시면 30정도 적어주시면 적당합니다. 옵션은 이미지 파일 경로보다 앞에 써주며, 한 칸을 띄워줍니다.

이미지 따기

화면상에 찾을 이미지를 캡처하여 저장하는 것을 “이미지를 딴다”라고 합니다. 캡처는 자유롭게 하시되, 파일 저장 형식은 손실이 일어나지 않는 png나 bmp확장자로 저장해주세요.

캡처 도구를 이용하시거나, (캡처 프로그램 흰캡처)를 이용해서 이미지를 캡처하신 후 저장하시면 됩니다. (흰캡처는.. 제가 만든 프로그램입니다. 오토핫키는 아니구요, 강좌를 잘 보시고 있다면 한번 사용해보셨으면 좋겠습니다 ^^)

이미지를 따는 요령을 몇 가지 알려드리겠습니다.

특징이 드러나게 딸 것

가능한 한 작게 딸 것

작을수록 서치 속도가 빨라지며, 특징이 드러나게 따야 이미지가 한 부분만을 찾습니다.

ErrorLevel 내장 변수

ErrorLevel이라는 내장 변수가 있습니다. 지금까지 봐왔던 내장변수와 다르게, A_ 접두어가 붙지 않습니다.

해당 내장변수는 현재 스크립트의 진행 상태가 담겨있는데, 0이면 정상적인 진행을 하고 있다는 뜻이고 1 이상이면 특정한 요인으로 인해 실패함을 나타냅니다.

이미지서치를 한 이후엔 ErrorLevel변수에 값이 새로이 담기게됩니다.

이미지를 정상적으로 찾으면 0, 못찾으면 1입니다.

간혹 2가 들어있는 경우가 있는데, 구문 오류 등으로 이미지 서치를 정상적으로 할 수 없는 경우에 나타납니다.

MsgBox , % ErrorLevel %

위 구문을 통해 현재 ErrorLevel 값을 알 수 있습니다.

예제

이미지는 스크립트와 같은 위치에 있다고 가정하고, 이미지의 이름은 Image.png라고 하겠습니다.

ImageSearch , vx, vy, 0, 0, 1920, 1080, *30 Image.png

MsgBox , % ErrorLevel %

이 구문이 이미지 서치 구문이 됩니다. 0,0 부터 1920, 1080까지 Image.png과 동일한 이미지가 있는지 검사할 것입니다.

만약 찾는다면 MsgBox에 0이 출력되며 해당 이미지의 좌표가 vx, vy에 담길 것입니다.

못 찾는다면 vx, vy는 빈 값이고 ErrorLevel은 1이겠지요.

그럼 아래와 같은 스크립트를 생각해 볼 수 있습니다.

F1::

ImageSearch , vx, vy, 0, 0, 1920, 1080, *30 Image.png

if ( ErrorLevel = 0)

{

MsgBox , 이미지를 찾았습니다! `n 찾은 좌표: %vx% `, %vy%

}

else

{

MsgBox , 이미지를 못 찾았거나, 이미지서치를 수행하지 못했습니다. ( ErrorLevel = % ErrorLevel %)

}

return

F2::

ExitApp

31강.zip 0.00MB

영상을 통해 확인해보겠습니다.

제가 딴 이미지는 아래와 같습니다.

제 사이트에는 제가 딴 이미지가 포함되어있고, 네이버 메인 화면에는 없습니다.

제 사이트에서 F1을 누르니 찾았다고 뜨며, 좌표가 나타납니다.

반면, 네이버에서 F1을 누르니 ErrorLevel 1을 보여주네요.

ImageSearch와 Coordmode

ImageSearch는 CoordMode명령어에서 TargetType 매개변수가 Pixel일 때 영향을 받는다고 말씀 드렸습니다.

마우스 관련 명령어는 Mouse일 때 영향을 받고요.

따라서, 마우스 동작을 이미지 서치의 출력 변수로 한다면 두 동작의 좌표 체계를 맞춰주어야 합니다. 아래는 마우스와 이미지서치의 좌표 체계를 맞춰준 모습입니다.

CoordMode , Mouse , Screen

CoordMode , Pixel , Screen

또는

CoordMode , Mouse , Client

CoordMode , Pixel , Client

또는

CoordMode , Mouse , Relative

CoordMode , Pixel , Relative

요약

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

OutputVar에 출력변수 X, Y 지정. 이미지를 찾으면 각각의 출력변수에 찾은 이미지의 좌표가 담긴다.

X1부터 Y2까진 이미지를 찾는 범위

*n은 오차값

ImageFile은 이미지파일의 경로를 확장자를 포함해서 쓸 것, 기본적으로 상대 경로

CoordMode의 targetType 매개변수는 Pixel의 영향을 받는다

찾는 이미지는 png나 bmp로 저장하고, 가능한 한 작게 딸 것

이미지를 찾으면 ErrorLevel 값이 0이 되고, 못찾으면 1 또는 2 (1은 이미지서치를 했지만 이미지가 없는 거, 2는 이미지서치가 안된 것)

*n과 ImageFile은 하나의 매개변수이기 때문에 콤마를 넣지 않는다.

사실 너무 길고 복잡한 내용입니다. 예제만 보여드리고 끝내도 사실 이리저리 만지작거리다 보면 뭐든 되는데, 굳이 그러지 않은 이유는 처음부터 이해를 시킬려고 한 제 욕심이겠지요.

제가 이미지 서치를 별로 좋아하지 않았던게, 강좌에 티가 나는 것일수도 있다는 생각이 듭니다.

다음 강의 PixelSearch는 이미지 서치를 완벽히 아신다는 가정 하에 진행됩니다.

< 30. 배움에 지친 당신에게 | 31. ImageSearch | 32. PixelSearch >

반응형

오토핫키로 화면내 이미지를 찾는 방법

이번 포스트에서는 어떻게 보면 오토핫키의 가장 핵심인 화면내 이미지를 검색한는 방법을 다뤄보도록 한다.

매크로를 부정적으로 바라보는 시선은 많다.

하지만 매크로는 단순히 자동 업무 처리 프로그램이라는 관점에서 보면 매우 중요한 녀석이다.

매크로 프로그램이 마우스를 클릭해야하는데, 어디를 클릭해야 할지 모른다면 의미가 없다.

만약 좌표만을 이용해서 마우스 클릭을 했었다면 그 위치가 살짝이라도 바뀔경우 무쓸모가 되어버린다.

따라서 멍청하게 좌표만 이용하기보다는 마치 사람처럼 화면을 인식하고 클릭하는 것이 중요하다고 할 수 있겠다.

사람처럼 화면을 인식하게 하는 명령어를 오토핫키에서 지원해주는데,

그게 바로 ImageSearch 라는 명령어이다.

ImageSearch, OutputVarX, OutputVarY, X1, Y1, X2, Y2, *TransN *N, ImageFile

사용 방법을 이해해보자.

– OutputVarX : 찾은 이미지의 X 좌표값

– OutputVarY : 찾은 이미지의 Y 좌표값

– X1 : 찾을 영역의 시작하는 X축 좌표

– Y1 : 찾을 영역의 시작하는 Y축 좌표

– X2 : 찾을 영역이 끝나는 X축 좌표

– Y2 : 찾을 영역이 끝나는 Y축 좌표

– *TransN *N : *TransN은 이미지에서 제거할 색상, N은 오차범위(0~255)를 뜻함

오차범위가 작을수록 이미지를 정확하게 찾을 수 있다.

– ImageFile : 찾을 이미지의 파일 이름

뭔가 파라미터들이 많은데, 너무 걱정할 필요가 없다.

사용하다보면 금방 이해하게 된다.

이게 오토핫키의 장점이다.

다만 ImageSearch 명령어를 사용할 때에는

CoordMode 를 잘 설정해야 한다.

Mouse 입력 셋팅과 Pixel 입력 세팅이 같아야 한다는 것이다.

만약 다르다면 이미지를 찾은 좌표가

마우스 클릭 좌표와 기준점이 맞지않아 다른 부분을 클릭하게 될 수도 있다.

SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. CoordMode,Pixel,Screen CoordMode,mouse,Screen ;CoordMode, Mouse, Window F9:: ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, test.png if ErrorLevel = 0 { MsgBox, FIND MouseMove, vx+50, vy+50 } else if ErrorLevel = 1 MsgBox, can’t Find return

위의 코드를 그대로 오토핫키에 넣고 실행시켜보면 된다.

다만 자신이 찾고자 하는 이미지는 캡처도구를 통해서 오토핫키 파일과 같은 폴더에 저장시켜 놓아야 한다.

코드를 위에서부터 살짝 해석을 해보면,

SetWorkingDir %A_SciptDir%

– 기본 폴더를 오토핫키 파일(스크립트)이 있는 폴더로 설정한다.

이 세팅이 없으면 참조하려는 파일들의 위치를 풀네임으로 써줘야 한다.

CoordMode,Pixel,Screen

CoordMode,mouse,Screen

– Pixel 과 mouse 의 좌표계를 일치시키는 작업이다.

ImageSearch 는 Pixel의 좌표계 설정을 따르기 때문이다.

그리고 사용된 ErrorLevel 은 ImageSearch 의 결과에 대한 반환 값이라고 보면 된다.

0, 1, 2 반환 값이 있으며 뜻은 아래와 같다.

0 : 이미지를 찾았을 경우

1 : 이미지를 찾지 못했을 경우

2 : 오류가 생긴 경우

각각 의 값에 따라서 실행되는 코드를 따로 두어야 완벽한 매크로를 만들 수 있다.

이제 제일 문제는 투명성이 존재한는 이미지를 찾아야 할 때이다.

위와 같은 페이지에 들어갔을 때,

팝업창이 뜨면서 매크로가 제대로 되지 않게되는데

팝업창을 없애려면 팝업창을 닫아주어야 한다.

팝업 광고위의 하루동안 열지않기를 누르른 것이 목표라고 할 때,

오토핫키로 어떻게 해야 저 텍스트를 인식하고 저 버튼을 누를 수 있을지 알아보자.

일단 이미지를 캡처한다.

위의 이미지를 이제 살짝 손봐줘야 한다.

포토샵이든 그림판에서 이미지를 불러온 다음에 검은색 또는 빨간색으로 배경을 바꿔야 한다.

필자는 빨간색으로 바꿔보았다.

이렇게 바꾸면 된다.

그다음에 코드는 아래처럼 들어가게 된다.

F8:: ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *transFF0000 *60 test1.png if ErrorLevel = 0 { MsgBox, FIND MouseMove, vx+50, vy+50 } else if ErrorLevel = 1 MsgBox, can’t Find else if ErrorLevel = 2 MsgBox, Error return

ImageSearch 의 파라미터들을 잘 살펴보면

*trasnsFF0000 *60 이 추가로 들어간 것을 확인할 수 있다.

16진수를 이해해야 하는데, FF 는 255 의 값을 갖는다.

RGB 색채널에서는 Red 값 0~255, Green 값 0~255, Blue 값 0~255 값을 섞어서 색을 표현한다.

RGB 값을 순서대로 이어붙이면 해당 색채널 값이 되는 것이다.

예를 들어 FF0000 이면 Red : 255, Green : 0, Blue : 0 이 되므로 빨간색이 되고,

00FF00 이면 녹색을 가리키며, 0000FF 는 파란색을 가리킨다.

따라서 *transFF0000 의 뜻은 빨간색을 제거한다는 뜻이 된다.

그리고 *60 은 오차범위를 뜻한다.

이런 경우에는 오차범위를 조금 두는 것이 필요하다.

오차범위 값을 높이게 되면 찾는데 시간이 너무 오래걸리거나 잘못된 이미지를 찾게 될 수도 있으므로 적당한 값을 찾아줘야한다.

제일 좋은 방법은 찾고자 하는 이미지 가공을 잘 해서 오차범위를 0에 근접하게 해도 잘 찾게 하는 것이다.

실제로 테스트해보면 정확하게 찾는 것을 확인할 수 있다.

한번에 안 될 가능성이 높으므로, 안 된다고 쉽게 포기하지 말자~

시연영상은 아래에서 확인하면 된다.

youtu.be/DygvItNioxk

imagesearch(이미지서치)의 모든것 , 기본 설명 및 반드시 필요한 지식 coordmode

반응형

자동화를 꿈꾸던 저에게 크나큰 빛을 주었던 오토 핫키 기능 imagesearch(이미지 서치)입니다.

하지만 거의 1개월 정도 저에게 좌절감을 주었습니다.

그렇게 1개월정도 열심히 찾은 뒤 깨달았습니다.

imagesearch에서 가장 중요한 것 중 1개는 coordmode 였습니다.

사실 imageserach를 모르시는 분은 먼저 imagesearch에 대해서 공부를 하셔야겠죠?

Imagesearch(이미지 서치) 설명

imagesearch란 단어 그대로 이미지를 찾는 것입니다.

그래서 엄청난 것들을 할 수 있습니다.

해당 이미지를 찾았을 때 해당 이미지를 클릭하라.

저런 행위들이 가능하게 됩니다.

모니터에 보이는 것을 그대로 찾을 수 있기 때문에 유용하다고 생각합니다.

그러면 ImageSearch의 사용방법부터 알아보겠습니다.

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

하나씩 의미를 알려드리겠습니다.

변수 내용 OutputVarX 이미지를 찾았을 때 이미지의 x좌표 위치 OutputVarY 이미지를 찾았을 때 이미지의 y좌표 위치 X1 , X2 모니터 기준 가로 X1좌표 ~ X2좌표 까지 이미지 검색 Y1 , Y2 모니터 기준 세로 Y1좌표 ~ Y2좌표 까지 이미지 검색

이렇게입니다.

그리고 모니터 전체를 검색하는 방법은

X1 = 0 , X2 = A_ScreenWidth ;0부터 해당 스크린의 폭 크기까지

Y1 = 0 , Y2 = A_ScreenHeight ;0부터 해당 스크린의 높이 크기까지

이렇게 해서 화면 전부를 검색할 수 있습니다.

하지만 대부분은 화면 전부를 검색하지 않고 일정 부분만 검색하게 됩니다.

이유

1. 속도 측면 = 작은 영역을 검색하는 게 큰 영역을 검색하는 것보다 빠릅니다.

2. 동일 이미지 노출 = 2개 이상의 동일한 이미지가 있을 때 검색해야 되는 특정 부분만 설정합니다.

그런 뒤 이미지 검색 결과 유무는 errorlevel을 통해서 확인이 가능합니다.

errorlevel과 if문을 함께 사용하여 찾았을 때 못 찾았을 때 처리가 가능합니다.

1:: imagesearch , x , y , 0 , 0 , A_ScreenWidth , A_ScreenHeight , *유사성 num5.jpg if (errorlevel = 0) { msgbox 이미지찾음 ;num5.jpg를 찾았다면 여기 코드 } else if (errorlevel = 1) { msgbox 이미지못찾음 ;num5.jpg를 못찾았다면 여기 코드 }

이런 식으로 말이죠.

※ 여기서 유사성 = 숫자로 표시해야 되며 0 ~ 255까지 입니다. (0은 완전 일치 , 255은 엄청 대충 보는 것)

※ 가장 위 1:: 것은 키보드 숫자 1을 선택했을 때 아래 코드가 진행되도록 한 것입니다.

이미지 서치를 예시로 한번 보여드리겠습니다.

이렇게 계산기의 숫자 5 버튼을 num5.jpg 파일로 하나 만들었습니다.

그렇게 해서 이미지 서치를 했습니다. 그런데 못 찾을 수 있습니다.

그럴 때는 유사성 값을 계속 수정해서 검색하시면 됩니다.

계산기를 선택한 상태에서 이미지 서치를 하면

아래와 같이 이미지를 검색할 수 있습니다.

그런데 동일한 상태인데 다른 프로그램을 선택한 뒤 검색을 하면 이미지를 찾을 수 없습니다.

이럴 때 사용되는 게 바로 아래 설명하는 CoordMode입니다.

CoordMode 설명

CoordMode , 타깃 타입 , 인식 방법

이렇게 입력해야 합니다.

타겟타입 내용 Pixel Imagesearch 또는 PiexlSearch를 체크방법 Mouse Mouse 위치에 체크방법 Caret * 이부분은 이번 내용과 무관하기 때문에 제외 하겠습니다. Menu Tooltip

인식방법 내용 Screen 화면 전체를 이용하여 Relative 활성화 되어있는 프로그램

* 기본값 (설정) Window Relative와 동일합니다.

*차이점이 있을것 같지만 못찾고있습니다. Client 윈도우의 가장자리가 좌표에서 빠집니다.

해당 코드를 추가하니 일정을 선택해도 이미지는 검색이 됩니다.

coordmode , pixel , screen 1:: imagesearch , x , y , 0 , 0 , A_ScreenWidth , A_ScreenHeight , *50 num5.jpg if (errorlevel = 0) { msgbox 이미지찾음 ;num5.jpg를 찾았다면 여기 코드 } else if (errorlevel = 1) { msgbox 이미지못찾음 ;num5.jpg를 못찾았다면 여기 코드 }

이렇게 입력하면 검색이 됩니다.

coordmode , pixel , screen 없다면 현재 실행되고 있는 프로그램 내에서만 검색이 됩니다.

그리고 이것을 pixel 이 아닌 mouse로 변경한다면 동일합니다.

기본값은 항상 지금 실행되고 있는 프로그램입니다.

하지만 지금 실행되지 않는 프로그램을 선택해야 되거나 마우스를 움직여야 한다면

Coordmode , Mouse , Screen을 하시면 됩니다.

이것도 대표적인 예시 코드를 만들어보자면

2:: mousemove , 0 , 0 return 3:: coordmode , mouse , screen mousemove , 0 , 0 return

키보드 2와 3을 누르면 마우스는 0, 0으로 이동합니다.

계산기를 화면 중앙에 둔 상태에서 테스트를 진행해보시면 금방 알 수 있습니다.

키보드 2를 누르면 계산기에 표시되어 있는 좌측 상단 부분으로 이동

키보드 3을 누르면 모니터 상 가장 좌측 상단 부분에 마우스가 이동하게 됩니다.

이렇게 해서 Coordmode는 사실 상당히 중요한 부분이며 빠트리면 안 되는 코드 중 1개입니다.

부가적인 도구

웹사이트를 다니다 그냥 이미지 서치에 편리한 도구가 있어서 하나 링크합니다.

https://blog.naver.com/jyaqz/222245478774

속도를 최적화하기 위해서는 영역을 타이트하게 잡는 것도 하나의 방법이기 때문에 좋은 듯합니다.

반응형

[오토핫키] 이미지 서치(1)

반응형

이번엔 오랜만에 재미있는 것을 소개해드릴게요.

오토핫키에는 이미지를 찾는 명령어가 있습니다.

저장해놓은 이미지 파일이

화면상에 일치하거나 혹은 비슷한 부분이 있으면,

그것이 어느 좌표에 있는지 알 수 있습니다.

먼저, 간단 도움말부터 살펴보겠습니다.

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

OutputVarX 와 OutputVarY 는 이제 좀 익숙해지셨나요?

결과값이 담아질 변수입니다.

이미지 서치 명령어에서는 이미지가 발견된 x 좌표와 y 좌표가 각각 담깁니다.

X1, Y1, X2, Y2 는 각각, 이미지를 찾을 시작점과 끝점의 좌표를 뜻합니다.

ImageFile 인자에는 이미지 파일명을 입력하시면 됩니다.

이때 주의하실 점이 있습니다.

이미지는 bmp 또는 png 파일로 준비하셔야 합니다.

gif, jpg 등은 파일이 저장될 때 손실이 발생하여

이미지 인식의 정확도가 떨어지기 때문입니다.

이미지 서치의 범위

이제 기본적인 실습을 해보겠습니다.

윈도 그림판에서 색상 편집기 아이콘을 찾아 그 좌표를 클릭하는 예제입니다.

먼저, 이미지 파일을 미리 준비합니다.

캡처 프로그램을 이용하여 다음의 범위를 이미지로 저장해주세요.

파일명은 image1.png 로 하겠습니다.

참고적으로 말씀드리면,

이미지를 저장하실 때는

이미지의 특징이 잘 나타나는 부분을

가능한 한 작게 따내셔야 합니다.

그래야 인식률이 높아지고 속도가 빨라지기 때문입니다.

이미지 저장

image1.png

이제 코드를 작성합니다.

#SingleInstance, Force F4:: ExitApp !1:: ImageSearch, vX, vY, 0, 0, 1600, 1200, ./image1.png Click, %vX%, %vY%, 1 return

ImageFile 인자에는 파일명을 입력한다고 했는데,

앞에 ‘./’ 는 현재 폴더라는 뜻입니다.

만약 image 라는 폴더 안에 파일을 저장하셨다면

./image/image1.png

D 드라이브 루트 폴더에 저장하셨다면

d:/image1.png

이런 식으로 입력하셔야 합니다.

또 한 가지 알아두어야 점은

좌표계를 따로 지정하지 않았기 때문에

기본 좌표계인 Relative 가 적용되어

현재 활성화된 창 기준의 좌표로 이미지를 찾습니다.

좌표계에 대한 내용이 기억나지 않으신다면,

잠시 복습을 하고 오시기 바랍니다.

코드를 실행하면 색상 편집기 창이 뜨는 것을 확인할 수 있습니다.

색상 편집기

ImageSearch

몇 번 반복해서 실행해보세요.

이때 한 가지 짚고 넘어가야 할 중요한 내용이 있거든요.

바로 클릭 지점입니다.

찾고자 하는 이미지에서 어떤 위치가 클릭되는지를 살펴보시기 바랍니다.

저장된 이미지의 좌상단이 클릭되네요.

따라서, 캡처가 되어야 할 부분의 좌상단은

클릭이 가능한 지점이어야 합니다.

그렇지 않으면 클릭 명령어를 수행하더라도

아무런 반응이 없거나 엉뚱한 반응이 나타날 테니까요.

신기하지 않나요?

코드를 몇 줄 적지도 않았는데

이미지를 찾아 클릭까지 해주는 것이 정말 신기합니다.

하지만, 이미지 서치는 속도가 빠른 편이 아닐 뿐만 아니라,

안정적인 방법도 아닙니다.

컴퓨터마다 그래픽을 처리하는 방식이 다를 수 있기 때문에

내 컴퓨터에서는 잘 되던 것이 다른 컴퓨터에서는 안 될 수도 있어요.

이 점 참고하시면 좋겠네요.

반응형

ImageSearch – Syntax & Usage

Either or both of these parameters may be left blank, in which case ErrorLevel (see below) can be used to determine whether a match was found.

The names of the variables in which to store the X and Y coordinates of the upper-left pixel of where the image was found on the screen (if no match is found, the variables are made blank). Coordinates are relative to the active window unless CoordMode was used to change that.

The X and Y coordinates of the upper left corner of the rectangle to search, which can be expressions . Coordinates are relative to the active window unless CoordMode was used to change that.

The X and Y coordinates of the lower right corner of the rectangle to search, which can be expressions . Coordinates are relative to the active window unless CoordMode was used to change that.

The file name of an image, which is assumed to be in %A_WorkingDir% if an absolute path isn’t specified. All operating systems support GIF, JPG, BMP, ICO, CUR, and ANI images (BMP images must be 16-bit or higher). Other sources of icons include the following types of files: EXE, DLL, CPL, SCR, and other types that contain icon resources. On Windows XP or later, additional image formats such as PNG, TIF, Exif, WMF, and EMF are supported. Operating systems older than XP can be given support by copying Microsoft’s free GDI+ DLL into the AutoHotkey.exe folder (but in the case of a compiled script, copy the DLL into the script’s folder). To download the DLL, search for the following phrase at www.microsoft.com: gdi redistributable

Options: Zero or more of the following strings may be also be present immediately before the name of the file. Separate each option from the next with a single space or tab. For example: *2 *w100 *h-1 C:\Main Logo.bmp .

*IconN: To use an icon group other than the first one in the file, specify *Icon followed immediately by the number of the group. For example, *Icon2 would load the default icon from the second icon group.

*n (variation): Specify for n a number between 0 and 255 (inclusive) to indicate the allowed number of shades of variation in either direction for the intensity of the red, green, and blue components of each pixel’s color. For example, if *2 is specified and the color of a pixel is 0x444444, any color from 0x424242 to 0x464646 will be considered a match. This parameter is helpful if the coloring of the image varies slightly or if ImageFile uses a format such as GIF or JPG that does not accurately represent an image on the screen. If you specify 255 shades of variation, all colors will match. The default is 0 shades.

*TransN: This option makes it easier to find a match by specifying one color within the image that will match any color on the screen. It is most commonly used to find PNG, GIF, and TIF files that have some transparent areas (however, icons do not need this option because their transparency is automatically supported). For GIF files, *TransWhite might be most likely to work. For PNG and TIF files, *TransBlack might be best. Otherwise, specify for N some other color name or RGB value (see the color chart for guidance, or use PixelGetColor in its RGB mode). Examples: *TransBlack , *TransFFFFAA , *Trans0xFFFFAA .

*wn and *hn: Width and height to which to scale the image (this width and height also determines which icon to load from a multi-icon .ICO file). If both these options are omitted, icons loaded from ICO, DLL, or EXE files are scaled to the system’s default small-icon size, which is usually 16 by 16 (you can force the actual/internal size to be used by specifying *w0 *h0 ). Images that are not icons are loaded at their actual size. To shrink or enlarge the image while preserving its aspect ratio, specify -1 for one of the dimensions and a positive number for the other. For example, specifying *w200 *h-1 would make the image 200 pixels wide and cause its height to be set automatically.

오토핫키 쉽게 배우기-2편 : image Search 이미지 찾기(메크로 필수 기능)

이전 코드에 이어서 작업하시면됩니당

https://voidfunction-e.tistory.com/entry/%EC%98%A4%ED%86%A0%ED%95%AB%ED%82%A4-%EC%89%BD%EA%B2%8C-%EB%B0%B0%EC%9A%B0%EA%B8%B0-1%ED%8E%B8-GUI-%EA%B7%B8%EB%9E%98%ED%94%BD-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4?category=801282

참고

* 메크로를 실행시키려면 해당 화면(활성화된 윈도우)이 활성화 되어있어야 한다

* 지난시간(gui편)에 작성했던 코드 일부를 가져오겠습니다

auto hotkey gui 코드

예제코드

Gui, Add, Text, x30 y5 w120 h20, 제목부분-메크로

Gui, Add, Text, x60 y25 w60 h20 vA, 0초

Gui, Add, Text, x60 y50 h20 w50 vB, 0회

Gui, Add, Button, x20 y80 w110 h20, 시작

Gui, Add, Button, x20 y110 w110 h20, 종료

Gui, Show

return

Button시작:

{

프로그램시작 := true

Loop

{

if(프로그램시작 = false)

{

break

}

}

}

return

Button종료:

{

프로그램시작 := false

ExitApp

}

return

9::ExitApp

본격적으로 이미지 찾기를 해봅시다.

1)찾을 이미지 만들기

**찾길 원하는 이미지를 만들 때 주의사항

-그림판에서 24비트 bmp파일로 저장 or png

-이미지의 사이즈가 바뀌면 못 찾을 수 있음

-이미지는 특징이 잡히도록 캡쳐(배경이 바뀌는경우 배경을 제외하고 캡처)

예를들어

(X)

(O)

2) 코드

ImageSearch, FoundX, FoundY, 0, 0, 500, 500, *50 %A_ScriptDir%\image\1.bmp

3)코드 설명

ImageSearch << 이미지 서치를 사용하겠다는 의미 FoundX << 찾은 이미지의 x좌표값을 저장할 변수(다름 이름 가능) FoundY << 찾은 이미지의 y좌표값을 저장할 변수(다른 이름 가능) 0 << 이미지를 찾을 시작점의 x좌표 0 << 이미지를 찾을 시작점의 y좌표 500 << 이미지를 찾을 끝점의 x좌표 (A_ScreenWidth = 모니터 화면 넓이) 500 << 이미지를 찾을 끝점의 y좌표 (A_ScreenHeight = 모니터 화면 높이) *50 << 정확도(30~50이 가장 적당) %A_ScriptDir%\image\1.bmp << 찾을 이미지 위치 / %A_ScriptDir%는 스크립트가 있는 폴더위치 4) 그럼 위에 코드를 적용해보겠습니다 - 아래처럼 Loop안에 이미지를 찾는 코드를 넣겠습니다 오토핫키 image search Loop ;반복작업 코드 { ImageSearch, FoundX, FoundY, 0,0, A_ScreenWidth, A_ScreenHeight, *50 %A_ScriptDir%\image\1.bmp if(ErrorLevel = 0) { Send {Click %FoundX% %FoundY%} Sleep, 1000 } if(프로그램시작 = false) { break } } 5)코드설명 - ImageSearch가 실행되면 ErrorLevel값으로 성공여부를 알 수 있습니다.(0 = 이미지 찾음 / 1 = 이미지 못 찾음) - if(ErrorLevel = 0)라는 코드는 “만약에 ErrorLevel = 0 이라면 괄호 안에 코드를 실행한다” 라는 뜻 -이미지를 찾으면 괄호 안의 코드를 실행하게 됩니다. Send {Click %FoundX% %FoundY%} Sleep, 1000 Click은 마우스 클릭이며, ImageSearch로 찾은 위치는 FoundX, FoundY에 저장되어 있고 그 이미지 위치를 가져오기 위해서 %FoundX% , %FoundY%를 사용합니다. Sleep은 대기하겠다는 의미이며 ms단위입니다. Sleep 1000은 1초간 대기하겠다는 의미 6)마지막으로 이미지 찾는 코드를 복사 붙여넣기해서, 다른이미지들도 찾아보겠습니다. (찾을 이미지를 추가로 2개 더 만듭시당) 7)실행을 해보면… 1.bmp , 2.bmp , 3.bmp의 이미지를 순서대로 찾습니다. ( ImageSearch ) 그러다 먼저 1,2,3중 어떤 이미지든 먼저 찾은 이미지의 if문이 실행됩니다. ( if(errorLevel=0) ) 찾은 이미지의 위치를 클릭합니다. ( Send {Click %FoundX% %FoundY%} ) 1초간 대기 (sleep, 1000) 대기 후 다시 순서대로 코드를 실행합니다. 8) 몇몇가지 값들을 바꿔보면서 코드들을 이해하시길 바랍니다 ㅎㅎㅎ 잘 이해하고 넘어가야 응용도 가능한 법입니당 -어렵거나, 이해가 안되거나, 궁금한 부분은 언제든 댓글 남겨주세요~

오토핫키 ImageSearch 를 대신할 FindText

https://youtu.be/lYItE_PRSzc

FindText 간단하게 설명하는 영상

FindText 내에 MultiColor 기능 간단 설명

FindText 를 활용한 비활성 이미지서치 간단 설명

FindText 출처 : https://www.autohotkey.com/boards/viewtopic.php?f=6&t=17834

혹은 이 곳에서 다운로드

FIndText.ahk 0.10MB

FindText 의 장점이라 하면 일단 이미지파일이 필요가 없음.

내가 오토핫키로 매크로를 만들다보면 분명 ImageSearch 를 써야하고 쓰게되면 Image 파일이 무한정 늘어나게 되는데

이런 식으로 이미지가 점점 늘어나게 된다…

이런 수고로움이 사라진다. 이미지를 텍스트화 하여 변수로 저장하기 때문이다.

이미지 찾기, 이미지 오차 범위, 지정한 색깔 제외하고 찾기(trans)

728×90

ImageSearch 이미지 서치

ImageSearch, 찾은 이미지 X위치 담을 변수, 찾은 이미지 Y위치 담을 변수, 검색 범위 시작 x좌표, 검색 범위 시작 y좌표, 검색 범위 끝 x좌표, 검색 범위 끝 y좌표, 찾을 이미지 파일

“이것과 같은 이미지 좀 찾아주세요”

이제 본격적인 재미를 볼 시간입니다.

이미지 서치는 아주 방대하게 많이 사용하죠

이미지 서치에 들어가는 인수에 대해서 설명을 먼저 드리겠습니다.

일단 첫째로 찾을 이미지 파일입니다.

가장 마지막 인수로 들어가는데요

화면에서 찾을 이미지를 먼저 만들어 놔야겠죠?

거의 모든 이미지 확장자를 지원하는데요

GIF/JPG/BMP/ICO/CUR/ANI/EXE/DLL/PNG/TIF/Exif/WMF/EMF입니다.

exe와 dll 같은 경우는 이미지 파일은 아니지만 아이콘의 이미지를 읽습니다.

여기서 많지만 한 가지만 봅시다 BMP입니다.

BMP 파일 이외에는 색 오차로 바르게 서치 되지 않을 수 있다고 합니다.

그러니 이미지 서치 할 때에는 BMP 파일만 이용하도록 합시다.

찾은 이미지 X위치 담을 변수, 찾은 이미지 Y위치 담을 변수

이미지를 찾게 되면 그 해당 이미지의 좌상의 마우스 좌표 위치가 변수에 저장이 됩니다.

이 인수는 생략이 가능하고 생략하면 좌표는 저장이 되지 않겠죠

검색 범위 시작 x좌표, 검색 범위 시작 y좌표

이 인수는 검색을 시작할 범위 (좌상)의 좌표를 쓰는 곳입니다.

검색 범위 끝 x좌표, 검색 범위 끝 y좌표

검색을 시작할 범위의 끝(우하)의 좌표를 쓰는 곳입니다.

imagesearch, VX, VY, 0, 0, 1920, 1080, test.bmp

분석을 해 봅시다.

test.bmp 파일을 일단 만들어야겠죠

서치 할 이미지를 만들고 파일명은 test로 저장했습니다.

VX, VY에는 test.bmp와 같은 파일이 화면에 있다면 그 이미지의 좌상의 좌표가 저장됩니다.

0,0,1920,1080 이미지를 서치 할 범위인데요

0,0 시작점

시작점에서의 가로길이 1920

시작점에서의 세로 길이 1080

보통 많이 쓰는 디스플레이 해상도죠

1920×1080입니다.

이 범위 안에서 저장한 test.bmp 이미지 파일과 똑같은 이미지가 화면에 있다면

그 이미지 위치가 VX VY에 저장이 됩니다.

msgbox로 저장된 위치의 좌표를 확인하고 싶다면

msgbox, X좌표 %VX%, Y좌표 %VY%

이렇게 해보시면 저장된 좌표 위치가 확인이 가능하겠죠

이미지를 찾았는지? 어땠는지? 알아보는 방법

이미지 서치를 하고 나면 그 결과가 편입 변수 errorlevel에 저장이 되는데요

errorlevel 값이 0이면 서치 성공

errorlevel 1이면 이미지를 못 찾았고

errorlevel 2면 문제가 발생하고 있다는 것입니다.

errorlevel의 값을 출력해보면 알겠지만

이미지 서치에서 아래의 소스처럼 하나로 기억해두는 것이 좋습니다.

imagesearch, VX, VY, 0, 0, 1920, 1080, test.bmp if (errorlevel = 0) { ; 찾았을경우 기록될 소스 }

이미지 오차 범위를 조정해서 정확도를 높여보자

BMP 파일이 오차가 적다고 위에 알려드렸지만

이미지를 못 찾는 경우가 너무너무 많습니다.

각종 프로그램 안의 이미지를 찾는다거나

게임에서 사용할 때 말이죠

그래서 오차 범위를 설정해서 이미지를 잘 찾게 설정할 수 있습니다.

imagesearch, VX, VY, 0, 0, 1920, 1080, *25 test.bmp

오차 범위는 0~255까지 설정 가능하고

실제로 테스트해 보면서 높은 수에서 낮은 수로 가면서 잘 찾아지는 최저의 오차 범위로 하시면 됩니다.

이미지에서 원하는 색깔 제외하고 찾기

조금 더 게임에서 돌릴 수 있는 단계까지 왔습니다.

사용자 환경마다, 게임 안에서의 이미지의 변화 등으로 인한

이미지 서치에 대한 기능이 상실되는 경우가 많습니다.

이것을 해결해주기 위해서는

imagesearch, VX, VY, 0, 0, 1920, 1080, *transwhite *25 test.bmp ;콤마 확인 필수

trans입니다.

지금 위의 소스대로 라면 흰색은 서치를 하지 않는다고 보시면 됩니다.

*TransBlack *TransFFFF00 *Trans0xFFFF00

이런 식으로 색상을 나타낼 수 있습니다.

https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&oquery=%EC%83%89%EC%83%81%EC%BD%94%EB%93%9C&ie=utf8&query=%EC%83%89%EC%83%81%ED%8C%94%EB%A0%88%ED%8A%B8

주의사항

이미지는 다른 창에 숨겨지거나 화면에서 보이지 않으면 검색을 하지 못합니다.

마우스 포인터로 가려진 부분은 서치 가능!

bmp 파일의 색 가짓수가 8비트(256색) 이하인 경우 동작하지 않습니다.

728×90

키워드에 대한 정보 오토 핫키 이미지 서치

다음은 Bing에서 오토 핫키 이미지 서치 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

See also  주의 이름 안에서 주의 성소 로 가네 Ppt | 마커스워십 - 찬양의 제사 드리며 (소진영 인도) We Bring The Sacrifice Of Praise 193 개의 베스트 답변
See also  한국 로타리 장학 문화 재단 | 로타리 장학재단 129 개의 새로운 답변이 업데이트되었습니다.

See also  집 에서 택배 보내는 법 | 초간단 편의점 택배 보내는 법 상위 280개 베스트 답변

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 autohotkey imageSearch

  • 동영상
  • 공유
  • 카메라폰
  • 동영상폰
  • 무료
  • 올리기

autohotkey #imageSearch


YouTube에서 오토 핫키 이미지 서치 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 autohotkey imageSearch | 오토 핫키 이미지 서치, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

Leave a Comment