안녕하세요. 업무 자동화 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 아이콘 가운데를 클릭합니다.
이미지 서치의 모든 내용을 전부 알아보지는 않았지만, 핵심적인 기능에 대해서는 확인할 수 있었습니다.
글로 설명하는데는 한계가 있기 때문에 좀 더 자세한 내용을 확인하려면 아래 동영상을 참고 해주세요.
감사합니다.
'업무 자동화 매크로' 카테고리의 다른 글
텍스트 체크 매크로 (0) | 2024.08.13 |
---|---|
2부 - 인공지능 매크로 학습 시키는 방법 (0) | 2024.08.13 |
키보드 다운과 업 (0) | 2024.08.13 |
키보드 쓰기 (0) | 2024.08.13 |
마우스 동작 감지 이벤트 (0) | 2024.08.13 |