NGMsoftware

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

    NGM 6

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

    에디터 도구 상자 - 조건 - 문자 판독 OCR 체크 이벤트. (Toolbox, Condition, OCR Check Event)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 RPA 매크로에는 스크립트의 액션과 상호 작용할 수 있는 이벤트 기능을 제공합니다. 이벤트는 사용자 또는 다른 프로그램에서 마우스 클릭이나 키보드 입력 또는 이미지 감지에 대해 실시간으로 반응할 수 있습니다. 또한, 예약 작업 이벤트를 통해 크론탭으로 설정한 시간에 원하는 스크립트를 실행시킬수도 있습니다. 이 기능은 매우 강력한 스크립트를 제작할 수 있도록 도와줍니다. 이 이벤트를 사용하면 [ OCR 체크 ]로 반복하면서 체크하던 로직을 간단하게 처리할 수 있습니다.

    ※ 이벤트는 엔터프라이즈 기능입니다.

    1. 이벤트 위치는 도구 상자 > 조건 > OCR 체크 이벤트입니다.
    2. 더블 클릭 또는 드래그 앤 드롭으로 스크립트에 이벤트를 추가하세요.

    p6wce9V.png

     

     

    OCR 체크 이벤트로 원하는 문자을 추출해서 판독하려면 아래 동영상과 같이 찾을 문자의 위치를 설정해야 합니다.

    dgmEF9i.gif

     

     

    OCR 체크 이벤트를 테스트하려면 다음과 같은 시나리오가 필요합니다. 사용자가 설정한 영역의 이미지에서 문자열을 추출하는 이벤트를 등록해줍니다. 그리고, 설정한 문자열이 화면에 출현할때까지 다른 로직을 수행하는 스크립트를 만듭니다. 여기에서는 [ 그룹 ]과 [ 액션 이동 ]으로 무한 반복하도록 했습니다. 사용자가 OCR 체크 이벤트에 설정한 판독 영역의 이미지가 판단할 문자열과 같으면 이벤트 트리거가 동작하고, 이벤트에 설정한 아이디로 이동됩니다. 이 예제에서는 종료 그룹으로 이동하기 때문에 스크립트는 완료됩니다. 아래와 같이 스크립트를 구성하세요.

    XOn4pBn.png

     

     

    그룹 액션들은 반복과 이벤트가 발생했을 때 스크립트를 종료하기 위한 아이디를 설정 해줍니다. 그룹에 각각 아이디를 "반복"과 "종료"로 설정하세요.

    ae3Gib0.png

     

     

    [ 액션 이동 ] 액션에서 그룹의 반복으로 이동시킵니다.

    NNjYj8U.png

     

     

    완성된 스크립트를 실행하기 전 위에서 캡쳐한 "매뉴얼" 글자를 인식하기 위한 몇가지 설정이 필요합니다. OCR 체크 액션에 대한 매뉴얼을 이미 읽어보셨다면 이 부분은 쉽게 이해할 수 있을겁니다. 아래 그림과 같이 OCR 체크 이벤트의 속성을 설정해주세요.

    1. 모델 선택: Best
    2. 언어: Korean
    3. 비교할 텍스트: 매뉴얼

    pScjFaT.png

     

     

    OCR 체크 이벤트가 발생하면 "종료" 액션으로 이동하도록 설정했습니다. 따라서, 아래 동영상처럼 "반복" 액션으로 액션 이동이 되면서 무한 반복하다가 판독 문자가 출현하면 스크립트가 종료하게 됩니다. 판독 문자가 있는 웹브라우저를 최소화하고, 스크립트를 실행하세요. 그리고, 창을 다시 복구하면 판독한 이미지의 문자와 사용자가 비교할 문자를 비교해서 같으면 OCR 체크 이벤트가 발생하고 "종료" 액션으로 이동하면서 스크립트는 완료됩니다.

    hYqGegK.gif

     

     

    OCR 체크 액션과 OCR 체크 이벤트는 문자열을 판단하는 여러가지 방법을 제공합니다. 더 넓은 범위의 문자를 판독하고, 여기서 원하는 문자가 포함되어 있는지 체크할 수 있습니다. 이렇게하면 특정 문자 영역이 아닌 더 넓은 곳에서 러프하게 비교가 가능합니다. 자동화의 세계에서 완벽하게 일치하는건 잘 없습니다. 어떤 알 수 없는 예외 상황에서도 잘 동작해야 합니다. 이 테스트를 위해 문자 판독 영역을 아래와 같이 변경해줍니다.

    fXeIIB9.png

     

     

    문자 판독 영역에 보면 "조건" 이라는 문자가 포함되어 있는걸 알 수 있습니다. 전체 문자열에서 "조건" 문자열이 포함되어 있는지 확인하기 위해 ①텍스트 비교 옵션Contains로 변경합니다. 옵션은 총 4가지가 존재하는데요. 판독한 문자와 같은지 판단하는 Equals와 이번에 알아볼 Contains 그리고, 설정한 문자열로 시작하는지 체크하는 StartWith가 있습니다. StartWith와 반대되는 EndWith까지 총 4가지입니다. ②비교할 텍스트도 "조건"으로 변경해주세요.

    8l9p2rn.png

     

     

    결과를 확인 해보면~ 아래 동영상과 같이 판독한 문자열과 위치를 확인할 수 있습니다.

    sfDLTUB.gif

     

     

    속성 정보

    0rMHFmn.png

     

     

    기본 설정 

    • 가우시안 효과: 가우시안 블러 효과를 줍니다.
    • 메디안 효과: 메디안 블러 효과를 줍니다.
    • 반전: 이미지의 색을 반전시킵니다.
    • 배경 비율: 크기를 조정할 때 원본 크기의 비율을 유지합니다.
    • 배경 색상: 배경의 크기를 늘릴 때 늘어난 배경의 색상을 선택하세요.
    • 배경 크기 조절: 이미지의 크기는 변화 없이 배경의 크기만 변경합니다.
    • 이미지 비율 유지: 크기를 조정할 때 원본 크기의 비율을 유지합니다.
    • 자르기: 이미지의 상하좌우를 지정한 픽셀만큼 잘라냅니다. 원본 이미지는 유지되며 이미지 판단 조건이 실행될 때 잘라낸 후 비교하게 됩니다.
    • 이미지 크기 조절: 이미지의 크기를 변경합니다. 원본 이미지는 유지되며 이미지 판단 조건이 실행될 때 이미지 크기 조정 후 비교하게 됩니다.
    • 흑백: 이미지를 흑백으로 바꿉니다.

     

    기본 작업

    • 사용 여부: 이 액션의 사용 여부를 설정합니다. False로 설정하면 이 액션은 실행되지 않습니다.
    • 설명: 이 액션의 부가적인 설명을 입력합니다.
    • 실행 전 지연: 이 액션이 실행되기 전 지연 시간을 입력합니다.
    • 실행 후 지연: 이 액션이 실행된 후 지연 시간을 입력합니다.
    • 실행율: 실행율을 설정할 수 있습니다. 이 값을 50으로 설정하면 이 액션은 50프로 확률로 실행되거나 건너뛰게 됩니다.
    • 아이디: 스크립트 내에서 유니크한 아이디를 입력합니다.

     

    노이즈 제거

    • 노이즈 제거 사용: 노이즈 제거 사용 여부를 선택하세요.
    • 시그마 필터: 시그마 필터를 설정합니다. 0이면 영향을 받지 않고 그 외에는 이웃 픽셀 지름에 비례해서 적용됩니다.
    • 이웃 픽셀 지름: 이웃 픽셀 지름을 설정하세요.
    • 컬러 공간 시그마: 컬러 공간의 시그마 값을 설정합니다. 이 값이 클수록 많은 영향을 받게 됩니다.

     

    데이터

    • 마우스 X 좌표: 마우스 X 좌표입니다.
    • 마우스 Y 좌표: 마우스 Y 좌표입니다.
    • 마우스 좌표: 이 액션이 수행된 후 마우스가 클릭한 위치입니다.
    • 매인 윈도우 정보: 이 이미지를 캡처한 창의 위치와 크기 정보입니다. 이 값은 비활성 모드에서 이미지를 추적하기 위해 사용됩니다.
    • 컨트롤 윈도우 정보: 이 이미지를 캡쳐한 컨트롤의 위치와 크기 정보입니다. 이 값은 비활성 모드에서 이미지를 추적하기 위해 사용됩니다.
    • 판독 문자: 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 영역: 판독할 영역을 선택합니다. 이미지 또는 화면에서 영역을 지정할 수 있습니다.
    • 대소문자 구분: 영문의 경우 대소문자가 일치해야 하는지 설정합니다. 이 값은 한글의 경우 자동으로 무시됩니다.
    • 모델 선택: 문자 판독에 사용되는 모델을 선택합니다.

    • 분석 모드: 페이지 레이아웃 분석에 가능한 모드를 나타냅니다.

    • 비교할 텍스트: 이미지 또는 화면에서 판독한 문자와 비교하는 텍스트입니다.
    • 성능: 액션 또는 이벤트의 성능을 조절합니다. 이 값이 클수록 속도는 저하되지만 부드럽게 처리됩니다.
    • 숫자 사용: 이 값을 True로 변경하면 문자 판독에 숫자 인식률을 높여줍니다.
    • 액션 이동 아이디: 이벤트가 발생하면 사용자가 설정한 액션 아이디로 이동됩니다.
    • 언어: 이미지에서 판독할 언어를 선택하세요.
    • 에러 처리: 조건에서 에러가 발생한 경우 처리하는 방식을 결정합니다.
    • 오래된 버전 사용: OCR 문자 판독 기능에 문제가 있는 경우 이 옵션을 True로 설정 후 다시 해보세요.
    • 테서렉트 엔진 모드: 테서랙트 엔진 모드를 선택하세요.
    • 텍스트 비교 옵션: 텍스트 비교 옵션을 선택하세요.
    • 파라메터 값: 동작을 제어하기 위한 파라메터 이름의 값입니다.
    • 파라메터 이름: 동작을 유연하게 제어하기 위한 파라메터를 제공합니다. 제공되는 파라메터 이름입니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.