본문 바로가기

Back/UBUNTU _ LINUX

[Ubuntu] 20.04x , OPENCV 설치

뻘짓과 뻘짓을 반복하며 기록


1.환경

  • cuda 11.0
  • cudnn 8.2
  • Ubuntu 20.041
  • Anaconda python

2.라이브러리 설치

- 기존 패키지 업그래이드

$ sudo apt update
$ sudo apt upgrade

 

- 필요한 패키지 설치

sudo apt-get install build-essential cmake
sudo apt-get install pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libpng-dev
sudo apt-get install ffmpeg libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev
sudo apt-get install libv4l-dev v4l-utils
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 python3-dev python3-numpy

 

가상환경은 따로 생성하지 않고 진행.

생성해서 들어갈 경우 파이썬 lib을 제대로 못잡음

 

3.openCV 소스 가져오기.

mkdir opencv && cd opencv

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

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

cd opencv-4.4.0
mkdir build && cd build

 

webnautes.tistory.com/1435

 

Ubuntu 20.04에 CUDA를 사용하도록 OpenCV 4.4.0 설치하는 방법

Ubuntu 20.04에 CUDA를 사용하도록 OpenCV 4.4.0 설치하는 방법을 다룹니다.        0. CUDA Toolkit, cuDNN 설치 1. 설치된 OpenCV 제거 2. 기존 설치된 패키지 업그레이드 3. OpenCV 컴파일 전 필요한 패..

webnautes.tistory.com

위 블로그와 같습니다.

 

4. CMAKE build

문제는 지금부터 위 블로그에 나온 cmake로 cuda cudnn을 포함한 build 는 죄다 실패해 버린다.

목표는 yolo darknet을 위한 opencv를 빌드하는것이기에 cuda 관련 내용을 전부 삭제후 빌드

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_C_COMPILER=/usr/bin/gcc-8 \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=ON \
-D BUILD_DOCS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PACKAGE=OFF \
-D BUILD_EXAMPLES=OFF \
-D WITH_TBB=ON \
-D ENABLE_FAST_MATH=1 \
-D WITH_CUBLAS=ON \
-D WITH_CUFFT=ON \
-D WITH_NVCUVID=ON \
-D WITH_IPP=OFF \
-D WITH_V4L=ON \
-D WITH_1394=OFF \
-D WITH_GTK=ON \
-D WITH_QT=OFF \
-D WITH_OPENGL=ON \
-D WITH_EIGEN=ON \
-D WITH_FFMPEG=ON \
-D WITH_GSTREAMER=ON \
-D BUILD_JAVA=OFF \
-D BUILD_opencv_python3=ON \
-D BUILD_opencv_python2=OFF \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D OPENCV_SKIP_PYTHON_LOADER=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.4.0/modules .. 

 

이후 make

time make -j6
sudo make install

nproc 으로 나온 코어 +2를 해야 빠르다는 말을 들었던것 같아서 6..

 

마지막으로  Idconfig

sudo ldconfig

 

이후 darknet 빌드까지 문제없이 완료, Darknet은 cuda문제 없이 빌드가 되었다.

성능의 차이는 나중에 확인 할것.