본문 바로가기

라즈베리파이/openCV

openCV[1] - 라즈베리파이에 openCV 설치하기

반응형

안녕하세요.

오늘은 라즈베리파이에 openCV를 설치해보겠습니다.

 

1. 개요

(1) openCV란?

opencv는 인텔에서 개발을 주도하던 오픈소스 이미지 처리 라이브러리입니다.

python을 공식 지원하고 있으며 굉장히 다양한 기능을 갖고 있지만 특히 머신러닝 중 이미지 학습 분야에서 널리 쓰이고 있습니다.

(2) 사용처

openCV를 이용한 프로젝트는 쉽게 검색해보실 수 있는데 얼굴 인식하기, 마스크 유무 체크하기 등 다양한 용도로 사용하실 수 있습니다.

(3) 들어가기에 앞서

라즈베리파이에 카메라를 연결해주시고, 라즈베리파이에서 카메라를 사용할 수 있도록 설정해줍니다.

[기본 설정(Preferences)]-[Raspberry Pi Configuration]으로 진입해주세요.

[Interfaces]탭에서 'Camera' 항목을 'Enable' 시켜주세요.

[OK]버튼을 누르면 재부팅되며 카메라 설정이 적용됩니다.

 

2. 설치방법

(1) 우선 라즈베리파이의 패키지 목록을 업데이트해줍니다.

sudo apt-get update
sudo apt-get upgrade

(2) openCV의 패키지들을 설치합니다.(순서대로 설치해주세요.)

sudo apt-get install build-essential cmake -y
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev -y
sudo apt-get install libv4l-dev v4l-utils -y
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev -y
sudo apt-get install libatlas-base-dev gfortran libeigen3-dev -y
sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy -y

(3) openCV의 소스코드를 다운받아줍니다.

openCV를 설치하기 위해 임시로 사용할 폴더를 생성해줍니다.

mkdir opencv

생성한 폴더로 이동해주세요.

cd opencv

아래와 같이 openCV의 소스코드를 다운받고, 압축을 풀어줍니다.

wget -O opencv.zip https://github.com/opencv/opencv/archive/4.1.2.zip
unzip opencv.zip

이번엔 openCV_contrib의 소스코드를 다운받고, 압축을 풀어줍니다.

wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.1.2.zip
unzip opencv_contrib.zip

(4) 컴파일을 준비합니다.

아래 폴더로 이동해주세요.

cd opencv-4.1.2

컴파일을 위해 폴더를 생성해주세요.

mkdir build

생성한 폴더로 이동합니다.

cd build

아까 설치한 cmake를 통해 openCV에 대한 컴파일 설정을 해줍니다.

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=OFF \
-D WITH_IPP=OFF \
-D WITH_1394=OFF \
-D BUILD_WITH_DEBUG_INFO=OFF \
-D BUILD_DOCS=OFF \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D ENABLE_NEON=ON \
-D ENABLE_VFPV3=ON \
-D WITH_QT=OFF \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.1.2/modules \
-D WITH_V4L=ON \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON ../

아래와 같은 화면이 보여야 정상설치가 완료된 것입니다.

컴파일 시 메모리 부족 현상을 방지하기 위해 주저장장치를 메모리로 사용할 수 있도록 설정합니다.

sudo nano /etc/dphys-swapfile

위 명령어를 통해 'dphys-swapfile' 설정파일에 접속해주세요.

해당 설정파일을 살펴보시면 CONF_SWAPSIZE=100이라고 쓰여있는 문구가 보이실텐데, #을 이용해 주석처리 하신 후 CONF_SWAPSIZE=2048이라는 문구를 입력해주세요.

이제 저장하고 빠져나옵니다.

설정파일을 재시작해서 변경된 값을 적용해줍니다.

sudo /etc/init.d/dphys-swapfile restart

(5) 컴파일을 시작합니다.

다음 명령어를 입력해 컴파일을 진행해주세요.

make -j4

컴파일이 완료되면 아래와 같은 화면이 보입니다.

(6) 완료된 컴파일 결과물들을 설치합니다.

sudo make install

openCV라이브러리를 찾을 수 있도록 아래 명령어를 실행시켜주세요.

sudo ldconfig

dphys-swapfile 설정파일을 원래대로 수정해줍니다.

 

sudo nano /etc/dphys-swapfile

CONF_SWAPSIZE=100으로 수정

설정파일을 재시작해주세요.

sudo /etc/init.d/dphys-swapfile restart

 

3. 카메라 테스트해보기

(1) 카메라 설정하기

파일 탐색기를 열고 상단에 아래와 같이 입력해주세요.

[현재 폴더를 터미널에서 열기]클릭합니다.

다음과 같이 해당 폴더에서 터미널이 열립니다.

아래 명령어를 입력하여 예제파일을 열어주세요.

sudo nano video.py

참고로 루트 디렉토리에서 아래 명령어를 입력해도 됩니다.

sudo nano /usr/local/share/opencv4/samples/python/video.py

쭉쭉 내리면 다음과 같은 코드들이 보입니다.

cap=cv.VideoCapture(source)를 cap=cv.VideoCapture(-1)로 수정해주세요.

(2) 카메라 실행하기

다음 명령어를 입력하여 카메라를 실행시켜줍니다. 

python video.py

루트디렉토리에서는 아래 명령어를 입력해주세요.

python /usr/local/share/opencv4/samples/python/video.py

명령어를 실행시키면 다음과 같이 카메라 화면이 뜹니다.

촬영을 중단하고 싶으면 터미널 창을 누르고, ctrl+c를 누르면 됩니다.

반응형