NGMsoftware

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

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

    팁 앤 테크

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

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

    에디터 문자 위치를 판독하고 읽어주는 TTS 매크로 만들기. (OCR 스마트 체크)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 오늘은 윈도우 화면에서 문자(글자)를 인식하고, 이 글자를 읽어주는 TTS 매크로 만드는 방법에 대해 알아보도록 하겠습니다. 테스트를 위해 엔지엠 RPA 매크로 에디터를 실행하고, 새로운 스크립트를 하나 추가하세요.

    [ OCR 스마트 체크 도움말 ]

    cnOuw3h.gif

     

     

    윈도우 화면에서 한줄 텍스트를 인식할때는 [ OCR 체크 ] 액션을 사용합니다. 그런데, 여러줄의 한글과 영어 그리고 숫자가 섞여 있을때는 OCR 체크보다 OCR 스마트 체크 액션을 사용하는게 좋습니다. 아래 동영상을 참고해서 OCR 스마트 체크 액션을 추가하고, 속성을 설정 해보세요.

     

     

    스크립트를 실행하면 바탕화면에 문자 또는 텍스트를 인식한 결과 이미지가 저장됩니다. 아래 그림을 보면, 인식 영역이 주황색 박스로 표시됩니다. 그리고, 위에 인식한 텍스트가 회색으로 표시됩니다. 여러줄에 걸쳐 있어도 인식이 잘 된것을 확인할 수 있습니다. 물론, 흰색 바탕에 정자체로 쓰여진 텍스트라서 그런거긴 하지만요^^

    h10AOLn.png

     

     

    이번에는 다른 글자를 인식 해볼까요? 여러분들도 아래 동영상과 같이 텍스트를 인식할 범위를 설정하고, 다시 실행 해보세요.

     

     

    이번에도 잘 인식은 되었지만,  두번째 줄에 마지막 글자인 ""이 누락된걸 알 수 있습니다.

    xm38EO5.png

     

     

    인식 범위는 속성에서 확인할 수 있습니다. 좀 더 정확하게 문자를 테스트 하기 위해 OCR 체크로 한번 더 인식해보도록 하겠습니다. 영역은 알고 있으니 처리하는건 그렇게 어렵지 않을겁니다. 다만, 변수를 이용해서 사각형 영역을 다시 계산(좀 더 넓게)해서 인식 영역을 만들어줘야 합니다.

    efzXjrE.png

     

     

    [ 변수 ]는 총 3개가 사용되었습니다. OCR 스마트 체크에서 찾은 모든 글자들 또는 텍스트의 위치를 배열(Array)로 변수에 저장합니다. 배열은 여러개의 값을 저장할 수 있습니다. 그래서, 텍스트 인식 영역(Rectangle)을 모두 변수에 저장 해줍니다. 그리고, 영역은 배열로 저장된 텍스트의 영역을 하나씩 처리하기 위해 따로 저장하는 변수입니다. 마지막으로 판독 문자 변수는 메모장에 인식한 글자를 쓰기위한 변수입니다. 다시 말해서 두번째 OCR 체크 액션이 인식한 텍스트를 저장할 변수입니다.

    HdJqMnn.png

     

     

    [ 클릭 ]을 하나 추가 했는데요. 이 클릭은 두번째 OCR 체크가 인식한 텍스트를 메모장에 입력하기 전 메모장을 클릭하기 위한 용도입니다. 텍스트를 쓴다는것은 텍스트를 쓸 수 있는 프로그램의 인풋(Input) 영역이 활성화되어 있어야 한다는 뜻입니다. 그래서, 메모장을 한번 클릭해서 활성 상태로 만들어줘야 합니다. 안그러면 현재 활성 상태인 프로그램에 텍스트 쓰기가 동작합니다.

    Rw5PD7r.png

     

     

    딱히 반복 횟수에 제한이 있는건 아니라서 아래 그림처럼 [ Foreach 반복 ]을 사용하여 모든 내용을 전부 메모장에 쓰도록 했습니다.

    shBXqPv.png

     

     

    [ 직사각형 사칙연산 ]을 통해 OCR 스마트 체크에서 인식한 텍스트 영역을 좀 더 넓게 잡아주세요. 첫번째 텍스트 인식 영역이 글자와 타이트하게 붙어 있기 때문에 취하는 조치입니다. 너무 글자만 정확하게 이미지를 따면, 인식률이 떨어지기 때문입니다.

    xm38EO5.png

     

     

    그리고, 두번째줄의 "" 인식 때문에 가로(Width) 넓이는 좀 크게 잡아 주었습니다.

    BMzgXbC.png

     

     

    이제 사각형 영역을 다시 만들었으므로 이 영역을 변수에 저장하고, OCR 체크 액션에서 가져옵니다. 한글 인식율을 높이기 위해 모델을 Best로 변경하세요.

    DFOJrJO.png

     

     

    [ 텍스트 쓰기 ]와 [ 키보드 입력 ]을 추가하세요. 텍스트 쓰기는 두번째 OCR 체크에서 인식한 글자를 메모장에 써주는 기능이고 키보드 입력은 텍스트를 다 쓴 다음 줄바꿈을 하기 위한 액션입니다. 이렇게해서 간단하게 OCR 스마트 체크로 멀티 라인 텍스트를 인식하고, 좀 더 성능이 좋은 OCR 체크로 한번 더 글자를 인식하도록 했습니다. 완성된 스크립트를 실행 해볼까요? 아래 동영상처럼 이제는 완벽하게 글자를 인식했습니다^^

     

     

    이번에는 아래 그림과 같이 [ 텍스트 말하기 ] 액션을 추가하고, 속성을 설정하세요.

    xbEutth.png

     

     

    엔지엠 RPA 매크로를 다시 실행 해볼까요? 소리가 잘 안들리시면 볼륨을 좀 더 높게 설정하고 해보세요^^

     

     

    이렇게해서 윈도우 화면에서 문자를 찾고, 찾은 문자들을 배열로 다시 한번 처리하는 방법에 대해 알아보았습니다. 텍스트도 잘 인식하고, 키 매크로, 마우스 매크로도 잘 동작합니다. 그리고, 텍스트를 읽어주는 TTS 기능도 잘 동작하고 있네요. 보통, 디스코드나 알람 또는 책을 자동으로 읽을 때 재미로 사용해볼 수 있는 기능들입니다. 대부분은 아마도, OCR 체크로 거래소의 금액을 인식해서 물건을 사고 파는데 이용하고 있을겁니다. 물론, 주식이나 코인에도 사용이 가능합니다. 다음에는 좀 더 재미있는 업무 자동화 RPA 매크로 예제를 가지고 찾아오도록 하겠습니다^^

    ※ 이 예제에 사용된 스크립트는 첨부되어 있으니, 다운로드 후 에디터로 열어보세요.

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    첨부파일

    댓글목록

    등록된 댓글이 없습니다.