안녕하세요. 업무 자동화 RPA 매크로 오토픽입니다.
오늘 알아볼 내용은 이미지 문자 판독입니다. 일반적으로 문자 인식, 텍스트 인식, 숫자 인식과 같은 기능으로 많이 불리는데요.
정식 명칭은 OCR(Optical Character Recognition)이라고 해서 광학 문자 인식입니다.
용어야 어떻든 의미만 잘 전달되면 되겠죠?
윈도우 화면에서 문자 또는 숫자를 어떻게 인식하는지 알아볼께요.
오토픽 에디터를 실행하고, 좌측 하단의 함수 상자에서 함수 카테고리를 확장하세요.
그리고, 이미지 문자 판독 액션을 더블 클릭해서 스크립트에 추가해줍니다.
텍스트 인식을 위해서 예제로 사용할 한글과 영어가 필요합니다. 숫자도 필요하겠군요.
이전에 테스트에 사용하던 엑셀을 열어서 테스트 해보도록 하겠습니다.
OCR 문자 판독은 윈도우 화면에서 문자를 추출해야 합니다. 윈도우 화면이라는 이미지에서 문자를 찾고, 어떤 문자인지 판단하는 알고리즘이 필요한데요.
이 알고리즘의 버전이 다양하고, 지속적으로 업데이트도 되기 때문에 자신에게 맞는 학습 모델을 사용하는게 좋습니다.
저는 일단 최신 버전으로 다운로드 받았습니다. 아래 사이트에 접속해서 파일을 다운로드하세요.
문자 판독 모델은 3종류입니다. normal과 best 그리고, fast입니다.
[ tessdata 다운로드 ]
저는 3개 모두 받았습니다. tessdata 폴더 선택을 클릭하고, 위에서 다운로드 받은 폴더를 선택하세요.
그리고, 문자를 판독할 인식 영역을 설정하세요.
테스트로 인식할 영역이 한글이기 때문에 판독 언어를 한글로 설정해야 합니다.
매크로를 실행하면 홍길동이라고 한글을 정상적으로 인식하게됩니다.
이번에는 tessdata 폴더를 fast로 변경하고 다시 실행 해볼께요. 아래와 같이 실행 후 하단의 시간을 확인 해보세요.
위의 best와 비교해보면 역시 fast가 처리속도는 더 빠릅니다. 대략 2배정도 차이가 나는군요.
이번에는 엑셀의 전화번호를 인식해볼께요. 숫자와 하이픈 그리고, 영어 X가 조합되어 있습니다.
숫자는 언어에 상관없이 인식할 수 있기 때문에 언어만 영어로 변경해주면 됩니다.
매크로를 다시 실행하고 결과를 확인 해보세요.
이번에는 좀 더 복잡한 이미지를 이용해서 숫자를 인식 해볼께요. 예제는 아래 이미지입니다.
여기서 330,000만원이라는 금액을 인식할건데요. 이미지가 너무 작아서 인식이 잘 안될수도 있습니다.
예상한것처럼 글자가 너무 작아서 인식을 실패했습니다.
이번에는 이미지를 2배 키우도록 하겠습니다. 배율 값을 2로 변경하고 다시 실행 해보세요.
숫자를 읽기는 했지만, 100프로 완벽하지는 않습니다.
이런 경우에는 간단하게 인식 텍스트를 설정해서 해결할 수 있습니다.
아래와 같이 속성의 인식 텍스트에 0123456789,를 입력하고 다시 실행 해보세요.
인식 텍스트를 지우고, 인터폴레이션 모드를 변경하고 다시 실행 해볼께요. 인터폴레이션 모드를 NearestNeighbor로 변경했습니다.
정상적으로 인식이 된것을 확인할 수 있습니다.
인식할 대상이 너무 작으면 인식율이 그만큼 떨어질 수밖에 없습니다. 그래서, 배율을 통해서 이미지를 키워서 분석할 수 있는데요.
여기서, 세로 배율에 값을 1이 아닌 값으로 설정하면 가로와 세로를 다르게 조정할 수 있습니다.
배율이 2.5고 세로 배율이 1이라면 2.5로 고정 배율을 사용합니다. 가로와 세로를 다르게 하려면 1이 아닌 값을 입력하면 됩니다.
인터폴레이션 모드는 2D와 3D에서 자주 사용하는 그래픽 기술입니다. 주로 보간법이라고 부르는데요.
A점에서 B점까지 선형으로 결합된 가중치를 사용하여 새로운 구간의 값을 결정하는 방법을 제공해줍니다.
아래 그림을 보면 좀 더 쉽게 이해할 수 있을텐데요. 파란색 선과 같이 데이터가 부족할 때 보간법을 사용해서 촘촘하게 데이터를 채워줍니다.
꼭 그래픽 분야에만 사용하는건 아니고, 제가 일하는 반도체쪽에서 웨이퍼의 메트롤로지 데이터가 부족할 때 사용하기도 합니다.
이미지에서는 이미지를 확대하게되면 픽셀 사이에 공백이 생기게 됩니다. 이 공백을 채워주는 방법을 말합니다.
각각의 옵션에 따라서 이미지를 2배 확대했을 때 아래와 같은 품질을 보여줍니다.
Default | Low | High | Bilinear | Bicubic | NearestNeighbor | HighQualityBilinear | HighQualityBicubic |
이외에도 스무딩, 픽셀 오프셋, 컴포지션등등... 추가 옵션이 있습니다. 이 옵션들에 따라서 이미지 품질이 달라집니다.
인공지능 기술이 발전함에 따라서, 자동으로 화질을 개선해주는 패키지도 있습니다. 추후에 개선하게 될 때 기능을 추가하도록 하겠습니다.
그리고, 구글의 딥러닝 인공지능을 사용할 수 있는 비전 AI 기능도 있습니다. 이 기능을 이용하면 더 좋은 퍼모먼스를 낼 수 있습니다.
외부 API 관련 내용을 강의할 때 한번 더 자세하게 다루도록 하겠습니다.
이외의 내용은 아래 동영상을 참고해주세요.
감사합니다.
'업무 자동화 매크로' 카테고리의 다른 글
엑셀, 한글 암호 풀기 매크로 예제 (0) | 2024.08.23 |
---|---|
랜덤 녹화 매크로 인공지능 업무 자동화 RPA 솔루션 오토픽 (0) | 2024.08.23 |
엑셀 반복 자동화 매크로 프로그램 사용 방법 도움말 (0) | 2024.08.22 |
단순 반복 업무 자동화 매크로 (0) | 2024.08.22 |
그룹 (동시에 매크로를 실행할 수 있는 비동기 매크로) (0) | 2024.08.22 |