본문 바로가기
엔지엠 매크로

무료 매크로에서 같은 이미지를 모두 찾고 싶을 때... (How to find all the same images in macro.)

by 업무자동화 2021. 5. 29.
반응형

안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 매크로는 같은 이미지를 한번에 찾아주는 몇가지 기능들이 있습니다. 대표적으로 [ 이미지 전체 매치 ]가 있고 이외에 딥러닝을 이용한 [ 욜로 매치 ]와 텐서플로우 매치가 있습니다. 오늘 알아볼 내용은 이미지 전체 매치입니다. 아래와 같이 에디터를 실행하고 스크립트를 추가하세요. 그리고, 도구상자 > 조건 > 이미지 전체 매치를 추가하세요.

 

 

테스트에 사용할 이미지는 슈퍼마리오인데요. 여기서 코인을 찾을겁니다. 게임 화면 내에 코인은 총 4개가 있습니다.

 

 

캡쳐로 코인을 하나 저장하세요. 이미지 이름은 coin.ngi입니다.

 

 

다시 스크립트로 돌아와서 아래 동영상처럼 옵션들을 설정 해보세요. 임계값은 50정도 주었습니다. 이 값은 사용자 환경에 따라 각자가 조절해야 하는 값입니다. 이미지의 모양과 차이 그리고 위치에 따라 약간씩 다를 수 있습니다. 사람의 눈으로는 파악하기 어려운 차이점이 있거든요. 단순히 이미지를 숫자로 변환한다고 해보면 아래 코인들은 1.000001, 1.000002, 1.000003, 1.000004와 같이 표현할 수 있습니다. 어쩌면 완전 동일할수도 있지만 그래픽카드가 색을 표현할 때 모니터의 어느 위치에서 그리느냐에 따라 달라질 수 있습니다. 사람이 보면 다 동일해 보이지만~ 컴퓨터 입장에서는 다 다르거든요.

 

 

4개를 정상적으로 찾을 때까지 입계값을 조정 해보면서 테스트 해보세요. 그리고, 바탕화면에 저장되는 이미지를 확인해보면 이미지 전체 매치의 결과를 확인할 수 있습니다.

 

 

참고로, 멀티로 이미지를 찾는 액션들은 드래그 앤 드롭 기능을 별도로 제공하고 있습니다. 멀티 마우스 액션 속성을 "DragDrop"으로 설정하세요. 그리고, 드래그 앤 드롭 속성에 0,1,2,3을 입력하세요. 드래그 앤 드롭 속성의 값은 마우스 다운과 업의 쌍을 이루는 집합입니다. "0,1,2,3"과 같이 입력하면 0에서 마우스 다운이 발생하고 1에서 업이 됩니다. 그리고, 2에서 다운이되고 3에서 업이 되죠. 그렇기에 코인 첫번째에서 두번째로 드래그 앤 드롭이 되고, 세번째에서 네번째로 드래그 앤 드롭이 됩니다. 드래그 앤 드롭이 2번 발생하게 됩니다.

※ 드래그 앤 드롭을 하려면 "마우스 동작, 멀티 마우스 액션, 드래그 앤 드롭" 3가지 속성을 모두 설정해야 합니다.

 

 

드래그 앤 드롭을 테스트할 적절한 방법은 랜덤 다이스와 같은 게임에 적용 해보는건데요. 게임을 안하니깐~ 음!!! 윈도우 탐색기에서 폴더를 이용해보죠^^; 아래와 같이 폴더를 추가해보세요. 그리고 실행하면~ 폴더들만 찾아진걸 알 수 있습니다. 아~ 쌍으로 2회 반복할거라서 하나가 합쳐지면 쌍이 안되니 마지막에 폴더를 하나 더 추가해주세요.

 

 

폴더는 아래와 같이 하나 더 추가 해주세요. 그래야 1과 2가 합쳐지면서 한칸 줄어든걸 처리할 수 있습니다. 폴더를 추가하지 않고, 폴더 자동 정렬을 끄면 될거 같기도 하네요. 이건 바탕화면만 되는건가... 폴더 안에서 자동으로 정리되는건 설정할 수 없나보네요-_-;

 

 

실행하면 1과 2가 합쳐지고 한칸 밀리면서 4와 5가 합쳐졌습니다.

 

 

마우스 동작만으로 폴더를 드래그 앤 드롭이 되지 않아서 하드웨어 신호로 처리할 수 있도록 [ 시리얼 연결 ] 액션을 하나 추가 했습니다. 멀티 마우스 액션에는 아래와 같은 옵션들이 들어 있습니다. 찾은 이미지에서 첫번째 또는 마지막만 클릭할수도 있습니다. 찾은 모든 이미지를 랜덤하게 모두 클릭하거나 하나만 클릭할 수 있습니다. 여러가지로 파워풀한 기능들을 제공하고 있지만~ 크게 사용할일은 없는 기능입니다. 자동화에서는 말이죠^^;

 

 

반응형

댓글