본문 바로가기
이미지 매크로

연속된 숫자에서 최고 큰 값의 위치를 찾아서 클릭하는 매크로 만들기.

by 업무자동화 2023. 5. 22.
반응형

무료 매크로 프로그램 다운로드

http://ngmsoftware.com/bbs/board.php?bo_table=product1&wr_id=32 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#매크로 #매크로프로그램 #메크로 #g매크로 #마우스매크로 #키보드매크로 #엑셀매크로 #키매크로 #수강신청매크로 #로지텍마우스매크로 #매크로키보드 #파이썬매크로 #매크로뜻 #매크로마우스 #로지텍매크로 #ld플레이어매크로 #오토마우스매크로 #키보드마우스매크로 #오토핫키매크로 #이미지매크로 #이미지인식매크로 #하드웨어매크로 #화면인식매크로 #선착순매크로 #이미지서치매크로 #한글매크로 #심플핫키 #simplehotkey #지존매크로 #짜맥 #챗굴

 

  • 엔지엠 무료: 무료 (전체 기능의 50프로)
  • 엔지엠 커뮤니티 월 이용료: 4,500원, 1년 이용료: 55,000원 (전체 기능의 80프로)
  • 엔지엠 얼티밋 월 이용료: 6,500원, 1년 이용료: 77,000원 (전체 기능의 90프로)
  • 엔지엠 엔터프라이즈 월 이용료: 9,200원, 1년 이용료: 110,000원 (전체 기능 사용)

 

안녕하세요. 엔지엠소프트웨어입니다. 윈도우 화면에서 아래 그림과같이 여러줄로 숫자가 있습니다. 가장 높은 수를 찾아서 클릭하는 방법에 대해 알아보도록 하겠습니다.

 

 

첨부되어 있는 첫번째 스크립트를 열어보면 아래와 같이 구성되어 있습니다. [ OCR 체크 ] 액션으로 숫자들을 읽고, 이 숫자 배열을 저장하는 [ numbers 변수 ]가 추가되어 있습니다.

 

 

최고값 변수는 배열에서 가장 큰 값을 저장하는 변수고, 위치 변수는 최고값이 몇번째 줄에 있는지 위치를 저장하는 변수입니다. OCR 체크 액션은 그림판에서 숫자를 인식한 후 numbers 변수에 저장합니다. 아래 그림과같이 인식 영역이 설정되어 있습니다.

 

 

OCR 체크 모델 선택에서 Fast를 선택하세요. 그리고, 숫자 사용 True를 선택해야 더 정확하게 인식할 수 있습니다.

 

 

OCR 체크가 실행되면 아래와 같이 이미지에서 숫자들을 뽑아올 수 있습니다.

3
7
11
2

 

눈으로 보기에는 줄바꿈으로 어떤 처리를 할 수 있을거 같아 보입니다. 하지만, 프로그래밍 언어에서는 줄바꿈도 하나의 문자로 처리됩니다. 따라서, 아래와 같습니다. \n은 윈도우 시스템에서 줄바꿈을 나타내는 기호입니다. 원칙적으로는 \r\n이지만, \n만 사용해도 됩니다.

2\n7\n11\n2

 

[ 문자열 분리 ] 액션에서 변수 값을 가져와서 아래와 같이 배열로 만들 수 있습니다.

 

 

변수에 저장되어 있는 배열을 가져와서 [ 배열 데이타 찾기 ] 액션에서 정렬 방법을 Descending(내림차순)으로 선택하세요. 배열 값이 11, 7, 3, 2로 정렬됩니다. 만약, 가장 작은 숫자를 찾으려면 여기서 Ascending(오름차순)으로 변경하면 됩니다. 배열 인덱스를 보면 0으로 되어 있습니다. 배열의 숫자들을 정렬한 후 첫번째 값을 가져옵니다.

 

 

원본 배열값 변수(numbers)를 가져오고, 최고 값도 가져옵니다. 배열에서 최고 값의 위치를 찾아낼 수 있습니다.

 

 

