매크로 프로그램 다운로드
http://ngmsoftware.com/bbs/board.php?bo_table=product_review
엔지엠소프트웨어
엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.
www.ngmsoftware.com
#매크로 #메크로 #매크로프로그램 #엔지엠소프트웨어 #엔지엠에디터 #엔지엠플레이어 #비활성매크로 #하드웨어매크로 #기계식매크로 #마우스광클릭 #키보드매크로 #이미지서치 #이미지맥스 #이미지매치 #지존오토 #블로그 #오토핫키 #인스타그램 #유튜브 #소셜네트워크 #카카오톡 #텔레그램 #자동화
안녕하세요. 업무 자동화 RPA 매크로 오토픽입니다.
드디어 윈도우 화면을 인식해서 로직을 분기하는 조건 액션들을 알아볼 시간이 왔습니다.
그동안 마우스와 키보드로 1차원적인 내용만 알아봤는데요. 매크로의 핵심은 조건 처리입니다.
그중에서도 윈도우의 화면을 인식해서 로직을 분기할 수 있는 이미지 서치 또는 이미지 매치가 가장 중요하다고 할 수 있습니다.
이미지 서치가 무엇인지 알아보기 위해 오토픽 에디터를 실행하고, 왼쪽 하단의 도구 상자에서 조건 카테고리의 이미지 서치 액션을 더블 클릭하세요.
이미지 서치 액션을 더블 클릭하면 새로운 스크립트가 생성되고, 자동으로 액션이 추가됩니다.
이미지 서치는 화면을 인식하는 기술입니다. 오토픽 에디터와 플레이어에는 이미지 분석기가 기본 포함되어 있습니다.
윈도우 화면을 실시간으로 분석해서 내가 원하는 이미지의 위치를 찾아줍니다. 테스트를 위해서 그림판을 실행 해볼께요.
그리고, 찾을 이미지를 만들어야 하는데요. 아이콘을 하나 추가하도록 하겠습니다.
오토픽 에디터에서 이미지 서치 액션을 선택하고 우측의 속성창에 캡쳐 버튼을 클릭하세요.
인식하고 싶은 아이콘 또는 캐릭터 또는 어떤 이미지를 캡쳐해서 저장해야 합니다.
캡쳐 모드가 되면 그림판의 숫자 1 아이콘을 드래그해서 영역을 선택하세요. 그리고, F1을 누르면 캡쳐됩니다.
캡쳐한 이미지를 저장할 수 있는 윈도우 탐색기가 열리는데요. 기본 위치에 기본 이름으로 저장하도록 하겠습니다.
캡쳐가 완료되면 해당 파일명으로 이미지가 자동으로 선택됩니다.
속성창의 이미지 선택을 누르면 현재 매크로 시스템에 저장된 이미지 목록을 볼 수 있고, 선택할 수 있습니다.
또한, 이미지 파일 선택을 누르면 윈도우 탐색기에서 원하는 이미지를 찾아서 추가할 수 있습니다.
완성된 테스트 스크립트를 실행 해볼까요? 아래와 같이 하단 아웃풋 창에는 이미지를 찾는데까지 걸린 시간이 표시됩니다.
그림판에서 숫자 1 아이콘을 찾는데 0.166초가 걸렸습니다. 대략 0.2초 걸렸다고 보면 될듯하네요.
그리고, 우측의 속성창에는 정상적으로 이미지를 찾았다는 결과를 확인할 수 있는데요.
이미지를 찾았으면 True가 되고, 못찾으면 False가 됩니다. 그리고, 찾은 이미지의 중앙 좌표와 이미지 위치 및 크기가 표시됩니다.
이번에는 이미지가 랜덤하게 출현하는게 아니 고정 위치에서만 인식한다고 생각해볼까요?
다시 캡쳐를 누르고 그림판의 숫자 1을 드래그해서 선택합니다. 그리고, 콘트롤키를 누른 상태에서 F1을 눌러보세요.
그리고 이미지를 저장 해줍니다. 동일한 이름으로 덮어쓰기 하세요.
콘트롤키를 누른 상태로 캡쳐를 완료(F1)하면 아래 그림과 같이 해당 캡쳐 영역이 찾기 영역으로 자동 설정됩니다.
다시 스크립트를 실행하고 결과를 확인 해볼까요? 우측 속성창의 데이터 값들은 이전과 동일합니다.
하지만, 하단의 아웃풋을 보면 처리 시간이 드라마틱하게 감소한 것을 확인할 수 있습니다.
이전에는 0.166초가 걸렸지만 지금은 0.002초가 걸렸네요.
위에서 테스트한것과 같이 고정 위치는 속도면에서 엄청난 이점이 있지만, 그리 많은곳에서 사용되지는 않습니다.
고정 위치에 버튼이 있는 경우는 많지만, 캐릭터나 몬스터와 같이 이동하는 것들이 대부분이거든요.
선착순이나 주식, 코인, 선물과 같이 매도와 매수 버튼이 같은 곳에 있다면 빠르게 인식해서 클릭할 수 있을겁니다.
오토픽 매크로를 어디에 사용하느냐에 따라서 적절하게 사용하면 될듯 합니다.
이번에는 찾은 이미지를 클릭 해보도록 할께요. 우선, 클릭한 곳을 시각적으로 잘 분별하기 위해 그림판의 브러시 크기를 가장 크게하고, 색상도 변경하세요.
이미지 서치의 우측 속성창에서 동작 카테고리에 있는 마우스 사용을 True로 변경해줍니다.
윈도우 화면에서 원하는 이미지를 찾으면 마우스 클릭 동작이 발생하고, 못찾으면 마우스는 동작하지 않습니다.
매크로를 실행하면 그림판의 숫자 1 아이콘을 클릭합니다. 마우스만 이동하고 실제로 클릭은 발생하지 않는데요.
이런 이유는 앞의 마우스 클릭 강좌에서 알아봤듯이 그림판은 활성 상태여야 마우스 명령을 처리합니다.
따라서, 그림판을 활성화할 수 있도록 해줘야 합니다. 도구 상자의 프로그램 카테고리 안에서 프로그램 활성화 액션을 이미지 서치 위에 추가하세요.
이미지 서치 액션을 선택한 상태로 프로그램 활성화 액션을 콘트롤키를 누른 상태로 더블 클릭하세요.
그러면, 선택된 액션 위로 추가됩니다. 그냥 더블 클릭하면 현재 선택된 액션 아래로 추가됩니다.
매크로를 다시 실행하면 그림판에 오랜지색 점이 찍힙니다.
이미지 서치 및 이미지 매치와 같은 이미지 조건 액션들은 캡쳐할 때 돋보기가 실행됩니다.
돋보기를 잘 활용하면 이미지 캡쳐할 때 많은 도움이 됩니다. 이번에는 반투명 이미지를 어떻게 찾는지 알아보겠습니다.
원본 이미지는 아래와 같습니다.
이 이미지를 픽슬러 사이트에서 흰색 부분만 투명하게 만들어서 저장 해줍니다.
포토샵을 사용해보신 분들은 픽슬러 사이트도 쉽게 이용할 수 있을건데요.
원본 이미지를 불러온 후 아래 그림처럼 닷지 도구를 사용해서 흰색 부분을 클릭하면 해당 영역이 선택됩니다.
여기서 딜리트키(Del)를 누르면 흰색이 삭제됩니다.
[ 픽슬러 ]
투명한 부분은 체크하지 않기 위해서 특정 영역만 남겨두었습니다.
완성된 이미지를 바탕화면에 저장하고 파일명은 투명.png로 하세요.
아래와 같이 파일이 만들어졌을거에요. 원본 이미지와 투명 처리한 이미지가 다른걸 확인할 수 있습니다.
흰색 영역을 투명으로 처리했기 때문에 윈도우의 뒤 배경색이 보여집니다.
다시 오토픽 에디터로 돌아와서 바탕화면의 투명png 이미지를 선택해주세요.
투명으로 처리한 픽셀 정보를 처리할 수 있는지 테스트하기 위해 그림판의 흰색 영역을 다른 색으로 변경합니다.
그림판의 도구에서 페인트를 선택하고, 숫자 1의 흰색을 클릭하세요. 그러면, 흰색 부분만 오랜지색으로 채워집니다.
이제 매크로를 실행하면 조건 비교가 True가 되어야 합니다. 하지만, 결과는 False가 나올겁니다.
아직 투명 처리로 비교하지 않았기 때문입니다. 모양은 같지만 숫자 1의 색상이 다르기 때문에 True가 될 수 없습니다.
여기서 True가 되려면 오랜지색 숫자 1 부분을 비교 픽셀에서 제외시켜야 합니다. 그러기 위해서 투명하게 만든건데요.
오토픽 에디터의 이미지 서치 속성에서 투명 픽셀 제외를 True로 변경 해보세요.
이제 매크로를 다시 실행 해보면 비교 결과가 True가 되고, 클릭도 잘 됩니다.
시각적으로 확인하기 위해 그림판에 브러시를 선택하고, 색상은 검은색으로 변경하세요.
매크로를 실행하면 그림판의 숫자 1 아이콘 가운데를 클릭합니다.
이미지 서치의 모든 내용을 전부 알아보지는 않았지만, 핵심적인 기능에 대해서는 확인할 수 있었습니다.
글로 설명하는데는 한계가 있기 때문에 좀 더 자세한 내용을 확인하려면 아래 동영상을 참고 해주세요.
이미지 서치에 이어서 이미지 매치에 대해 알아보도록 하겠습니다.
이미지 서치와 이미지 매치는 동작 방식이 다르기 때문에 언제 어디에 서치 또는 매치를 사용하는게 좋을지 판단이 어려울 수 있습니다.
이 카테고리의 글들은 오토픽 에디터의 액션을 학습하는 내용만 다루기 때문에 개념, 이론, 노하우 또는 제작 팁 같은것들은 팁과 노하우 게시판에서 자세하게 다루도록 하겠습니다.
오토픽 에디터를 실행하고, 좌측 하단의 도구 상자를 클릭하세요. 그리고, 조건 카테고리에서 이미지 매치 액션을 더블 클릭하세요.
그러면, 새로운 스크립트가 자동으로 열리고 액션이 추가됩니다.
아래 파란색 숫자 1 아이콘을 마우스로 우클릭한 후 저장하세요.
윈도우의 바탕화면에 1.jpeg로 저장했습니다.
테스트를 위해 그림판을 실행하고, 브러시를 가장 큰 크기로 선택 해줍니다. 그리고, 색상도 오랜지색으로 변경하세요.
그리고, 이미지를 그림판에서 불러왔습니다.
다시 오토픽 에디터로 돌아와서 이미지 매치 액션을 선택하고, 우측의 속성창을 선택하세요.
이미지 파일에서 바탕화면의 파란색 숫자 1 아이콘을 선택 해줍니다.
이미지를 정상적으로 찾았는지 확인하기 위해 마우스 동작도 설정할께요.
이미지를 찾으면 에디터 하단의 출력창에 결과 값이 True로 표시됩니다. 하지만, 좀 더 시각적으로 쉽게 확인하려면 마우스 클릭이 좋습니다.
그리고, 지금까지 그림판에서 테스트할 때 반복적으로 설명했듯이 마우스 클릭이 되려면 창이 활성 상태여야 합니다.
따라서, 프로그램 활성화 액션을 추가하도록 하겠습니다.
※ 마우스 클릭은 이미지 조건에 기본 포함되어 있으므로, 마우스 클릭 액션을 따로 추가하지 않아도 됩니다.
프로그램 활성화 액션을 선택하고 우측의 속성창에서 프로그램 선택을 클릭하세요.
그림판으로 마우스를 이동한 후 F1을 눌러서 선택을 완료하세요.
이미지 매치 액션을 선택하고, 우측의 속성에서 마우스 사용을 True로 변경하세요.
그러면, 이미지를 찾아서 마우스 클릭까지 해줍니다.
매크로를 실행하면 일부는 정상 동작할겁니다. 아무런 문제없이요.
하지만, 일부 컴퓨터는 동작하지 않을 수 있습니다. 이유는 처리 속도 때문인데요.
이 스크립트의 시나리오를 보면, 그림판을 활성화 시키고 이미지를 찾아서 마우스 클릭이 이루어집니다.
하지만, 그림판 활성화 명령이 완료되기 전에 이미지를 찾아서 마우스 클릭이 발생하면 그림판에 오랜지색 점이 찍히지 않습니다.
물론, 마우스가 이동하고 클릭 명령은 주었을겁니다. 하지만, 이 명령을 받을 준비가 덜 끝났기 때문에 동작이 안되는겁니다.
이 문제를 해결하기 위해서 창이 활성화될때까지 약간 기다릴 필요가 있습니다.
실행 전 지연은 창이 활성화될때까지 기다리는 시간입니다. 500은 0.5초를 의미합니다.
그리고, 실행 후 지연은 액션이 동작하면서 에디터 하단의 출력창에 기록하기 위한 시간입니다.
매크로를 실행하고, 결과를 확인 해보면 그림판에 오랜지색 점이 찍힙니다. 확인하기 쉽도록 300%로 확대한 이미지입니다.
에디터 하단의 출력창에도 정상적으로 결과가 표시되었습니다.
이번에는 그림판의 도구에서 페인트를 선택하고, 아이콘의 숫자 1을 오랜지색으로 칠해보세요.
이미지 서치 액션은 픽셀의 색 정보를 기반으로 이미지를 분석하고 비교합니다. 그렇기 때문에 이 이미지를 찾을 수 없습니다.
하지만, 이미지 매치는 픽셀의 정보가 아닌 인접한 픽셀의 정보를 알고리즘으로 비교합니다.
그래서, 이미지 서치는 찾지 못하는 이미지도 이미지 매치는 정상적으로 찾아서 클릭 해줍니다.
이 예제와 같이 단순한 이미지는 문제없이 잘 찾을 수 있습니다. 하지만 복잡한 이미지는 못찾는 경우도 있습니다.
이 문제를 해결하려면 반투명 이미지를 제외하고 비교할 수 있도록 해야 합니다. 이미지 서치에서는 투명 픽셀을 사용했지만, 이미지 매치는 마스크를 사용합니다.
테스트를 위해서 이미지를 변경했습니다. 좀 더 복잡하고 다양한 색을 가진 이미지가 필요하기 때문입니다.
화면 중앙에 있는 캐릭터를 캡쳐해서 odin.png로 저장했습니다.
이 상태로 매크로를 실행하면 오딘의 캐릭터를 찾아서 클릭합니다.
색상이 다채로워서 잘 안보일수도 있는데요. 자세히 보면, 캐릭터 중앙에 오랜지색 점이 찍힌걸 확인할 수 있습니다.
배경이 바뀐것처럼 연출하기 위해 캐릭터 주변에 오랜지색 박스를 그렸습니다.
매크로를 실행하면 숫자 1 아이콘과는 다르게 이미지를 찾지 못하는걸 알 수 있습니다.
이제 반투명 영역을 제외시키고 비교하는 방법을 알아볼께요. odin.png 이미지를 그림판에서 열어주세요.
그리고, 아래와 같이 캐릭터만 흰색으로 칠해주세요. 그리고, mask.png로 바탕화면에 저장하세요.
다시 오토픽 에디터로 돌아와서 마스크 이미지에 위에서 저장한 이미지를 선택합니다.
다시 매크로를 실행하면 이번에는 정확하게 캐릭터를 찾아서 클릭해줍니다.
이외에도 다양한 옵션과 속성들이 존재합니다. 윈도우의 화면을 분석하는데 크게 영향을 주는건 없고, 마우스 동작이나 검증에 필요한 옵션입니다.
나중에 조건에서 사용되는 확장 속성들을 한번에 묶어서 설명하도록 할께요. 오늘은 여기에서 마치도록 하겠습니다.
더 자세한 내용은 아래 동영상을 참고해주세요.
[ 각종 자동화 매크로 및 RPA 프로그램 제작 해드립니다. ]
[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]
원본 글 보기
http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech
엔지엠소프트웨어
엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.
www.ngmsoftware.com
'엔지엠 매크로' 카테고리의 다른 글
간단한 메크로 프로그램 만들기 (0) | 2025.01.10 |
---|---|
매크로 프로그램 만들기 - C# .NET Core 매크로 프로그램 만들기. (이미지 및 다국어 리소스 모듈 추가) (0) | 2025.01.10 |
오토핫키 소리재생 (0) | 2025.01.09 |
게임 체팅 매크로 (1) | 2025.01.07 |
클릭 매크로 시간 (0) | 2025.01.05 |
댓글