블로그 이미지
devtang
Instagram : @taebr0 devtaehyeong@gmail.com

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

Notice

2020. 2. 28. 16:51 Jetson Nano

제 나노 보드에 설치된 Jetson Nano Developer Kit image, CUDA 10.0, Jetpack 4.3 버전 기준으로 작성하였습니다.

 

우선 OpenCV 설치 전에 필요한 라이브러리 들을 설치해줍니다.

 

(참고) - pkg-config나 unzip 또는 cmake 같은 기본 도구들은 설치가 되어있는 상태에서 진행하였습니다.

위와 같은 문제는 구글 검색하면 쉽게 찾을수 있어요.

필요한 라이브러리

·pkg-config

·unzip

·cmake

·build-essential

 

버전 업데이트 및 업그레이드 설치를 해줍시다.

sudo apt-get update
sudo apt-get upgrade

OpenCV는 C++에비해 비교적 간결한 코드를 사용할 수 있는 python 을 지원합니다.

기본적으로 2.7이 설치되어있지만, numpy와 3버전대를 설치해줬습니다.

sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy

  OpenCV에 필요한 라이브러리를 설치해줍니다.

sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev v4l-utils 
sudo apt-get install libxvidcore-dev libx264-dev libxine2-dev
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev
sudo apt-get install libatlas-base-dev gfortran libeigen3-dev

한번에 설치하면 안되는 경우도 있어서 혹시나 오류가 발생하면 

sudo apt-get install libjpeg-dev

sudo apt-get install libpng-dev 

이렇게 하나하나씩 직접 설치하셔도 괜찮습니다.

 

다 설치가 완료되면 본격적인 OpenCV 설치를 진행합니다.

mkdir opencv
cd opencv
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.0.zip

opencv라는 폴더를 만들고 폴더안에 opencv.zip 과 opencv_contrib.zip 을 다운받아줍니다.

중요한것은 opencv 와 opencv_contrib 버전이 동일해야 합니다. (3.4.0)

 

설치가 완료되면 압축을 풀기위해 아래와 같은 명령어를 입력해줍니다.

unzip opencv.zip
unzip opencv_contrib.zip

이제 빌드 및 설치를 위해 build폴더를 생성하여 빌드 준비를 합니다.

cd opencv-3.4.0
mkdir build
cd build

build 주의! - 한글자라도 틀리면 안되니까 메모장 같은데 복사해놓고 쓰세요.

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 WITH_QT=OFF \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.0/modules \
-D WITH_V4L=ON  \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D PYTHON2_INCLUDE_DIR=/usr/include/python2.7 \
-D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/ \
-D PYTHON2_PACKAGES_PATH=/usr/lib/python2.7/dist-packages \
-D PYTHON2_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so \
-D PYTHON3_INCLUDE_DIR=/usr/include/python3.6m \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/  \
-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \
-D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
../

이후 make 를 해줘야되는데 -j숫자(원하는 코어사용갯수)를 입력해줍니다.

-j4를 입력하게되면 코어4개를 다사용하므로 발열이 상당히 심합니다. (오류가 날 수도 있음)

쿨러나 보드를 식힐 수 있는 선풍기가 있을때 사용하는걸 추천합니다.

make -j4
make -j2

이과정에서 꽤 걸립니다!! 저는 -j4로 코어 다사용해서 돌렸는데도 50분정도 걸렸습니다.

발열도 심하고 굉장히 오래걸리니까, opencv 빌드중에는 보드 사용을 자제하는게 좋을것 같아요.

물론 엄청 느려져서 원활한 구동도 어렵습니다.

 

OpenCV 컴파일 결과물

sudo make install
sudo sh -c 'echo '/usr/local/lib' > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

이렇게 해서 OpenCV가 설치가 완료됬습니다.

다음 게시물은 YOLO설치 및 구동을 올릴 예정입니다.

posted by devtang