NGMsoftware

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

    NGM 5의 매뉴얼입니다.

    NGM 5

    NGM 5의 매뉴얼입니다.

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

    에디터 도구 상자 - 조건 - 이미지의 텍스트 판독 OCR 체크 (Tool box, Condition, OCR Check)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 오늘은 이미지에서 문자를 추출하여 비교할 수 있는 OCR 체크 기능에 대해 알아보도록 하겠습니다. 대체로 화면을 캡처한 이미지에 사용자가 원하는 텍스트가 있는지 비교합니다. 그리고, 동일하다면 클릭 또는 어떤 행동을 수행하게 되죠. NGM 3의 내용도 한번 읽어보시는 게 좋습니다.

    NGM 3 OCR 사용 가이드 ]

    [ 유틸리티 - OCR 테스터 사용 방법 ]

     

    우선 간단한 테스트를 위해 아래와 같이 새로운 스크립트를 추가합니다.

    File > 새로 만들기 > 스크립트 (단축키: Ctrl+N)

    img.png

     

     

    도구 상자의 조건 카테고리에 OCR 체크를 스크립트에 추가합니다.

    1. 조건의 OCR 체크 선택
    2. 클릭 드래그하여 스크립트에 추가
    3. 속성의 상세 내용 확인
    img.png

     

     

    NGM 3과는 많은 부분에서 차이점이 발생했습니다. 단순했던 설정에 비해 이번에 새롭게 만든 OCR은 이미지 편집기와 동일하게 수정하여 텍스트를 정확하게 읽을 수 있도록 도와줍니다. 또한, 2가지만 제공하던 API가 하나 더 늘어서 3개를 제공합니다. 또한, 텍스트 검출 좌표를 활용하여 복잡하게 계산해야 했던 작업량을 확실히 줄일 수 있도록 해줍니다.

     

    좀 더 자세한 내용은 아래 동영상을 참고하시기 바랍니다. 그리고, NGM 3의 OCR과 비교해보면 달라진 부분들을 좀 더 명확하게 알 수 있을듯 합니다.

     

     

     

    좀 더 쉽게 스크립트를 작성하려면, OCR의 경우 미리 테스트해봐야 합니다. 어느 정도의 정확도가 필요한지 모르는 상태에서 스크립트를 만들고 실행하면서 확인하는 것은 상당히 어렵고 고된 일입니다. 그렇기 때문에 유틸리티의 [ OCR 테스터 ]를 이용하여 미리 테스트해보고, 최적의 결과 값을 스크립트에 적용시켜야 합니다.

     

    속성 정보

    img.png

     

     

    기본 설정 

    • 반전: 이미지의 색을 반전시킵니다.
    • 배경 크기 조절: 이미지의 크기는 변화 없이 배경의 크기만 변경합니다.
    • 자르기: 이미지의 상하좌우를 지정한 픽셀만큼 잘라냅니다. 원본 이미지는 유지되며 이미지 판단 조건이 실행될 때 잘라낸 후 비교하게 됩니다.
    • 크기 조절: 이미지의 크기를 변경합니다. 원본 이미지는 유지되며 이미지 판단 조건이 실행될 때 이미지 크기 조정 후 비교하게 됩니다.
    • 흐림 효과: 가우시안 블러 효과를 줍니다. 이 효과를 주면 이미지가 부드럽게(흐릿하게) 변화합니다.
    • 흑백: 이미지를 흑백으로 바꿉니다.

     

    기본 작업

    • 사용 여부: 이 액션의 사용 여부를 설정합니다. False로 설정하면 이 액션은 실행되지 않습니다.
    • 설명: 이 액션의 부가적인 설명을 입력합니다.
    • 실행 전 지연: 이 액션이 실행되기 전 지연 시간을 입력합니다.
    • 실행 후 지연: 이 액션이 실행된 후 지연 시간을 입력합니다.
    • 아이디: 스크립트 내에서 유니크한 아이디를 입력합니다.

     

    데이터

    • 마우스 좌표: 이 액션이 수행된 후 마우스가 클릭한 위치입니다.
    • 매인 윈도우 정보: 이 이미지를 캡처한 창의 위치와 크기 정보입니다. 이 값은 비활성 모드에서 이미지를 추적하기 위해 사용됩니다.
    • 컨트롤 윈도우 정보: 이 이미지를 캡쳐한 컨트롤의 위치와 크기 정보입니다. 이 값은 비활성 모드에서 이미지를 추적하기 위해 사용됩니다.
    • 판독 문자: OCR을 이용하여 판독한 결과 값이 표시됩니다.

     

    마우스 동작

    • 랜덤 맥시멈: 마우스 좌표를 랜덤 하게 처리하기 위한 최댓값입니다.
    • 랜덤 미니멈: 마우스 좌표를 랜덤 하게 처리하기 위한 최솟값입니다.
    • 마우스 동작: 마우스 동작을 선택합니다.
    • 마우스 위치: 찾은 이미지의 범위 내에서 마우스 위치를 선택할 수 있습니다.
    • 비활성 모드 방식: 비활성 모드에서 액션을 처리하는 방식을 선택할 수 있습니다.
    • 활성 모드 방식: 활성 모드에서 액션을 처리하는 방식을 선택할 수 있습니다.

     

    밝기와 대비

    • 대비: 대비(Contrast)를 조정합니다.
    • 밝기: 밝기(Brightness)를 조정합니다.

     

    변수

    • 가져오기: 글로벌 또는 로컬 변수에 저장되어 있는 값을 이 액션의 속성 값으로 가져옵니다.
    • 추가하기: 이 액션의 속성 값을 글로벌 또는 로컬 변수에 저장합니다.

     

    외곽선 (Canny)

    • 그라디언트: L1, L2 방식의 그라디언트 사용 유무를 선택합니다. 기본값 False는 L1을 의미합니다. 일반적으로 L2를 사용하지만, 정밀도가 높은 L1이 기본으로 적용되도록 되어 있습니다.
    • 임계값 1: 그라디언트 히스테리시스(Hysteresis)를 결정하는 X 임계값(Threshold)입니다.
    • 임계값 2: 그라디언트 히스테리시스(Hysteresis)를 결정하는 Y 임계값(Threshold)입니다.
      ※ Hysteresis는 그라디언트의 색상의 변화하는 과정에 의존한다는 뜻입니다. 이는 고정된 임계값을 적용하여, 의도치 않은 비교를 피하기 위함입니다
    • 캐니 사용: Canny 외각선 검출의 사용 여부입니다.
    • 커널: 노이즈를 필터링합니다. Canny 외곽선에서 노이즈를 필터링할 때 가우시안을 사용합니다. 이 때 가우시안 커널의 크기를 나타냅니다. 기본 값은 3입니다.

     

    외각선 (Laplace)

    • 델타: 델타 값은 연산이 완료된 대상 이미지를 저장할 때 적용되는 선택적 델타 값입니다.
    • 라플라시안 사용: 라플라스 또는 라플라시안이라고 불리는 연잔자로, 라플라시안 외각선 검출의 사용 여부입니다.
    • 매트릭스 타입: 매트릭스 타입은 행렬을 나타냅니다. 기본 값인 CV_8U는 8Bit Unsigned 행렬을 나타냅니다.
    • 배율: 계산된 라플라시안 값의 선택적 배율 인수 값입니다.
    • 외삽법: 픽셀 외삽법으로 경곗값을 채우는 Border Interpolation(경계 보간법)을 의미합니다. 인터폴레이션은 임의의 2 지점 사이에 연결 지점을 만들어줍니다.
    • 커널: 노이즈를 필터링합니다. Laplace 외곽선에서 노이즈를 필터링할 때 가우시안을 사용합니다. 이 때 가우시안 커널의 크기를 나타냅니다. 기본 값은 1입니다.

     

    외각선 (Sobel)

    • X 방향 미분: 그라디언트의 변화에서 X 방향 미분 값을 입력합니다. 기본 값은 1입니다.
    • Y 방향 미분: 그라디언트의 변화에서 Y 방향 미분 값을 입력합니다. 기본 값은 1입니다.
      ※ 미분: 외곽선을 검출하기 위해 그라이던트의 높은 변화량을 감지하는 미분 값으로, 그라디언트의 높은 변화량을 찾기 위해 사용됩니다.
    • 델타: 연산이 완료된 대상 이미지를 저장할 때 적용되는 선택적 델타 값입니다.
    • 매트릭스 타입: 매트릭스 타입은 행렬을 나타냅니다. 기본 값인 CV_8U는 8bit Unsigned 행렬을 나타냅니다.
    • 배율: 계산된 소벨 값의 선택적 배율 인수 값입니다.
    • 소벨 사용: 소벨 외각선 검출의 사용 여부입니다.
    • 외삽법: 픽셀 외삽법으로 경곗값을 채우는 Border Interpolation(경계 보간법)을 의미합니다. 인터폴레이션은 임의의 2 지점 사이에 연결 지점을 만들어줍니다.
    • 커널: 노이즈를 필터링합니다. Sobel 외곽선에서 노이즈를 필터링할 때 가우시안을 사용합니다. 이때 가우시안 커널의 크기를 나타냅니다. 기본 값은 3입니다.

     

    이진화

    • 반전: 색상을 반전시킵니다.
    • 이진화 사용: 이진화는 색상을 0(검은색), 1(흰색)로 표현하는 방법입니다. 흑백과 유사하지만, 더 단순한 형태입니다. 이진화 사용 여부를 선택합니다.
    • 임계값: 픽셀의 색상 값을 0과 1로 변화할 때 기준이 되는 값을 입력합니다.

     

    작업

    • OCR 영역: 판독할 영역을 선택합니다. 이미지 또는 화면에서 영역을 지정할 수 있습니다.
    • 대소문자 구분: 영문의 경우 대소문자가 일치해야 하는지 설정합니다. 이 값은 한글의 경우 자동으로 무시됩니다.
    • 변환 타입: Tesseract, MODI 2가지 API를 제공합니다. Google API의 경우 일치하는 문자의 좌표 값으로 마우스 이벤트를 설정할 수 있습니다. 하지만, 기존에 제공하던 Tesseract, MODI는 좌표 값은 처리할 수 없습니다.
      ※ 구글 API의 경우 유료 서비스라서 제외되었습니다.
    • 비교 간격: 사용자가 설정한 텍스트가 나올 때까지 반복해서 체크할 수 있습니다. 이때 반복하는 간격을 설정합니다.
    • 비교 횟수: 원하는 결과가 나타날 때까지 반복해서 비교 체크를 수행합니다. 움직이는 이미지의 경우 일정 시간 동안 반복해서 체크하면 보다 정확한 결과를 얻을 수 있습니다.
    • 비교할 텍스트: 이미지 또는 화면에서 판독한 문자와 비교하는 텍스트입니다.
    • 언어: 한국어, 영어, 중국어를 지원합니다. 판독할 문자를 선택합니다.
    • 텍스트 비교 옵션: 판독한 문자에서 비교할 텍스트가 같은지 또는 포함인지 사용자가 선택할 수 있습니다.
     
    조건 설정
    • 같음: OCR 체크가 True일 때 이동할 액션의 아이디를 설정합니다.
    • 다름: OCR 체크가 False일 때 이동할 액션의 아이디를 설정합니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.