안녕하세요.
오늘은 라즈베리파이에 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를 누르면 됩니다.
'라즈베리파이 > openCV' 카테고리의 다른 글
OpenCV[3] - 라즈베리파이로 CCTV 만들기 (6) | 2021.05.16 |
---|---|
OpenCV[2] - 라즈베리파이'제로'에 opencv설치하기 (0) | 2021.05.14 |