NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • NGM 6
  • 매뉴얼

    NGM 6

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

    에디터 함수 상자 - 함수 - 이미지 텍스트 맵퍼 (Function box, Function, Image Text Mapper)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 이미지에서 문자 또는 숫자를 추출할 때 [ OCR 체크 ]를 주로 사용합니다. 하지만, 특수한 상황에서 OCR 체크와 같은 액션보다 직접 이미지를 가공해서 문자와 맵핑(Mapping)시키는게 더 좋을 수 있습니다. 보통 숫자팩이라는 기능으로 익숙할텐데요. 엔지엠 매크로의 이미지 텍스트 맵퍼가 이와 동일한 기능입니다. 단지, 숫자뿐만 아니라 어떤 모양도 텍스트로 인식시킬 수 있습니다. 이 기능은 이미지 조건(체크, 서치, 매치)에서 이미지 텍스트 속성을 사용하는 것과 동일합니다.

    NGZYV11.png

     

     

    이미지 텍스트 맵퍼는 이미지 매치를 0부터 9까지 숫자팩을 만들어서 사용할 때 [ 변수 ]와 [ 문자열 연결 ]을 이용해서 숫자팩을 만드는것보다 쉽고 빠릅니다. 테스트를 위해 엔지엠 매크로를 실행하고, 새로운 스크립트를 추가하세요.

    cnOuw3h.gif

     

     

    함수 상자의 함수 카테고리에서 이미지 텍스트 맵퍼 액션을 스크립트에 추가(더블 클릭 또는 드래그)하세요.

    3O6Ay73.png

     

     

    인식할 이미지 오브젝트는 3개를 추가 했습니다. 숫자팩으로 만든다면 각각의 숫자들을 캡쳐하면 됩니다. 아래 동영상을 참고하여 각각의 이미지를 캡쳐하세요. 이미지를 캡쳐하려면 마우스로 영역을 잡고, 더블 클릭하거나 F1 또는 F2를 누르면 파일로 저장할 수 있습니다.

     

     

    이미지 목록 속성을 클릭하면 캡쳐한 이미지들의 목록이 표시됩니다. 위에서 순서대로 7, 8, 9를 입력했습니다.

    N2ByxcV.png

     


    이미지가 모두 있기 때문에 결과 텍스트에 789가 나왔습니다. 처리 시간은 약 0.655초가 걸렸습니다.

    BuwsWQY.png

     

     

    그림판에서 가운데 동그라미를 삭제하고, 다시 실행 해보세요. 이번에는 결과 텍스트에 79가 표시됩니다.

    Ak5XT7E.png

     

     

    만약, 실패한 이미지도 문자로 처리하고 싶으면 아래와 같이 실패 이미지 텍스트에 값을 추가하세요.

    KFE1z5f.png

     

     

    이미지를 못찾아도 텍스트를 맵핑할 수 있습니다. 동그라미 이미지가 없기 때문에 @문자가 자리를 채우고 있습니다.

    XF9rmX8.png

     

     

    성능 향상 옵션을 Peak로 변경하고, 다시 실행 해보세요. 퍼포먼스가 2배 이상 빨라집니다.

    B1wWnA9.png

     

     

    찾기 영역까지 설정 해보세요. Peak 옵션에서 또다시 2배 이상 빨라집니다.

    iuFhlAn.png

     

     

    반투명 이미지에서 텍스트 맵핑 숫자팩을 만들기 위해 도형에 색깔을 추가하여 연출했습니다. 매크로를 실행하고, 결과를 보면 @만 표시됩니다.

    jMDD1zw.png

     

     

    1번, 3번 이미지를 열고, png 이미지로 저장하세요. 각각 mask1.png, mask3.png로 저장했습니다. 동그라미 이미지가 없기 때문에 mask2.png는 없습니다.

    cNKzaUu.png

     

     

    실수했네요. 마스크 이미지는 인식할 영역이 흰색이고, 제외할 영역이 검은색입니다. 따라서, 아래와 같이 바이너리 반전으로 흰색과 검은색 영역을 바꿔야 합니다.

    npbKK0Y.png

     

     

    마지막 필터 저장을 사용하면 아래와 같이 저장된 이미지를 확인할 수 있습니다.

    f9qb61s.png MlEnjvn.png

     

     

    마스크 이미지도 이미지 순서에 맞게 모두 추가해야 합니다. 만약, 마스크 없이 이미지를 판단하더라도 빈 항목을 추가해야 합니다. 아래 그림과 같이 마스크 목록 편집기에서 하단의 추가하여 빈 아이템을 추가합니다. 그리고, 마스크 없이 사용할 위치로 위, 아래 화살표로 이동 시켜주세요.

    TTLRj9X.png

     

     

    이번에는 손글씨 숫자를 인식할 수 있는 숫자팩을 만들어 보겠습니다. 아래와 같이 그림판에 손글씨 숫자들을 적어 두었습니다. 3회에 걸쳐서 정상 동작하는지 테스트하기 위해 3개의 세트를 만들었습니다. 위에서부터 하나씩 처리합니다.

    hfLoNlb.png

     

     

    그림판의 첫줄에 있는 1234567 숫자를 하나씩 영역을 지정해줍니다.

    mnuEcsw.png

     

     

    찾기 영역 목록을 클릭해보면 7개의 영역이 추가되어 있습니다.

    L70e2Ir.png

     

     

    두번째 인식 대상은 2745631입니다. 3번째도 동일하게 작업하면 됩니다.

    IoNGhuA.png

     

     

    매크로를 실행 해볼까요? 핸들 추가 액션을 제외하고 하단의 아웃풋을 보면 숫자팩이 텍스트를 처리하는데 약 0.6~0.7초정도 소요되었습니다. 

    sy34SpN.png

     

     

    텍스트도 잘 인식되고 있는걸 확인할 수 있습니다.

    B7il2Sx.png

     

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.