행복한 하루

라즈베리파이 제로 프로젝트(9) – CMOS 카메라 이용해보기 – OpenCV 설치하기 (3-1) 본문

RaspberryPi/Raspberry Pi Zero

라즈베리파이 제로 프로젝트(9) – CMOS 카메라 이용해보기 – OpenCV 설치하기 (3-1)

변화의 물결 2020. 11. 23. 17:55

 

 

안녕하세요.

 

  이번에는 카메라 연장 강좌로 OpenCV로 이미지를 분석하는 것을 해보려고 합니다. 그래서 먼저 해야 할 것이 OpenCV 라이브러리들을 설치하는 것입니다.

 

  OpenCV는 컴퓨터 비전을 위한 라이브러리입니다. 그리고 얼굴인식, 비디오 트래킹, 이미지와 비디오 처리하는 목적으로 사용된다고 잘 알려 있습니다. 얼굴 인식을 테스트하기에 괜찮은 라이브러리입니다. 그러나 설치하는 것이 조금 어려움이 있을 수 있습니다.

 

  그래서 이번 편과 다음 편에 걸쳐 간단하게 사진에서 얼굴을 인식하는 것을 테스트해 보겠습니다. (그러나 설치 내용이 조금 길어져 다음 편에서 얼굴 인식하는 내용을 다루도록 하겠습니다. - build 하는 시간이 오래 걸림)

 

  이전 강좌에서 사용했던 MotionEye는 사용할 필요 없고, 기존의 라즈베리파이 OS 버전으로 다운로드하여 사용하시면 됩니다.

 

  그럼 PUTTY SSH로 접속해서 작업을 진행해 보겠습니다.

1. OpenCV 설치

  1) 작업할 디렉토리를 만들어 줍니다.

    pi@raspberrypi:~ $ cd ~

    pi@raspberrypi:~ $ mkdir opencv_src

    pi@raspberrypi:~ $ cd opencv_src

    pi@raspberrypi:~/opencv_src $

 

 2) git 통해 소스 다운로드

  - github에서 소스를 열심히 다운로드하는데. 시간이 조금 걸립니다.

    pi@raspberrypi:~/opencv_src $ git clone https://github.com/Itseez/opencv.git

github 소스 다운로드

 

  3) 다운로드한 소스 디렉터리로 이동합니다.

    pi@raspberrypi:~/opencv_src $ cd opencv/

    pi@raspberrypi:~/opencv_src/opencv $ mkdir release

    pi@raspberrypi:~/opencv_src/opencv $ cd release

 

  4) 빌드와 인스톨 하기

    (1) 빌드 환경설정

      pi@raspberrypi:~/opencv_src/opencv/release $cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

   

     - cmake 명령어가 없다고 나올 수 있습니다. 참조 사이트에서 설치하라고 하는 라이브러리를 설치해줍니다. ① ~ ③ 설치하기

 

     ① 빌드에 필요한 라이브러리 설치

       pi@raspberrypi:~/opencv_src/opencv/release $sudo apt-get install build-essential

    그런데 아래와 같은 문구가 또 나타날 수 있습니다. 그럴 때는 하라고 하는 방법대로 진행합니다.

    (자동으로 설치된 라이브러리가 필요하지 않음으로 다음과 같이 자동으로 지우라고 알려주고 있습니다.)

 

  The following packages were automatically installed and are no longer required:

  libmicrodns0 rpi-eeprom-images

  Use 'sudo apt autoremove' to remove them.

  0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.

 

     ② 각종 프로그램과 라이브러리 설치 (이미 설치된 것도 있지만, 복사&붙여 넣기 해서 한 번에 다운로드하여 설치합니다.)

    pi@raspberrypi:~/opencv_src/opencv/release $sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

 

    ③ 설치 옵션 사항이 있는데, SD Card 용량이 충분하다면 다운로드하여서 설치해줍니다.

    pi@raspberrypi:~/opencv_src/opencv/release $sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

 

  이제 필요한 프로그램을 다 설치했다면 다시 빌드 설정하고 빌드를 진행해봅니다.

  그러면 Configuring done, Generating done이라고 해서 완료된 것을 확인할 수 있습니다.

환경설정파일 생성완료

 

 - 참고로 ls를 해보면 알게 모르게 많은 파일들이 release 파일들이 만들어진 것을 볼 수 있습니다.

release 디렉토리 내용

  (2) make로 실제로 빌드를 진행합니다.

    pi@raspberrypi:~/opencv_src/opencv/release $ make

 

    - CPU가 1 GHz이지만 SD Card의 데이터 읽어와야 하는 속도 때문에 빌드되는 시간이 꽤 걸립니다.   

    (60분 이상 걸리므로 빌드시켜놓고 다른 작업을 하시고 후에 보시면 안전하게 끝났을 겁니다.)

 

  (3) OpenCV 실행에 필요한 파일이 지정된 위치로 복사시켜줍니다.

    pi@raspberrypi:~/opencv_src/opencv/release $ sudo make install

 

 

참고) Linux에서 설치하는 방법에 대한 정보가 더 필요하다면 OpenCV 사이트 들어가서 자료를 확인할 수 있습니다.

http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html

 

 

감사합니다.

 

 

<2020/11/24 Build 시 에러 해결책 추가>

  openCV컴파일을 진행하면 12시간 이상 걸립니다. 추가로 swap 설정을 해주지 않았다면 추가로 시간이 걸립니다.

 

  - 에러현상 : 92% 멈춤 이상현상 (동일한 패턴으로 LED 깜박거림)이 일어 날 수 있습니다.

     (gapi_core_tests.cpp.o  파일에서 넘어가지 못하는 경우 발생 함)

 

  - 해결책 :

    pi@raspberrypi:~/opencv_src/opencv/release $ sudo apt-get update

    pi@raspberrypi:~/opencv_src/opencv/release $ sudo apt-get install vim

    pi@raspberrypi:~/opencv_src/opencv/release $ sudo vim /etc/dphys-swapfile

 

   dphys-swapfile 파일 내에 CONF_SWAPSIZE=100 으로 되어 있는 것을 CONF_SWAPSIZE=1024로 변경 시켜줍니다.

  다시 make 해주면 다시 에러나는 부분을 넘어가고 다시 진행이 됩니다.

 

 

 

“쿠팡 파트너스 활동을 통해 일정액의 수수료를 받을 수 있음”

Comments