AVR

라즈베리파이 OpenCV2.6.0 설치하기

작성자 임베디드코리아 작성일25-10-05 01:01 조회19회 댓글0건
1. 저장소 정보를 최신으로 맞추어 준다.

1) 시스템 업데이트
    $ sudo apt update
2) 시스템 업그레이드.
    $ sudo apt upgrade
3) 필요없는 패키지 제거
    $ sudo apt autoremove
4) 기존 설치된 버전 제거
  - 기존에 OpenCV를 설치한 적이 있는지 확인 (아래의 경우는 설치된 적이 없는경우)
    $ pkg-config --modversion opencv
  - 설치된 경우에는 설치된 버전이 표시된다.
    특정버전이 표시된 경우 아래의 명령을 통해서 기존에 설치된 opencv를 제거해주어야 한다.
    $ sudo apt-get purge  libopencv* python-opencv
    $ sudo apt-get autoremove
    $ sudo find /usr/local/ -name "*opencv*" -exec rm  {} \;

2. 패키지 설치
    Opencv가 한번도 설치되지 않은경우를 제외하고 패키지를 삭제했다면
    다시한번 시스템을 업데이트와 업그레이드를 한다.
    $ sudo apt update
    $ sudo apt upgrade

    컴파일러 및 유틸리티등 빌드 및 향후 사용하게될 유틸리티와 라이브러리를 한번에 설치한다.
$ sudo apt install build-essential cmake git unzip
$ sudo apt install pkg-config libjpeg-dev libtiff5-dev libpng-dev
$ sudo apt install libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev
$ sudo apt install libxine2-dev libv4l-dev v4l-utils
$ sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
$ sudo apt install gstreamer1.0-gtk3 gstreamer1.0-plugins-good gstreamer1.0-plugins-bad
$ sudo apt install gstreamer1.0-plugins-ugly gstreamer1.0-gl
$ sudo apt install libgtk-3-dev libgtk2.0-dev libcanberra-gtk* libatlas-base-dev gfortran libeigen3-dev
$ sudo apt install python3-dev python3-numpy python3-pip
$ sudo apt install libtbb2 libtbb-dev libdc1394-22-dev libopenblas-dev libblas-dev
$ sudo apt install liblapack-dev libhdf5-dev libprotobuf-dev libgoogle-glog-dev
$ sudo apt install libgflags-dev protobuf-compiler libfreetype6-dev libharfbuzz-dev

3. OpenCV 빌드와 설치

1) 작업디렉터리 생성

$ cd ~
$ mkdir -p WORK/opencv
$ cd WORK/opencv

2) OpenCV 및 확장패키지 소스 다운로드
  $ w get -O opencv.zip https://github.com/opencv/opencv/archive/4.6.0.zip
  $ w get -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.6.0.zip

3) 압축해제
  - 각각 압축파일을 풀어준다.
  - sync 명령어는 시스템 버퍼에 있는 데이터를 디스크에 저장하는 명령어이다.
$ unzip opencv.zip
$ sync
$ unzip opencv_contrib.zip
$ sync

4) 빌드디렉터리 생성 - 빌드를 진행할 디렉터리를 만들어 주고 이동한다.
$ cd  opencv-4.6.0
$ mkdir build
$ cd build

5) 파이선을 패키지 디렉터리 확인
$ python3 –m site

6) 빌드 설정 -  cmake를 이용하여 빌드 환경을 설정한다.
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=OFF -D WITH_QT=OFF -D WITH_GTK=ON –D WITH_FREETYPE=ON -D WITH_OPENGL=ON -D OPENCV_ENABLE_NONFREE=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.6.0/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 -D PYTHON3_PACKAGES_PATH=/usr/local/lib/python3.9/dist-packages ../

7) 스왑메모리 설정(확장)
    라즈베리파이4 8GB를 사용하지 않는 경우 메모리 부족으로 빌드를 여러번 반복하거나 오류가 날 수 있다.
    그래서 sd메모리 일부를 메모리로 사용할 수 있도록 설정한다.

    ① swap 설정파일 열기
      $ sudo vi /etc/dphys-swapfile

    ② 설정변경
        CONFSWAPSIZE 변수값을 100에서 2048로 설정후 저장하고 나온다.

    ③ 시스템을 재부팅하여 메모리 상태를 확인
        free 명령을 입력하여 설정된 메모리 상태를 확인한다.
        $ free


8) 빌드하기
  $ time  make  -j4
      - time는 작업시간이 나옴, -j4는 쿼드코어

9) 설치 및 ld등록
    ① 빌드가 완료되면 시스템에 설치한다.
        $ sudo make install
    ② 등록
        $ sudo ldconfig

10) 스왑메모리 (제거)
    $ sudo nano /etc/dphys-swapfile
      CONF_SWAPSIZE  변수값을 다시 100으로 수정