python using ocr(python을 이용하여 ocr, 이미지 프로세싱)
python을 이용하여 이미지 프로세싱
-> 요컨데 이미지의 글을 추출하여 text데이터로 뽑는방법
환경 라즈베리파이2, 라즈비안에서 실행하였음
생각보다 컴파일이 느림
패키지파일들이 의존성이 있기때문에 로컬에서 컴파일하였음...
#컴파일내용들
#개발SDK도구들도 설치함
sudo nice apt-get update
sudo apt-get install autoconf automake libtool
sudo apt-get install libpng12-dev
sudo apt-get install libjpeg62-dev
sudo apt-get install g++
sudo apt-get install libtiff4-dev
sudo apt-get install libopencv-dev libtesseract-dev
sudo apt-get install cmake
sudo apt-get install libleptonica-dev
sudo apt-get install liblog4cplus-dev
sudo apt-get install libcurl3-dev
sudo apt-get install python2.7-dev
sudo apt-get install tk8.5 tcl8.5 tk8.5-dev tcl8.5-dev
#sudo apt-get build-dep python-imaging --fix-missing
#python에서 이미지라이브러리를 사용하기위한 pillow(PIL의 업데이트 버전이라고 보면된다)
#혹시몰라서 둘다설치함 pil 실제코드에서는 PIL을 사용
sudo pip install pillow
sudo pip install pil
#이미지 컨버팅프로그램
sudo apt-get install imagemagick
#옵션
sudo apt-get install git
sudo apt-get install build-essential
#이미지 처리하는 프로그램
#컴파일시 상당시간을 소모함
wget http://www.leptonica.org/source/leptonica-1.70.tar.gz
tar -zxvf leptonica-1.70.tar.gz
cd leptonica-1.70/
./autobuild
./configure
make
sudo make install
sudo ldconfig
wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.02.tar.gz
#환경변수등록
#해당 TESSDATA_PREFIX 폴더의 위치를 등록하여 한국어트레이닝셋을 넣어주어야함
export TESSDATA_PREFIX=/usr/local/share/
#한국어 트레이닝셋 다운로드후 복사
wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.kor.tar.gz
tar xvf tesseract-ocr-3.02.kor.tar.gz
cd tesseract-ocr/
sudo cp -r tessdata/ $TESSDATA_PREFIX
#tesseract를 wrapping하기위한 python package 설치
sudo pip install pytesseract
#python 코드
*8번째 라인에서 PIL의 image객체의 함수인 convert를 통하여 이미지에 대한 조작을 쉽게 해준다음 getpixel을 사용, 이미지에 대한 특징값을 도드라지게 변경해서 쉽도록 튜닝할수도있다.....
16번째 라인과 17번째 라인의 차이점은 lang 옵션을 쓰도록 수정한것, 한국어 지원을 위하여 한국어 트레이닝셋을 넣은다음에 한국어옵션으로 사용하도록 한것이다
테스트에 사용한 이미지파일
추가적으로 임의의 트레이닝셋을 통하여 사용하는방법을 찾아보는중...
'프로그래밍 > Python' 카테고리의 다른 글
[codecademy] 3.CONDITIONALS AND CONTROL FLOW (301) | 2015.08.10 |
---|---|
Python 시리얼 출력(serial 통신) (4) | 2015.07.24 |
python 람다(Lambda) (4) | 2015.06.20 |
Python 데코레이터(Decorator) (3) | 2015.05.30 |
Python virtualenv 사용법(MAC기준,pip사용) (4) | 2015.05.14 |