상세 컨텐츠

본문 제목

[MAC] 맥린이 탈출! 파이썬 개발환경 세팅(6) opencv

여러가지/맥린이 탈출기

by ranlan 2021. 8. 3. 22:26

본문

728x90

OpenCV & Tesseract 설치

 

 

이전 포스팅들 이후..

머신러닝 딥러닝할때 설치가 안되는 모델들이 있다던지 윈도우로 돌렸을 때와 성능이 확연히 차이가 난다던지 ㅠㅠ

어이없지만 소소하게 맘에 안드는 점들은 있었지만 그럭저럭 잘 쓰고 있다.

그래도 확실히 데이터프레임 처리나 모델 피팅할 때 속도가 빠르다! 내가 잘 알고 활용만 잘한다면 정말 좋을것 같당

 

파이널프로젝트때 꼭 이미지데이터 처리를 해보고싶어서 이번엔 openCV를 설치하려고 했다.

파이널때 이미지 데이터에서 텍스트를 추출하는 작업이 필요할 것 같아 관련하여 찾아보니 tesseract 라는 것이 있다.

 

OCR(Optical Character Recognition, 광학 문자 인식)

사람이 쓰거나 기계로 인쇄한 문자의 영상을 이미지 스캐너로 획득하여 기계가 읽을  있는 문자로 변환하는 

테서랙트(Tesseract)

다양한 운영체제를 지원하는 무료 광학 문자 인식 엔진으로 2006년부터 구글이 개발 후원을 하고 있음

https://ko.wikipedia.org/wiki/%ED%85%8C%EC%84%9C%EB%9E%99%ED%8A%B8

 

테서랙트 - 위키백과, 우리 모두의 백과사전

TesseractTesseract 3.02 running on Gnome Terminal 3.8.0. "input_image.tif" is the input document which will be rendered as "output_text.txt" by Tesseract.원저자Ray Smith, Hewlett-Packard[1]개발자Google안정화 버전4.1.1 / 2019년 12월 26일 (19

ko.wikipedia.org

 

pytesseract

파이썬에서 tesseract를 사용할 수 있도록 도와줌 (*PIL.Image, opencv-python등과 함께 쓰일 예정)

https://pypi.org/project/pytesseract/

 

pytesseract

Python-tesseract is a python wrapper for Google's Tesseract-OCR

pypi.org

 

 

OpenCV 설치

가상환경 실행

conda activate mldl # 가상환경 이름

 

깃에서 opencv 파일 다운로드 후 압축 풀기

cd tensorflow_macos/arm64 # 이전에 텐서플로우 설치했던 폴더
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.0.zip

# 압축 해제
unzip opencv.zip
unzip opencv_contrib.zip

# 압축 해제한 폴더로 이동
cd opencv-4.5.0

# 폴더 생성 후 이동
mkdir build && cd build

(기존에 build 파일이 있었다면 삭제하고 하면 됨 ㅇㅅㅇ)

 

그 다음부터는 뭔지 잘 모르겠는 코드 실행

cmake \
  -DCMAKE_SYSTEM_PROCESSOR=arm64 \
  -DCMAKE_OSX_ARCHITECTURES=arm64 \
  -DWITH_OPENJPEG=OFF \
  -DWITH_IPP=OFF \
  -D CMAKE_BUILD_TYPE=RELEASE \
  -D CMAKE_INSTALL_PREFIX=/usr/local \
  -D OPENCV_EXTRA_MODULES_PATH=/Users/juran/tensorflow_macos/arm64/opencv_contrib-4.5.0/modules \
  -D PYTHON3_EXECUTABLE=/Users/juran/miniforge3/envs/mldl/bin/python3 \
  -D BUILD_opencv_python2=OFF \
  -D BUILD_opencv_python3=ON \
  -D INSTALL_PYTHON_EXAMPLES=ON \
  -D INSTALL_C_EXAMPLES=OFF \
  -D OPENCV_ENABLE_NONFREE=ON \
  -D BUILD_EXAMPLES=ON ..

* OPENCV_EXTRA_MODULES_PATH={opencv 모듈 경로}

* PYTHON#_EXECUTABLE={가상환경 python3 경로}

 

make -j8

몇분 걸린다ㅠㅠ

sudo make install

이거는 쪼큼 덜걸린다

 

링크 작업을 할 경로 확인

mdfind cv2.cpython

다른 포스팅들 보면 다 짧던데 난 뭐가 이리 많담

여기서 중요한 것은 저 python-3.8/cv2.cpython-38-darwin.so 의 경로

 

가상환경에 링크를 걸어주기 위해 가상환경이 있는 곳으로 이동

cd /Users/juran/miniforge3/envs/mldl/lib/python3.8

 

위의 저 경로로 링크 생성

# 아까 기억해둔 경로 
ln -s /usr/local/lib/python3.8/site-packages/cv2/python-3.8/cv2.cpython-38-darwin.so

# 이미 있는 경로(잘못한경우) 덮어쓰기
ln -sf /usr/local/lib/python3.8/site-packages/cv2/python-3.8/cv2.cpython-38-darwin.so

 

잘 설치되었나 확인해볼까나

잘 되었구만 허허

 

 

Tesseract

brew로 tesseract 설치

brew install tesseract
brew install tesseract-lang # 한국어 사용을 위해

tesseract --list-langs # 사용 가능한 언어 리스트

터미널에서 바로 사용해 보기

test.png

tesseract test.png output -l eng
# tesseract 이미지파일경로 출력물경로 -l 언어

output.txt

 

 

Pytesseract

pip install pytesseract
pip install Pillow

주피터노트북에서 실행

from PIL import Image
import pytesseract
import cv2

img = Image.open('test.png')
text = pytesseract.image_to_string(img,lang='eng')
print(text)

>> Python Tesseract Test

 

파이널 주제는 사용자 맥주추천이니까 맥주캔 이미지로 한번 더

img = Image.open('image/bear.png')
text = pytesseract.image_to_string(img,lang='kor')
print(text)

 

이런,, ^^ 어쨌든 성공,,!!

 

728x90

관련글 더보기

댓글 영역