안녕하세요. 소심비형입니다. 오늘은 이미지 전체 매치에 대해 알아보겠습니다. 엔지엠에서 기본으로 제공하는 조건들이 많지만, 하나의 이미지에서 동일한 모든 이미지를 찾아주는 액션이 없었습니다. 그렇기 때문에 출현하는 이미지를 모두 찾으려면 상당히 번거로운 작업을 거쳐야 했습니다. 이런 불편함을 해소하기 위해 "이미지 전체 매치"가 추가되었습니다.
이 예제를 따라하기 위해 이미지를 하나 가져옵니다. 아래 이미지를 저장하세요.
찾을 이미지를 만들어야겠죠? 엔지엠 에디터를 실행하고, 새로운 이미지 만들기를 하세요. 위 이미지에서 중복으로 찾을 이미지는 코인입니다. 아래 그림과 같은 이미지입니다.
이미지를 만들었으면 새로운 스크립트를 생성하세요. 그리고, 도구 상자의 조건에서 ①"이미지 전체 매치"를 찾아서 ②드래그 앤 드롭으로 추가해줍니다.
속성을 아래와 같이 설정하세요.
- 다운 업 지연: 마우스 동작을 시각적으로 확인하기 위해 지연 값을 100정도 줍니다.
- 마우스 동작: 찾은 이미지들을 모두 클릭하는지 확인하는 용도입니다.
- 이미지 이름: 위에서 찾을 이미지의 이름입니다.
- 임계값: 위 마리오 게임 이미지에서 코인이 모두 동일해보입니다. 하지만, 배경을 투명 처리하지 않았기 때문에 컴퓨터가 보기에는 약간씩 다른 이미지로 인식하게 됩니다. 사람은 식별할 수 없는 값이죠. 따라서, 임계값을 적절히 줘서 오차를 상쇄시켜야 합니다.
- 조건 설정: 찾은 이미지가 2개 이상이면 같음(True)에 설정한 아이디로 이동됩니다.
기본적인 속성에 대해 설정을 완료했으면 정상 동작하는지 확인해야겠죠? 여러분도 아래와 같이 코인을 모두 클릭하는 것을 확인할 수 있을겁니다. 또한, 결과에는 모든 코인의 위치와 찾은 이미지 개수를 알려줍니다. 아래 이미지를 클릭하면 원본 크기로 볼 수 있습니다.
속성 정보
기본 작업
- 사용 여부: 이 액션의 사용 여부를 설정합니다. False로 설정하면 이 액션은 실행되지 않습니다.
- 설명: 이 액션의 부가적인 설명을 입력합니다.
- 실행 전 지연: 이 액션이 실행되기 전 지연 시간을 입력합니다.
- 실행 후 지연: 이 액션이 실행된 후 지연 시간을 입력합니다.
- 아이디: 스크립트 내에서 유일한 아이디를 입력합니다.
대상 이미지 저장 확장
- 대상 이미지 저장: 찾을 대상 이미지 저장 여부입니다.
- 덮어쓰기: 기본 값은 False입니다. 이 값을 True로 변경하면 같은 이름으로 덮어쓰기됩니다.
- 이미지 저장 조건: 원본과 대상이미지를 저장할 수 있는 옵션입니다.
- 저장 위치: 이미지를 저장할 폴더와 이미지 이름입니다.
데이터
- 매인 윈도우 정보: 비활성 모드에서 동적으로 좌표를 계산하기 위해 매인 윈도우의 정보가 필요합니다.
- 이미지 경로: 이미지 서치에 사용되는 이미지 파일의 경로를 표시합니다.
- 이미지 정보: 찾은 이미지의 위치 및 크기 정보입니다.
- 이미지 텍스트 결과: 이미지에 설정한 이미지 텍스트 값입니다.
- 찾은 이미지 개수: 찾은 이미지의 개수입니다.
- 찾은 이미지 영역 목록: 찾은 이미지의 모든 영역 목록입니다.
- 컨트롤 윈도우 정보: 비활성 모드에서 동적으로 좌표를 계산하기 위해 컨트롤 윈도우의 정보가 필요합니다.
마우스 동작
- 다운 업 지연: 마우스의 다운과 업 사이에 지연시킬 값입니다.
- 랜덤 맥시멈: 마우스 좌표를 랜덤하게 처리하기 위한 최대값입니다.
- 랜덤 미니멈: 마우스 좌표를 랜덤하게 처리하기 위한 최소값입니다.
- 마우스 동작: 마우스 동작을 선택합니다.
- 마우스 위치: 찾은 이미지의 범위 내에서 마우스 위치를 선택할 수 있습니다.
- 마우스 절대 좌표: 이 값을 설정하면 이미지를 찾은 위치가 아닌 이 값으로 마우스가 동작합니다.
- 모서리 위치: 찾은 이미지의 영역을 9분할하여 모서리쪽에 클릭합니다.
- 비활성 모드 방식: 비활성 모드에서 액션을 처리하는 방식을 선택할 수 있습니다.
- 활성 모드 방식: 활성 모드에서 액션을 처리하는 방식을 선택할 수 있습니다.
변수
- 가져오기: 글로벌 또는 로컬 변수에 저장되어 있는 값을 이 액션의 속성 값으로 가져옵니다.
- 추가하기: 이 액션의 속성 값을 글로벌 또는 로컬 변수에 저장합니다.
이미지 확장 기능
- 캡쳐: 이미지를 캡쳐합니다. 이미지 만들기와 동일하지만, 세부적인 설정은 할 수 없습니다.
작업
- 매치 옵션: 이미지를 찾는 알고리즘을 선택합니다.
- 비교 간격: 이미지를 다시 비교하기까지 시간을 나타냅니다.
- 비교 횟수: 이미지를 다시 비교하는 횟수를 설정할 수 있습니다.
- 원본 비교: 이미지의 속성들을 무시하고 원본 상태로 비교를 수행합니다.
- 이미지 선택: ngi 이미지가 아닌 gif, png, bmp, jpg와 같은 이미지로 조건을 수행합니다.
- 이미지 이름: 이미지 전체 매치에 사용할 이미지의 이름을 선택합니다.
- 이미지 텍스트: 조건이 같음(True)일 때 표현한 텍스트입니다.
- 임계값: 이미지의 배경 또는 모양, 위치에 따른 빛의 노출 정도에 따라서 색상 값이 식별할 수 없는 수준으로 차이가 날 수 있습니다. 이러한 오차 범위를 상쇄하기 위한 값입니다.
- 조건 설정: 찾은 이미지의 개수가 설정한 값과 같거나 크면 같음(True)이 됩니다.
- 찾기 영역: 이미지를 찾는 영역이 너무 크면, 성능이 저하될 수 있습니다. 가능하면 이미지를 찾는 영역을 작게 설정하세요.
- 투명 사용: 투명한 픽셀값이 있는 경우 투명 픽셀은 무시하도록 설정할 수 있습니다.
조건 설정
- 같음: 이미지 체크에서 동일한 이미지로 판단된 경우 이동할 액션의 아이디를 설정합니다.
- 다름: 이미지 체크에서 다른 이미지로 판단된 경우 이동할 액션의 아이디를 설정합니다.