Install Opencv 3.4.5 on Ubuntu 18.04

hogeol·2022년 3월 5일
0

Ubuntu

목록 보기
4/12

If other version of opencv is installed in your PC, recommended remove that following below command

sudo apt purge libopencv* python-opencv

sudo find / -name "opencv" -exec rm -i {} \;
sudo find / -name "opencv" -exec rm -r {} \;
sudo find / -name "OpenCV" -exec rm -i {} \;
sudo find / -name "OpenCV" -exec rm -r {} \;
sudo find / -name "cv2" -exec rm -i {} \;
sudo find / -name "cv2" -exec rm -r {} \;

Also if there are 'ros' in your pc, you need to remove the ros and reinstall that after install the opencv

ROS uninstall

sudo apt-get purge ros-* -y
sudo apt-get autoremove -y

  1. Install dependency libraries

For OpenCV-python binding

sudo apt install -y python2.7-dev python3-dev python-numpy python3-numpy

For specific image files

sudo apt install -y libjpeg-dev libpng-dev libtiff-dev

For specific video files

sudo apt install -y libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev

For realtime video capture (Video4Linux)

sudo apt install -y libv4l-dev v4l-utils

For video streaming

sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

For support OpenGL

sudo apt install -y mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev

For OpenCV optimization

sudo apt install -y libatlas-base-dev gfortran libeigen3-dev

Other optional packages

sudo apt install -y libgtk-3-dev libqt4-dev

  1. Install Opencv 3.4.0

mkdir ~/opencv && cd ~/opencv
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.5.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.5.zip

unzip opencv.zip
unzip opencv_contrib.zip

cd opencv-3.4.5
mkdir build
cd build

2_1. Build Opencv

cmake -DBUILD_WITH_DEBUG_INFO=OFF \
-DBUILD_DOCS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_NEW_PYTHON_SUPPORT=ON \
-DBUILD_PERF_TESTS=OFF \
-DBUILD_TESTS=OFF \
-DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DINSTALL_C_EXAMPLES=ON \
-DINSTALL_PYTHON_EXAMPLES=ON \
-DPYTHON2_INCLUDE_DIR=/usr/include/python2.7 \
-DPYTHON2_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so \
-DPYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/ \
-DPYTHON2_PACKAGES_PATH=/usr/lib/python2.7/dist-packages \
-DPYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ \
-DPYTHON3_INCLUDE_DIR=/usr/include/python3.6m \
-DPYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \
-DPYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
-DWITH_1394=OFF \
-DWITH_FFMPEG=ON \
-DWITH_GTK=ON \
-DWITH_IPP=OFF \
-DWITH_OPENGL=ON \
-DWITH_QT=ON \
-DWITH_TBB=OFF \
-DWITH_V4L=ON \
-DWITH_XINE=ON \
-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.5/modules \
../

The command below is the same as the command above

cmake -DBUILD_WITH_DEBUG_INFO=OFF -DBUILD_DOCS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_NEW_PYTHON_SUPPORT=ON -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DINSTALL_C_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON -DPYTHON2_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON2_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so -DPYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/ -DPYTHON2_PACKAGES_PATH=/usr/lib/python2.7/dist-packages -DPYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ -DPYTHON3_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages -DPYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so -DWITH_1394=OFF -DWITH_FFMPEG=ON -DWITH_GTK=ON -DWITH_IPP=OFF -DWITH_OPENGL=ON -DWITH_QT=ON -DWITH_TBB=OFF -DWITH_V4L=ON -DWITH_XINE=ON -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.5/modules ../

If you want to use 'Non free' module, add below command in cmake

-DOPENCV_ENABLE_NONFREE=ON

Compile using 'make' command

time make -j$(nproc)

2_2. Complie opencv

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

  1. Check opencv version

pkg-config --modversion opencv

0개의 댓글