- Today
- Total
엔지니어스 - Engineeus
[Ubuntu] OpenCV 설치하기 (초간단) in Ubuntu 20.02, Python3.8 본문
[Ubuntu] OpenCV 설치하기 (초간단) in Ubuntu 20.02, Python3.8
Engineeus 2021. 7. 16. 16:00<환경>
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
'Autonomous Tech. > Installation' 카테고리의 다른 글
[Ubuntu] Yolov3 Python으로 실행시키기 (엄청 쉬움) (0) | 2021.07.29 |
---|---|
[Ubuntu] Graphic card 460 / CUDA 11.01 / CuDNN 8.1 / OpenCV 4 최신으로 설치 하기! (초간단) (0) | 2021.07.28 |
ubuntu 20.02 한글 Korean(hangul) 간단 설정 (0) | 2021.07.16 |
[Windows] OpenCV 3 설치 방법 (Visual Studio 2019) (0) | 2021.07.09 |
NVIDIA 그래픽 드라이버 옛날 버전 설치 (0) | 2021.05.12 |