OpenCV는 이미지 프로세싱, 얼굴인식 등을 위한 오픈소스 라이브러리로, 가장 많이 알려진 라이브러리 중 하나입니다. 안드로이드, 리눅스, Mac, PC 등 다양한 곳에서 사용이 가능한데, 물론 라즈베리파이에서도 사용할 수 있습니다. 라즈베리파이용 카메라가 있으시다면 설치해서 사용해 볼만한 라이브러리입니다.

다만 설치에 시간이 좀 걸리고, 환경에 따라 설치 중 문제가 발생하는 경우도 많고, 무거워서 라즈베리파이 2 정도는 되어야 쌩쌩하게 돌아가지 않을까 생각됩니다.

어쨌든 조금만 수고하면 라즈베리파이에서도 얼굴인식이 가능하다는 장점(!!)이 있습니다.

 

패키지 설치

설치를 위해 필요한 패키지들 입니다.

  • GCC 4.4.x or later
  • CMake 2.6 or higher
  • Git
  • GTK+2.x or higher, including headers (libgtk2.0-dev)
  • pkg-config
  • Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
  • ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
  • [optional] libtbb2 libtbb-dev
  • [optional] libdc1394 2.x
  • [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev

라즈베리파이에 로그인 한 뒤, 아래 명령어로 필요한 패키지들을 모조리 설치해 줍니다.

  • sudo apt-get install build-essential
  • sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
  • sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

 

 

빌드

 

소스코드를 받아와서 빌드를 할 차례입니다. 아래 명령어를 순서대로 입력합니다. 빌드는 시간이 엄청 걸리므로 (몇 시간) make 명령어를 걸어두고 딴 일 하세요.

  • cd $HOME
  • mkdir opencv_src
  • cd opencv_src/
  • git clone https://github.com/Itseez/opencv.git
  • cd opencv/
  • mkdir release
  • cd release/
  • cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON ..
  • make
  • sudo make install

 

 

설정

 

정상적으로 돌아가도록 여러가지 설정을 해줘야 합니다. 여기서는 python 과 연동될 수 있도록 추가작업도 해줄겁니다.

  • 아래 명령어를 입력해서 설정파일 수정
  • sudo nano /etc/ld.so.conf.d/opencv.conf
  •     /usr/local/lib                #<<<<<<<<<<<<<<<<< 마지막 줄에 추가
  • 아래 명령어 입력
  • sudo ldconfig

 

이제 파이썬과 연동하기 위해 설정을 해줄겁니다. [~/자신의 경로/opencv/release/lib] 폴더에 cv2.so 파일이 생성 되어있어야 합니다. 이 파일이 없다면 아래 과정을 마치고 빌드를 다시 해줘야 합니다.

cv2.so 파일이 생성된 경우 이 파일을 python 라이브러리 경로에 복사합니다.

  • sudo cp lib/cv2.so /usr/local/lib/python2.7/site-packages/

 

빌드하기 전에 Python 을 위한 경로 설정을 해줍니다.

  • sudo nano /etc/bash.bashrc

마지막에 아래 내용을 추가 해줍니다.

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
export PYTHONPATH=~/opencv_src/opencv/release/lib:$PYTHONPATH        <<<<<<<<<<<<<자신의 경로 확인하세요.

Ctrl+x => y => enter 눌러서 저장합니다.

 

 

테스트

 

release/bin 폴더로 이동해서 라이브러리 동작을 테스트 해봅니다.

  • cd bin
  • ./opencv_test_core

Python에서 openCV 라이브러리가 정상적으로 호출되는지 테스트 합니다.

  • python
  • >>> import cv2
  • >>> cv2.__version__

import 명령어에 문제가 발생하지 않고, 버전이 제대로 출력된다면 설치는 성공적.

 

문제가 발생할 경우 아래 명령으로 패키지 업데이트를 한 후 다시 실행해보세요.

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get install python-dev python-numpy

제 경우에는 이렇게 조치하고 [빌드 – cmake] 과정부터 다시 수행하니 정상 동작 하네요. 각자의 설정에 따라 해결법은 틀릴 수 있습니다.
OpenCV 제거할 때는

  • cd ~/opencv_src/release
  • dpkg -r build
  • 그리고 opencv 폴더 삭제하세요.

 

참고자료