최근 매크로를 만들다가 ocr기능때문에 고생했습니다. 글씨도 작고 폰트도 남달라서 인식이 잘안되었습니다.
그래서 몇가지 방법을 생각해 보았는데 공유하고 싶어서 올립니다. 이방법으로 숫자, 글자 가능합니다.
모든 경우의수를 만들어 두는 방식이기 때문에 ocr을 시도해 보시고 안되면 하시길 바랍니다. 너무 오래걸립니다.;;
1. 글자간격이 일정한 경우
예를들어서 1234 라는 숫자를 인식하고 싶은데 글자간격이 같다면
천단위 1~9까지 숫자를 이미지 추출을합니다.
백단위, 십단위, 일단위는 0~9까지 스샷을 찍어 줍니다.
자리수는 그룹을 다르게 해주어야 하고 인식률을 100% 해야합니다.
변수는 4자리 숫자이니까 4개를 만들어 주시고 마지막에 합쳐야하니 한개 더 만듭니다.
준비가 끝났으면 함수를 만드시고
스샷판단- 천단위 스샷 항목범위지정(전체) - 연산을 통해서각 변수에 천숫자 입력 -
스샷판단- 백단위 스샷 항목범위지정(전체) - 연산을 통해서각 변수에 백숫자 입력 -
스샷판단- 십단위 스샷 항목범위지정(전체) - 연산을 통해서각 변수에 십숫자 입력 -
스샷판단- 일단위 스샷 항목범위지정(전체) - 연산을 통해서각 변수에 일숫자 입력 -
마지막 연산 (1000*[천의자리변수])+(100*[백의자리변수])+(10*[십의자리변수])+([일의자리변수]) = 마지막에 만든 변수에 넣어줍니다.
제일 간단한 방법이지만 그래도 노가다네요... 글자는 아래방법으로 하세요
2. 글자 간격이 일정하지 않을 경우 (대부분의 경우)
0~9 가로 폭이 일정하지 않이 1번 방법이 불가능할 경우가 있습니다. 위치가 가로폭때문에 항상 변하기 때문이죠
이경우 더 무식한 방법인데 한그룹에 1~n번까지 숫자를 이미지 추출하고 인식률 100%로 만듭니다.
변수는 1개만 만들어 주면 됩니다.
스샷판단 - 1~n까지 스샷 항목범위지정(전체) - 연산을 통해서 변수에 숫자 입력
저는 1~200까지 만드는데 매크로로 캡쳐 준비하고 1시간 정도 걸렸습니다. 중간에 컴퓨터 멈춰서 첨부터 다시함 ㅠㅠ
다행히 배경이 항상 같아서 200개 배경은 안지워주었습니다..!!
그리고 스크립트 캡쳐기능으로 한장한장 저장하고 나중에 미리보기에서 파일 불러와도 이미지 인식 잘 됩니다.
200개의 스샷을 판단했는데 1초 걸려서 신기하네요;;
어떤 폰트던지 숫자를 읽을 수 있습니다. 그대신 숫자가 커질수록 노가다는 더 힘들어 집니다.
이방법은 글자에 간단할 수도 있겠네요 몇개 단어만 파악해서 하면되니까요.
아시는 분들도 있겠지만 그래도 올려두면 많은 사람들에게 도움이 될것같아 올렸습니다.
ocr 기능은 특정 숫자or글자가 나왔을경우 판단을 해야하는데 매번 실패하니 ㅂㄷㅂㄷ
오기로 한번 만든게 너무잘되서ㅎㅎㅎ
한번 빡세게 만드시면 나중에 편합니다 에고..ㅎㅎ
참고로 너무 불규칙한 숫자, 글자 매크로 방지 자동문자입력은 안됩니다...
그리고 드래그해서 스크롤을 올리고 내리는 경우 이상하게 인식율이 5~8퍼 떨어집니다.
인식률이 100%가 나오지 않으면 이 방법은 쓰지 못합니다~ 참고하세요
역시 어느 프로그램이던 불가능을 해결하는 건 노가다인 법이조..! 좋은 팁이에요!
첨언을 붙이자면 스샷판단에 보시면 보관이라는 체크 옵션이 있습니다. 몇 번째 항목이 서치되었는지 값을 보관해주는 옵션이에영.
1번 분기를 하면 연산으로 1=[천]의 값을 넣어주는 방식인 경우에, 보관 = [천]으로 해두시면 같은 효과를 보실 수 있어욥!