기계는 거짓말하지 않는다

Ubuntu 18.04 LTS Install OpenCV 본문

Linux

Ubuntu 18.04 LTS Install OpenCV

KillinTime 2022. 4. 15. 16:05

AWS 18.04 LTS 인스턴스 생성 후 OpenCV를 설치했을 때, 정상 Build가 된 명령어

 

OpenCV 3.2.0

선행 설치할 패키지

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install g++
sudo apt-get install build-essential cmake
sudo apt-get install pkg-config
sudo apt-get install libjpeg-dev libpng-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev
sudo apt-get install lib41-dev v4l-utils
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev 
sudo apt-get install libgtk2.0-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-numpy

 

설치 후 디렉터리 생성, 압축 다운로드 후 풀기

mkdir opencv
cd opencv
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.2.0.zip
unzip opencv.zip

 

OpenCV 압축 해제 디렉터리 내에 빌드 디렉터리 생성 후 빌드

cd opencv-3.2.0
mkdir build
cd 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 ENABLE_NEON=OFF \
-D WITH_QT=OFF \
-D WITH_OPENGL=ON \
-D WITH_CUDA=OFF \
-D WITH_CUDNN=ON \
-D OPENCV_DNN_CUDA=ON \
-D CUDA_ARCH_BIN=7.5 \
-D WITH_V4L=ON \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON ../

CUDA_ARCH_BIN 버전은 GPU에 따라 다를 수 있음

원하는 cmake 옵션을 키거나 끈다.

 

CPU 코어 수 확인

cat /proc/cpuinfo | grep processor
sudo make -j(CPU개수) (예: sudo make -j4)

 

make는 시간이 꽤 오래 걸림.

make가 정상적으로 완료 후

sudo make install

 

OpenCV 버전 확인

pkg-config --modversion opencv
또는
pkg-config --libs --cflags opencv

 

OpenCV 4.5.0

선행 설치할 패키지

sudo apt-get install cmake build-essential pkg-config ant
sudo apt-get install libtiff5-dev libopenexr-dev libwebp-dev libpng-dev
sudo apt-get install libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev libavresample-dev libv4l-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libtesseract-dev
sudo apt-get install libhdf5-dev
sudo apt-get install libopenblas-dev libopenblas-base liblapacke-dev
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install libtbb-dev

 

설치 후 디렉터리 생성, 압축 다운로드 후 풀기

mkdir opencv
cd opencv
wget -O opencv.zip https://github.com/Itseez/opencv/archive/4.5.0.zip
unzip opencv.zip

contrib (필수 아님)

mkdir openv_contrib
cd openv_contrib
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.0.zip
unzip openv_contrib

 

OpenCV 압축 해제 디렉터리 내에 빌드 디렉터리 생성 후 빌드

cd opencv-4.5.0
mkdir build
cd build

 

OPENCV_EXTRA_MODULES_PATH 경로는 openv_contrib을 압축 해제한 경로로 설정

contrib을 다운로드하지 않았다면 필요 없음

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D WITH_CUDA=OFF \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D PYTHON_EXECUTABLE=/usr/bin/python \
    -D BUILD_opencv_python3=ON \
    -D PYTHON3_EXECUTABLE=/usr/bin/python3.6 \
    -D WITH_GSTREAMER=ON \
    -D WITH_LIBV4L=ON \
    -D WITH_V4L=ON \
    -D WITH_FFMPEG=ON \
    -D WITH_XINE=ON \
    -D OPENCV_ENABLE_NONFREE=ON \
    -D WITH_PROTOBUF=ON \
    -D BUILD_EXAMPLES=OFF \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv-4.5.0/opencv_contrib-4.5.0/modules ../

 

CUDA_ARCH_BIN 버전은 GPU에 따라 다를 수 있음

원하는 cmake 옵션을 키거나 끈다.

 

CPU 코어 수 확인

cat /proc/cpuinfo | grep processor
sudo make -j(CPU개수) (예: sudo make -j4)

 

make는 시간이 꽤 오래 걸림.

make가 정상적으로 완료 후

sudo make install

 

OpenCV 버전 확인

pkg-config --modversion opencv4
또는
pkg-config --libs --cflags opencv4

 

 

'Linux' 카테고리의 다른 글

Linux SSH Root Login  (0) 2022.06.03
Linux Watch 명령어(명령어 결과 출력 반복 실행)  (0) 2022.05.25
Linux ls 명령어 구현 (2)  (0) 2021.08.17
Linux ls 명령어 구현 (1)  (2) 2021.08.17
Linux VI Editor 기타 명령어  (0) 2021.06.30
Comments