NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    스크립트 기초부터 하나씩! - 문자 인식 숫자 인식 매크로 만들기.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 게임 또는 업무를 자동화할 때 필수는 아니지만~ 없으면 아쉬운 기능이 문자 판독입니다. 문자 판독은 OCR(Optical Character Recognition)이라고 하는데요. 숫자와 문자가 포함된 이미지 또는 모니터 화면에서 실제 문자로 변환하여 추출하는 기술입니다. 문자 판독 기능이 필요한 이유는 이미지에 숫자 100은 크거나 작다라고 비교할 수 없기 때문입니다. 문자료 변환하면 100을 사칙연산으로 무언가 2차적인 처리를 할 수 있기 때문입니다. [ 자동 물약 먹기 예제 ]를 참고하면 이해하기 쉬울겁니다. 우선, 문자 인식 매크로를 만들기 위해 에디터를 실행하고 스크립트를 하나 추가(Ctrl+N)하세요. 그리고 도구 상자의 조건에서 "OCR 체크" 액션을 더블 클릭하여 스크립트에 추가하세요.

    MAOMGqI.png

     

     

    테스트를 위해 문자가 포함된 이미지 또는 화면이 있어야겠죠? 아래 동영상을 참고해서 같이 테스트 해봅시다.

    QtWYo5o.gif

     

     

    실제 게임 화면은 아니지만, 숫자를 인식할 범위를 선택하고 실행하면 해당 영역의 숫자값을 출력하게됩니다. 이미지 필터에서 대비(Contrast) 값을 101정도 주고 실행한 결과입니다. 여러분들도 이와 동일하게 "1205150"이라는 숫자가 인식된것을 알 수 있습니다. 엔지엠 매크로는 다른 매크로들과 다르게 이미지 테스터와 OCR 테스터 유틸리티를 이용해서 필터를 적용시키고 결과를 실시간으로 확인할 수 있는 기능을 가지고 있습니다. 그래서 보다 빠르게 이미지를 분석하고, 매크로에 적용시킬 수 있습니다.

    dq5X6O1.png

     

     

    유틸리티로 테스트한 내용을 스크립트에 적용하려면 옵션들을 복사해서 사용해야 합니다. 아래 그림과 같이 "OCR 영역" 속성을 전체 선택 후 복사하세요.

    dwdiarB.png

     

     

    스크립트에 추가한 OCR 체크 액션의 속성에 붙여넣기 해줍니다. 그리고, 숫자 사용도 True로 변경해주고 대비 값도 101로 입력하세요.

    i0ATMsZ.png

     

     

    실행하면 동일한 결과가 나와야겠죠? 실행(Ctrl+Alt+F8)을 눌러서 테스트 해보세요.

    IbqTzi4.gif

     

     

    테스터에서 나온 결과와 동일한 값이 출력되는걸 확인할 수 있습니다. 숫자가 아닌 문자를 테스트하려면 아래 동영상을 참고해서 따라 해보세요. 인식할 이미지의 배경이 단순하고 문자와 겹치는 색상이 없습니다. 그래서, 특별히 필터를 적용할 필요는 없어요^^; 테스트한 사이트는 뉴욕 타임즈입니다.

    1ouDDmh.gif

     

     

    3D게임과 같은 경우 글자가 배경색에 뭍히는 경우가 많습니다. 이런 경우에는 문자 판독율이 낮아지게 되는데요. 엔지엠 에디터에서 제공하는 수많은 필터를 사용해서 인식율을 높일 수 있습니다. 이미지 필터에 대한 내용은 [ 여기 ]에서 확인이 가능합니다. 아래 동영상처럼 테스터 유틸리티는 옵션 값을 변경하면서 시각적으로 확인이 가능합니다. 현존하는 매크로 프로그램중에 이미지를 직접 편집하면서 적용시키는 프로그램은 엔지엠 매크로가 유일합니다. 그래서, 스크립트 제작 속도가 가장 빠르고 쉽습니다.

    flxaTTo.gif

     

     

    몇가지 테스트를 더 해볼까요? 아래와 같은 이미지는 단순히 흑백으로 변환 하기만해도 잘 인식합니다.

    HzBjdtP.gif

     

     

    빨간색 배경의 숫자도 인식시켜봅니다. 1871로 인식이 됩니다.

    TkC6Rhq.gif

     

     

    스크립트의 OCR 체크에서 동일하게 적용 시켜보세요. 이미지에서 숫자 1871이 정상적으로 인식되었습니다.

    O5s6twI.png

     

     

    글을 작성하다보니 유틸리티에 대한 설명이 되었는데요. 여러분들도 직접 OCR 체크 액션을 추가하고 이런 저런 속성들을 변경해가면서 테스트 해보시기 바랍니다. 게임이나 업무에 따라 배경이 각각 다르고, 컴퓨터 환경도 다릅니다. 그래서 자신이 만들고자 하는 매크로 환경에 최적화된 옵션값을 찾아야 합니다. 이런 작업들이 많은 시간을 소비하게 만들고 어려운 부분이죠. 그렇더라도 필터 기능 자체가 없는 매크로를 이용하는것보다는 엔지엠 에디터로 이미지들을 전처리하고 직접 적용하면서 만드는게 가장 효율이 좋습니다.

    ※ 이 기능을 정상적으로 테스트하려면 에디터 6.1.0.17 이상으로 업데이트 해야 합니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천3 비추천0

    댓글목록

    등록된 댓글이 없습니다.