Python에서 OpenCV 사용하기


파이썬에서 OpenCV를 사용하는 것은

OpenCV C라이브러리를 파이썬에서 사용하는 것이라

인터프리터 방식인 파이썬이라고 하더라도 실제 프로세싱에선

예상보다 좋은 반응속도때문에 간편하게 OpenCV를 활용해볼 수 있다.


윈도우를 기반으로 파이썬에서 OpenCV를 사용하기 위한 설치과정엔 몇가지 주의사항이 있어

따로 정리해둔다.

(Linux도 비슷한 과정이 될 것이라 추측해본다.)


먼저 파이썬을 설치할때

반드시 2.7 (최신은 2.7.10) 버젼 중에서 32비트로 설치해야 한다.

3.x버젼도 가능한 것 같긴하지만 일단 OpenCV 폴더엔 2.7 버젼만 라이브러리가 존재하기때문에

2.7.x를 기준으로 한다.


요즘 나오는 컴퓨터는 대부분 64비트 CPU를 가지고 있고 윈도우 운영체제도 64비트를 지원하기 때문에

설치프로그램을 64비트로 하는 경우가 많지만

파이썬에서 OpenCV를 사용하기 위해 추가적으로 설치해야하는 라이브러리 중에

아직 64비트 지원이 안되는 라이브러리가 있어서 파이썬도 32비트로 설치하는 것이 필수사항이다.

(필수적인 numpy는 win32만 지원하고 있다.)


먼저, 아래의 폴더에 OpenCV설치폴더 아래의 Python에 있는 cv2.pyd 파일을 복사한다.

(32비트 버젼 x86에 있는 파일을 설치하는 것을 잊으면 안된다.)

C:\Python27\Lib\site-packages


하지만, 실제로 이미지를 다루기 위해선

Numpy 라는 별도의 라이브러리를 필요로 한다.


numpy 홈페이지

http://www.numpy.org/

파일 다운로드 사이트

http://sourceforge.net/projects/numpy/


<img_load.py>

import cv2


# Load an color image in grayscale

img = cv2.imread('pororo.jpg',0)

cv2.imshow('image',img)

cv2.waitKey(0)

cv2.destroyAllWindows()


Numpy 설치전에

이미지를 로드하는 간단한 OpenCV 소스코드를 실행시켜보면

D:\Workspace\OpenCV>img_load.py

ImportError: numpy.core.multiarray failed to import

Traceback (most recent call last):

  File "D:\Workspace\OpenCV\img_load.py", line 2, in <module>

    import cv2

ImportError: numpy.core.multiarray failed to import

와 같이 numpy를 임포트 시키라는 에러메시지가 나온다.


numpy는 Numerical Python 으로 과학연산을 위한 라이브러리로

scipy와 연계되어 주로 사용되고 있으며

딥러닝으로 관심받고있는 빅데이터를 위한 필수 라이브러리로도 활용되고 있다.


파이썬에서 OpenCV를 사용하기 위한 기본 튜터리얼을 제공하고 있는

https://opencv-python-tutroals.readthedocs.org/en/latest/index.html

위 사이트는

파이썬에서 OpenCV를 사용하기 위해

NumPy

Matplotlib (필수는 아님)

설치를 권하고 있다.


ps :

numpy를 설치할 경우 참고할 사항으로 

일반적인 라이브러리 설치의 경우

pip install [라이브러리명]

으로 설치하는게 편하고 일반적이었는데

numpy는 소스포지에 있는 설치파일(슈퍼팩)을 받아서 설치해야 정상적인 설치가 가능하다.


Posted by 휘프노스
,