0. 실행영상


실행영상
<클릭해서 열기>
블루스택에서 캡처하는 경우
<클릭해서 열기>

동영상에서 캡처하는 경우
<클릭해서 열기>



준비물

깃허브(본파일다운) : https://github.com/suriSang/malddalocr

tesseract ocr 파일 : https://github.com/UB-Mannheim/tesseract/wiki


일단 내 환경은 윈도우10 64bit인데 다른 환경에서는 안돌아갈거 같음



1. 깃허브에서 main.exe 파일 다운

https://github.com/suriSang/malddalocr

가운데에 main.exe 들어가서


오른쪽에 download


.py파일들이 코드 파일들이고 .exe파일은 .py파일들 가지고 실행파일 만든거임

파이썬 개인적으로 쓰고 실행파일 못믿겠다 싶으면 .py가지고 ㄱㄱ

사용한 라이브러리는 pip install keyboard, clipboard, pytesseract, opencv-python, pyautogui, pypiwin32


바이러스토탈에서는 4개 백신에서 바이러스로 떴는데

윈도우를 읽어들이고 클립보드에 접근하다보니까 바이러스로 뜬거 같음

의심스러우면 파이썬 .py 파일 가지고 ㄱㄱ



2. 테서렉트 ocr 설치

https://github.com/UB-Mannheim/tesseract/wiki 


이건 이미지에서 글자들을 추출하는 프로그램인데 내가 이걸 가지고 팬수를 긁어서

이걸 따로 설치해줘야함


자신의 환경에 맞게 설치 ㄱㄱ

윈도우 64비트의 경우 이 링크로 다운가능 https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v5.2.0.20220712.exe


중간에 이거 뜨는데 내가 기본 경로를 저 경로로 설정해놓고 배포파일 만들어서 이건 여기 경로 그대로 설치하는거 추천

다른 경로 쓰려면 .py코드를 수정하거나 내가 따로 수정해서 올려야함

이거때문에 아마 윈도우 아니면 안돌아갈거 같음 리눅스환경 쓰는 사람들은 알아서 바꿔봐바



3. main.exe 실행

이제 exe파일 실행하고 긁을 프로그램에서 팬수긁어주면 됨



사용법


왼쪽 위 창

현재 OCR을 인식하고 있는 범위를 보여줌

범위는 일반적인 9:16화면비로 세로화면일때 3명의 팬수가 보일 범위를 임의로 설정했음

만약 자기가 다른 화면비율을 쓴다면 umafancapture.py에서 windowcapture부분을 변경하면 되는데

잘모르겠으면 댓글 ㄱㄱ


왼쪽 아래 창

명령프롬프트에서 현재 인식한 숫자들을 보여줌

스페이스바 : OCR인식범위에서 팬수를 긁음, 몇명이 보이는지는 상관X

Z키 : 현재 저장 중인 모든 팬수들을 보여줌

X키 : 현재 저장 중인 팬수값에서 가장 나중에 들어간 팬수 하나를 삭제하고 저장된 팬수를 보여줌

-> 1000명, 900명, 800명이 저장되어 있다면 X키를 누르면 1000명, 900명으로 저장된 값이 바뀜

C키 : 현재 저장 중인 팬수값을 클립보드에 저장하고 프로그램을 종료함, 엑셀에 바로 복붙되도록 팬수 엔터 팬수 이런식으로 저장

-> 루프구문으로 계속 실행되게 프로그램이 짜여있어서 그냥 창닫기하면 창이 계속 새로 뜨고 C키를 눌러야지 완전히 종료됨


오른쪽 창

팬수를 긁을 프로그램, 모바일에서 캡처 뜬 영상도 가능하고 블루스택도 가능

영상에서 처음에 숫자뜨는건 스페이스바 눌러서 팬수 인식시킨거

중간에 숫자 하나씩 사라지는건 X키로 저장된값 하나씩 삭제한거

중간에 같은 값 두번 뜬건 Z키 눌러서 저장된값 보여주게 한거고

마지막에 프롬프트 창이 꺼진건 C키를 눌러서 클립보드에 저장한거, 엑셀에다가 바로 복붙가능




딥러닝 코딩만 하다가 이런 파일배포는 처음이라 오류나도 아마 제대로 답변 못할듯

대충 tesseract 오류는 대부분 테서렉트 경로가 C:\Program Files\Tesseract-OCR 여기에 설치되지 않아서 뜨는거고

OCR 화면이 이상한데로 보이는건 세로화면비가 9:16으로 안잡혀있어서 그렇고

스페이스나 다른 키를 눌러도 안먹는건 프롬프트 창에 범위지정되어 있어서 그런거임 이럴땐 프롬프트 창 클릭하고 엔터한번 ㄱㄱ


코딩 고수있으면 맘대로 파일 가져가서 수정한다음에 다시 올려도 됨