윈도우 화면에서 숫자 목록을 뽑아낸 후 가장 큰 숫자가 몇번째에 위치해 있는지 찾는 매크로를 실행 해보세요. 아래와 같은 결과를 확인할 수 있습니다. 3, 7, 11, 2 목록에서 가장 큰 값은 11이고 위치는 2입니다. 프로그래밍에서 위치는 0부터 시작합니다. 따라서, 11의 위치는 2가 됩니다.

https://youtu.be/dLF66FzjzqE

 

 

위치 값을 알아냈으니 11이 있는 곳을 클릭해야 하는데요. 이 부분을 처리하는게 복잡할 수 있습니다. OCR 체크 영역의 시작 위치에서 각각의 숫자 높이를 위치 값과 곱해서 더해야 합니다. 이를 수식으로 나타내면 아래와 같습니다. 마지막에 1을 더한 이유는 위치 인덱스가 1부터 시작해야 하기 때문입니다. 좀 더 정확하게 클릭하려면 숫자 높이는 2로 나눠야 합니다. 그래야 가운데를 클릭하기 때문입니다. 사실 더 복잡한 내용이긴 하지만, 간단하게는 이렇게 표현할 수 있습니다.

숫자 시작 위치 + 숫자 높이 * (위치 + 1)

 

[ 마우스 클릭 ] 액션으로 숫자 위치를 알아냅니다.

 

 

[ 파이썬 코드 실행 ] 액션을 추가하고, 수식을 정리 해봅시다. 오토핫키가 더 편하다면 [ 오토핫키 코드 실행 ] 액션을 사용해도 됩니다. 물론, [ C# 코드 실행 ]도 상관 없습니다. 하지만, 복잡한 수식을 액션 하나 하나 추가하면서 처리하기에는 많이 복잡합니다. 좀 더 편리하게 매크로를 작성하려면 간단한 수식 처리정도는 알아두시는게 좋을겁니다^^

 

 

마지막으로 찾은 최고 큰 값의 위치를 클릭할 수 있도록 변수에 저장된 좌표를 가져와서 클릭하게 합니다.

 

 

완성된 매크로를 실행 해보세요.

https://youtu.be/XH5DbTw-kUw

 

 

아래와 같이 숫자를 더 추가한 후 다시 테스트 해보겠습니다.

 

 

X 좌표 위치와 OCR 체크 영역을 다시 잡은 후 다시 실행 해보세요.

https://youtu.be/lxWGOp1FHcg

 

 

내용이 다소 복잡한면이 없지않아 있지만, 각각의 액션들을 하나씩 잘 살펴보면 왜 이렇게 만들었는지 이해할 수 잇을겁니다. 첨부되어 있는 스크립트를 참고하여 원하는 업무 자동화를 만들어보세요. 궁금한 내용은 [ 고객 서비스 단톡방 ]에 물어보시면 답변 해드리겠습니다^^

 

[ 각종 자동화 매크로 및 RPA 프로그램 제작 해드립니다. ]

[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]

 

원본 글 보기

http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#비활성매크로 #g102매크로 #철권매크로 #레이저마우스매크로 #ghub매크로 #녹화매크로 #키보드반복매크로 #로지텍마우스광클매크로 #플라스크매크로 #윈도우매크로 #비활성g매크로 #오토매크로 #자동사냥 #주식매크로 #오토핫키키보드 #오토핫키마우스 #오토핫키이미지 #지존오토 #기계식매크로 #하드웨어매크로 #무한반복매크로 #대량이메일발송매크로 #엑셀VBA매크로 #주식모니터링매크로 #이미지맥스 #심플핫키 #오토클리커 #UiPath #Brity #스푸퍼 #DKOM #모바일게임매크로 #다클라매크로 #다계정매크로 #인스타그램매크로 #짜맥매크로 #챗굴매크로

반응형