Skip to content

Instantly share code, notes, and snippets.

@rodolfoap
Last active May 21, 2020 07:41
Show Gist options
  • Save rodolfoap/fbcb58f7b5b1baad4ce30ba4de478bca to your computer and use it in GitHub Desktop.
Save rodolfoap/fbcb58f7b5b1baad4ce30ba4de478bca to your computer and use it in GitHub Desktop.
OpenCV 4.12 install for Debian/Buster

Install OpenCV 4.1.2 on Debian Buster

$ chmod +x *.sh
$ ./download-opencv.sh
$ ./install-deps.sh
$ ./build-opencv.sh
$ cd ~/opencv/opencv-4.1.2/build
$ sudo make install

Check you can run test.py using both python 2 and 3 to verify that OpenCV python bindings were successfully installed

$ python2 test.py
$ python3 test.py
#!/usr/bin/env bash
set -ex
. version
pushd ~/opencv/opencv-$OPENCV_VERSION
rm -rf build
mkdir -p build
pushd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=/home/rodolfoap/opencv/opencv_contrib-4.1.2/modules \
-D OPENCV_ENABLE_NONFREE=ON \
-D BUILD_PERF_TESTS=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_DOCS=OFF \
-D BUILD_EXAMPLES=ON \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D WITH_TBB=ON \
-D WITH_OPENMP=ON \
-D WITH_VTK=ON \
-D OPENCV_GENERATE_PKGCONFIG=YES \
-D OPENCV_EXTRA_EXE_LINKER_FLAGS=-latomic \
-D PYTHON3_EXECUTABLE=$(which python3) \
-D PYTHON_EXECUTABLE=$(which python2) \
..
make -j$(nproc)
sudo make install
popd; popd
#!/usr/bin/env bash
set -ex
. version
cd ~
mkdir -p opencv && pushd opencv
wget -O "opencv-${OPENCV_VERSION}.tar.gz" "https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.tar.gz"
wget -O "opencv_contrib-${OPENCV_VERSION}.tar.gz" "https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.tar.gz"
tar -xvf "opencv-${OPENCV_VERSION}.tar.gz"
tar -xvf "opencv_contrib-${OPENCV_VERSION}.tar.gz"
popd
#!/usr/bin/env bash
set -ex
sudo python3 -m pip uninstall -y opencv-python
sudo apt clean
sudo apt update
sudo apt -y remove libopencv*
# sudo apt-get upgrade -y
# sudo apt-get dist-upgrade -y
sudo apt-get autoremove -y
# For some reason I couldn't install libgtk2.0-dev or libgtk-3-dev without running the following line
# See https://www.raspberrypi.org/forums/viewtopic.php?p=1254646#p1254665 for issue and resolution
sudo apt-get install -y devscripts debhelper cmake libldap2-dev libgtkmm-3.0-dev libarchive-dev \
libcurl4-openssl-dev intltool
sudo apt-get install -y build-essential cmake pkg-config libjpeg-dev libtiff5-dev \
libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
libxvidcore-dev libx264-dev libgtk2.0-dev libgtk-3-dev \
libatlas-base-dev libblas-dev libeigen3-dev liblapack-dev \
libvtk7-dev gfortran python3-dev python3-pip python3
sudo python3 -m pip install -U pip
sudo python3 -m pip install numpy
#!/usr/bin/python3
import subprocess as sp
import cv2
# Load an color image in grayscale
img=cv2.imread("lenna.png", 0)
cv2.imshow('image', img)
cv2.waitKey(5000)
cv2.destroyAllWindows()
#xport OPENCV_VERSION=3.4.3
export OPENCV_VERSION=4.1.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment