#CV 환경 구축 - Ubuntu에 Opencv 설치하기

HyojinKo·2023년 1월 27일
0
  1. 기존에 OpenCV가 깔려있는지 확인
$pkg-config --modversion opencv

이미 Opencv가 있다면 삭제

$sudo apt-get purge libopencv* python-opencv
$sudo apt-get autoremove
  1. Opencv 컴파일 환경 구축
    (1) cmake 설정
$ sudo apt-get install build-essential cmake

(2)pkg-config 다운로드

$ sudo apt-get install pkg-config

(3) 기타 패키지 다운로드

$ sudo apt-get install libjpeg-dev libtiff5-dev libpng-dev //IMAGE FILE
$ sudo apt-get install ffmpeg libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev //VIDEO
$ sudo apt-get install libv4l-dev v4l-utils // VIDEO REAL-TIME CAPTURE
$ sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev //VIDEO STREAMING
$ sudo apt-get install libgtk-3-dev // GUI using gtk2(qt도 사용 가능)
$ sudo apt-get install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev  //OpenGL
$ sudo apt-get install libatlas-base-dev gfortran libeigen3-dev // OpenCV optimizing
$ sudo apt-get install python3-dev python3-numpy // OpenCV-Python binding
$ pip install numpy 
  1. OpenCv 설정
$ cd 원하는 위치
$ sudo mkdir opencv && cd opencv

// OpenCV source code download
$ sudo wget -O opencv.zip https://github.com/opencv/opencv/archive/4.4.0.zip
$ sudo unzip opencv.zip

// OpenCV extra moduled download
$ sudo wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.4.0.zip
$ sudo unzip opencv_contrib.zip

// remove zip file
$ sudo rm opencv.zip opencv_contrib.zip

// opencv-*(version)으로 이동(본문에선 4.4.0)
$ cd opencv-4.4.0 
$ sudo mkdir build && cd build

// OpenCV compile 설정
$ sudo 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_PACKAGE=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D WITH_QT=OFF -D WITH_GTK=ON -D WITH_OPENGL=ON -D BUILD_opencv_python3=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.4.0/modules -D WITH_V4L=ON  -D WITH_FFMPEG=ON -D WITH_XINE=ON -D OPENCV_ENABLE_NONFREE=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D OPENCV_SKIP_PYTHON_LOADER=ON -D OPENCV_GENERATE_PKGCONFIG=ON ../

컴파일 설정이 완료 되면

이런 메세지가 보입니다.

  1. OpenCV 컴파일
$ cd ~/opencv/opencv-4.4.0/build
$ sudo make -j$(nproc)

컴파일이 완료되면 이런 메세지를 볼 수 있습니다.

  1. 컴파일 결과물 설치
    이전과정에서와 같은 위치에서 컴파일 결과물을 설치해줍니다.
$ sudo make install 

//  < /usr/local/lib> 있는지 확인
$ sudo cat /etc/ld.so.conf.d/*

위 명령어를 입력하면

이와 같은 리스트가 뜨는데, 여기서 /usr/local/lib이 있는 것을 확인해줍니다.
없을 경우

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

명령어를 추가로 실행해 주고, 이미 있거나 위 명령어를 수행했다면

$ sudo ldconfig

명령어를 입력해줍니다.

근데 저는 여기서 symbolic link가 없다는 에러가 떠서 이를 해결하는 과정이 필요했습니다.

  1. 추가 과정
    "/usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 is not a symbolic link" 에러 해결

5-1. Cuda, Cudnn 삭제

// Cuda 삭제

$ cd /usr/local/cuda
$ sudo ./bin/cuda-uninstaller

// Cudnn 삭제
$ cd /usr/local/ && sudo rm -rf cuda*

5-2. Cuda Toolkit 다운로드
https://developer.nvidia.com/cuda-downloads 에서 환경에 맞는 Cuda Toolkit 다운로드
내 환경은 아래와 같았기 때문에 안내되는 코드를 그대로 따라서 다운받았다.

$ sudo wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
$ sudo dpkg -i cuda-keyring_1.0-1_all.deb
$ sudo apt-get update
$ sudo apt-get -y install cuda

Cuda가 잘 설치 되었는지 확인하기 위해 아래 명령어를 실행한다

$ nvcc -V

이런 메세지가 뜬다면 잘 설치 된 것

5-3. Cudnn 다운로드
https://developer.nvidia.com/rdp/cudnn-download
에서 환경에 맞는 Cudnn 다운로드
나는 Cuda 10.1 version이었기 때문에 cudnn은 8.0.5 버전으로 다운받았다.
설치된 경로(/usr/loca/l)로 이동해서 압축을 풀어준다

$ cd /usr/local
$ sudo tar -xvzf cudnn-10.1-linux-x64-v8.0.5.39.tgz

// 압축이 풀린 폴더로 이동 후 cudnn 설치
$ cd /usr/local/cuda
profile
재밌나?

0개의 댓글