엔지니어스 - Engineeus

[Ubuntu] OpenCV 설치하기 (초간단) in Ubuntu 20.02, Python3.8 본문

Autonomous Tech./Installation

[Ubuntu] OpenCV 설치하기 (초간단) in Ubuntu 20.02, Python3.8

Engineeus 2021. 7. 16. 16:00
728x90

<환경>

Ubuntu 20.02

Python3.8 (Default)

 

<기존 설치 패키지 업그레이드>

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 libgtk2.0-dev
sudo apt-get install ibqt4-dev
sudo apt-get install libqt5-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
sudo apt install python3-pip
pip3 install numpy


wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/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

#확인
ls -d */

cd opencv-4.4.0/

mkdir build
cd build

다음과 같은 메시지가 보이면 정상적으로 된 것입니다.

-- Configuring done
-- Generating done
-- Build files have been written to: /home/webnautes/opencv/opencv-4.4.0/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_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 ../

 

make 명령을 사용하여 '컴파일'을 시작합니다. 앞에 time을 붙여서 실행하면 컴파일 완료 후 걸린 시간을 알려줍니다.

time make -j$(nproc)

 

컴파일 성공하면 다음과 같은 메시지를 볼 수 있습니다.

[100%] Built target opencv_superres
Scanning dependencies of target opencv_python3
[100%] Building CXX object modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o
[100%] Linking CXX shared library ../../lib/libopencv_stereo.so
[100%] Built target opencv_stereo
[100%] Linking CXX shared module ../../lib/python3/cv2.cpython-38-x86_64-linux-gnu.so
[100%] Built target opencv_python3

real 7m19.737s
user 45m14.310s
sys 2m14.284s

 

이제 컴파일 결과물을 설치합니다. 

sudo make install



/etc/ld.so.conf.d/ 디렉토리에 /usr/local/lib를 포함하는 설정파일이 있는지 확인합니다.

cat /etc/ld.so.conf.d/*
/usr/lib/x86_64-linux-gnu/libfakeroot
# libc default configuration
/usr/local/lib
# Multiarch support
/usr/local/lib/x86_64-linux-gnu
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu

 

 

OpenCV 설치 결과 확인 

 C/C++

OpenCV 3과 달리 opencv대신에 opencv4를 옵션으로 사용하여 pkg-config를 실행해야 컴파일할 수 있습니다.

g++ -o facedetect /usr/local/share/opencv4/samples/cpp/facedetect.cpp $(pkg-config opencv4 --libs --cflags)

 

실행시켜보면 얼굴 인식이 됩니다. 

./facedetect --cascade="/usr/local/share/opencv4/haarcascades/haarcascade_frontalface_alt.xml" --nested-cascade="/usr/local/share/opencv4/haarcascades/haarcascade_eye_tree_eyeglasses.xml" --scale=1.3


*./facedetect: error while loading shared libraries: libopencv_highgui.so.4.4: cannot open shared object file: No such file or directory 오류 발견 시

env | grep LD_LIBRARY_PATH

이 것을 통해 환경변수가 설정되어있지 않은지 확인한다.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

설정 되어있지 않으면 위의 코드를 통해 환경변수 설정을 해준다.

 

 


Python

1. python 3x에서 opencv 라이브러리를 사용가능한지는 다음처럼 확인합니다.

OpenCV 버전으로 4.4.0이 출력되어야 합니다.

python3
import cv2
cv2.__version__
quit()



2. 예제 코드를 실행해봅니다.

python3 /usr/local/share/opencv4/samples/python/facedetect.py --cascade "/usr/local/share/opencv4/haarcascades/haarcascade_frontalface_alt.xml" --nested-cascade "/usr/local/share/opencv4/haarcascades/haarcascade_eye_tree_eyeglasses.xml" /dev/video0

카메라 영상에 얼굴이 검출된 결과를 얻을 수 있습니다.

 

 

 


https://webnautes.tistory.com/1433

 

Ubuntu 20.04에 OpenCV 4.4.0 설치하는 방법

OpenCV 4.4.0과 opencv_contrib(extra modules)를 컴파일하여 Ubuntu 20.04에 설치하는 방법을 다룹니다. 1. 설치된 OpenCV 제거 2. 기존 설치된 패키지 업그레이드 3. OpenCV 컴파일 전 필요한 패키지 설치 4. Op..

webnautes.tistory.com

 

Comments