├── LICENSE ├── OpenCV-4-10-0.sh ├── OpenCV-4-11-0.sh ├── OpenCV-4-5-0.sh ├── OpenCV-4-5-5.sh ├── OpenCV-4-6-0.sh ├── OpenCV-4-7-0.sh ├── OpenCV-4-8-0.sh ├── OpenCV-4-9-0.sh └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2021, Q-engineering 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /OpenCV-4-10-0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | install_opencv () { 4 | echo "" 5 | 6 | case `cat /etc/debian_version` in 7 | 10*) echo "Detecting Debian 10, Buster. " 8 | ;; 9 | 11*) echo "Detecting Debian 11, Bullseye. " 10 | ;; 11 | 12*) echo "Detecting Debian 12, Bookworm. " 12 | ;; 13 | esac 14 | 15 | echo "" 16 | echo "Installing OpenCV 4.10.0" 17 | echo "It will take minimal 2 hour !" 18 | cd ~ 19 | # install the dependencies 20 | sudo apt-get install -y build-essential cmake git unzip pkg-config 21 | sudo apt-get install -y libjpeg-dev libtiff-dev libpng-dev 22 | sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev 23 | sudo apt-get install -y libgtk2.0-dev libcanberra-gtk* libgtk-3-dev 24 | sudo apt-get install -y libgstreamer1.0-dev gstreamer1.0-gtk3 25 | sudo apt-get install -y libgstreamer-plugins-base1.0-dev gstreamer1.0-gl 26 | sudo apt-get install -y libxvidcore-dev libx264-dev 27 | sudo apt-get install -y python3-dev python3-numpy python3-pip 28 | sudo apt-get install -y libv4l-dev v4l-utils 29 | sudo apt-get install -y libopenblas-dev libatlas-base-dev libblas-dev 30 | sudo apt-get install -y liblapack-dev gfortran libhdf5-dev 31 | sudo apt-get install -y libprotobuf-dev libgoogle-glog-dev libgflags-dev 32 | sudo apt-get install -y protobuf-compiler 33 | 34 | #get TBB 35 | case `cat /etc/debian_version` in 36 | 10*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 37 | ;; 38 | 11*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 39 | ;; 40 | 12*) sudo apt-get install -y libtbbmalloc2 libtbb-dev libdc1394-dev gstreamer1.0-libcamera 41 | ;; 42 | esac 43 | 44 | # remove old versions or previous builds 45 | cd ~ 46 | sudo rm -rf opencv* 47 | 48 | # download the 4.10.0 version 49 | wget -O opencv.zip https://github.com/opencv/opencv/archive/4.10.0.zip 50 | wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.10.0.zip 51 | 52 | # unpack 53 | unzip opencv.zip 54 | unzip opencv_contrib.zip 55 | 56 | # Some administration to make life easier later on 57 | mv opencv-4.10.0 opencv 58 | mv opencv_contrib-4.10.0 opencv_contrib 59 | 60 | # clean up the zip files 61 | rm opencv.zip 62 | rm opencv_contrib.zip 63 | 64 | # set install dir 65 | cd ~/opencv 66 | mkdir build 67 | cd build 68 | 69 | # run cmake 70 | cmake -D CMAKE_BUILD_TYPE=RELEASE \ 71 | -D CMAKE_INSTALL_PREFIX=/usr/local \ 72 | -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ 73 | -D ENABLE_NEON=ON \ 74 | -D WITH_OPENMP=ON \ 75 | -D WITH_OPENCL=OFF \ 76 | -D BUILD_TIFF=ON \ 77 | -D WITH_FFMPEG=ON \ 78 | -D WITH_TBB=ON \ 79 | -D BUILD_TBB=ON \ 80 | -D WITH_GSTREAMER=ON \ 81 | -D BUILD_TESTS=OFF \ 82 | -D WITH_EIGEN=OFF \ 83 | -D WITH_V4L=ON \ 84 | -D WITH_LIBV4L=ON \ 85 | -D WITH_VTK=OFF \ 86 | -D WITH_QT=OFF \ 87 | -D WITH_PROTOBUF=ON \ 88 | -D OPENCV_ENABLE_NONFREE=ON \ 89 | -D INSTALL_C_EXAMPLES=OFF \ 90 | -D INSTALL_PYTHON_EXAMPLES=OFF \ 91 | -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \ 92 | -D OPENCV_GENERATE_PKGCONFIG=ON \ 93 | -D BUILD_EXAMPLES=OFF .. 94 | 95 | # run make 96 | make -j4 97 | sudo make install 98 | sudo ldconfig 99 | 100 | # cleaning (frees 320 MB) 101 | make clean 102 | sudo apt-get update 103 | 104 | echo "Congratulations!" 105 | echo "You've successfully installed OpenCV 4.10.0 on your Raspberry Pi 64-bit OS" 106 | } 107 | 108 | cd ~ 109 | 110 | if [ -d ~/opencv/build ]; then 111 | echo " " 112 | echo "You have a directory ~/opencv/build on your disk." 113 | echo "Continuing the installation will replace this folder." 114 | echo " " 115 | 116 | printf "Do you wish to continue (Y/n)?" 117 | read answer 118 | 119 | if [ "$answer" != "${answer#[Nn]}" ] ;then 120 | echo "Leaving without installing OpenCV" 121 | else 122 | install_opencv 123 | fi 124 | else 125 | install_opencv 126 | fi 127 | -------------------------------------------------------------------------------- /OpenCV-4-11-0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | install_opencv () { 4 | echo "" 5 | 6 | case `cat /etc/debian_version` in 7 | 10*) echo "Detecting Debian 10, Buster. " 8 | ;; 9 | 11*) echo "Detecting Debian 11, Bullseye. " 10 | ;; 11 | 12*) echo "Detecting Debian 12, Bookworm. " 12 | ;; 13 | esac 14 | 15 | echo "" 16 | echo "Installing OpenCV 4.11.0" 17 | echo "It will take minimal 2 hour !" 18 | cd ~ 19 | # install the dependencies 20 | sudo apt-get install -y build-essential cmake git unzip pkg-config 21 | sudo apt-get install -y libjpeg-dev libtiff-dev libpng-dev 22 | sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev 23 | sudo apt-get install -y libgtk2.0-dev libcanberra-gtk* libgtk-3-dev 24 | sudo apt-get install -y libgstreamer1.0-dev gstreamer1.0-gtk3 25 | sudo apt-get install -y libgstreamer-plugins-base1.0-dev gstreamer1.0-gl 26 | sudo apt-get install -y libxvidcore-dev libx264-dev 27 | sudo apt-get install -y python3-dev python3-numpy python3-pip 28 | sudo apt-get install -y libv4l-dev v4l-utils 29 | sudo apt-get install -y libopenblas-dev libatlas-base-dev libblas-dev 30 | sudo apt-get install -y liblapack-dev gfortran libhdf5-dev 31 | sudo apt-get install -y libprotobuf-dev libgoogle-glog-dev libgflags-dev 32 | sudo apt-get install -y protobuf-compiler 33 | 34 | #get TBB 35 | case `cat /etc/debian_version` in 36 | 10*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 37 | ;; 38 | 11*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 39 | ;; 40 | 12*) sudo apt-get install -y libtbbmalloc2 libtbb-dev libdc1394-dev gstreamer1.0-libcamera 41 | ;; 42 | esac 43 | 44 | # download the latest version 45 | cd ~ 46 | sudo rm -rf opencv* 47 | git clone --depth=1 https://github.com/opencv/opencv.git 48 | git clone --depth=1 https://github.com/opencv/opencv_contrib.git 49 | 50 | # set install dir 51 | cd ~/opencv 52 | mkdir build 53 | cd build 54 | 55 | # run cmake 56 | cmake -D CMAKE_BUILD_TYPE=RELEASE \ 57 | -D CMAKE_INSTALL_PREFIX=/usr/local \ 58 | -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ 59 | -D ENABLE_NEON=ON \ 60 | -D WITH_OPENMP=ON \ 61 | -D WITH_OPENCL=OFF \ 62 | -D BUILD_TIFF=ON \ 63 | -D WITH_FFMPEG=ON \ 64 | -D WITH_TBB=ON \ 65 | -D BUILD_TBB=ON \ 66 | -D WITH_GSTREAMER=ON \ 67 | -D BUILD_TESTS=OFF \ 68 | -D WITH_EIGEN=OFF \ 69 | -D WITH_V4L=ON \ 70 | -D WITH_LIBV4L=ON \ 71 | -D WITH_VTK=OFF \ 72 | -D WITH_QT=OFF \ 73 | -D WITH_PROTOBUF=ON \ 74 | -D OPENCV_ENABLE_NONFREE=ON \ 75 | -D INSTALL_C_EXAMPLES=OFF \ 76 | -D INSTALL_PYTHON_EXAMPLES=OFF \ 77 | -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \ 78 | -D OPENCV_GENERATE_PKGCONFIG=ON \ 79 | -D BUILD_EXAMPLES=OFF .. 80 | 81 | # run make 82 | make -j4 83 | sudo make install 84 | sudo ldconfig 85 | 86 | # cleaning (frees 320 MB) 87 | make clean 88 | sudo apt-get update 89 | 90 | echo "Congratulations!" 91 | echo "You've successfully installed OpenCV 4.11.0 on your Raspberry Pi 64-bit OS" 92 | } 93 | 94 | cd ~ 95 | 96 | if [ -d ~/opencv/build ]; then 97 | echo " " 98 | echo "You have a directory ~/opencv/build on your disk." 99 | echo "Continuing the installation will replace this folder." 100 | echo " " 101 | 102 | printf "Do you wish to continue (Y/n)?" 103 | read answer 104 | 105 | if [ "$answer" != "${answer#[Nn]}" ] ;then 106 | echo "Leaving without installing OpenCV" 107 | else 108 | install_opencv 109 | fi 110 | else 111 | install_opencv 112 | fi 113 | -------------------------------------------------------------------------------- /OpenCV-4-5-0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | install_opencv () { 4 | echo "" 5 | case `cat /etc/debian_version` in 6 | 10*) echo "Detecting Debian 10, Buster. " 7 | ;; 8 | 11*) echo "Detecting Debian 11, Bullseye. " 9 | ;; 10 | 12*) echo "Detecting Debian 12, Bookworm. " 11 | ;; 12 | esac 13 | echo "" 14 | echo "Installing OpenCV 4.5.0" 15 | echo "It will take minimal 1.5 hour !" 16 | cd ~ 17 | # install the dependencies 18 | sudo apt-get install -y build-essential cmake git unzip pkg-config 19 | sudo apt-get install -y libjpeg-dev libtiff-dev libpng-dev 20 | sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev 21 | sudo apt-get install -y libgtk2.0-dev libcanberra-gtk* libgtk-3-dev 22 | sudo apt-get install -y libgstreamer1.0-dev gstreamer1.0-gtk3 23 | sudo apt-get install -y libgstreamer-plugins-base1.0-dev gstreamer1.0-gl 24 | sudo apt-get install -y libxvidcore-dev libx264-dev 25 | sudo apt-get install -y python3-dev python3-numpy python3-pip 26 | sudo apt-get install -y libv4l-dev v4l-utils 27 | sudo apt-get install -y libopenblas-dev libatlas-base-dev libblas-dev 28 | sudo apt-get install -y liblapack-dev gfortran libhdf5-dev 29 | sudo apt-get install -y libprotobuf-dev libgoogle-glog-dev libgflags-dev 30 | sudo apt-get install -y protobuf-compiler 31 | #get TBB 32 | case `cat /etc/debian_version` in 33 | 10*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 34 | ;; 35 | 11*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 36 | ;; 37 | 12*) sudo apt-get install -y libtbbmalloc2 libtbb-dev 38 | ;; 39 | esac 40 | 41 | # download the latest version 42 | cd ~ 43 | sudo rm -rf opencv* 44 | wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.0.zip 45 | wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.0.zip 46 | # unpack 47 | unzip opencv.zip 48 | unzip opencv_contrib.zip 49 | # some administration to make live easier later on 50 | mv opencv-4.5.0 opencv 51 | mv opencv_contrib-4.5.0 opencv_contrib 52 | # clean up the zip files 53 | rm opencv.zip 54 | rm opencv_contrib.zip 55 | 56 | # set install dir 57 | cd ~/opencv 58 | mkdir build 59 | cd build 60 | 61 | # run cmake 62 | cmake -D CMAKE_BUILD_TYPE=RELEASE \ 63 | -D CMAKE_INSTALL_PREFIX=/usr/local \ 64 | -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ 65 | -D ENABLE_NEON=ON \ 66 | -D WITH_OPENMP=ON \ 67 | -D BUILD_TIFF=ON \ 68 | -D WITH_FFMPEG=ON \ 69 | -D WITH_TBB=ON \ 70 | -D BUILD_TBB=ON \ 71 | -D BUILD_TESTS=OFF \ 72 | -D WITH_EIGEN=OFF \ 73 | -D WITH_GSTREAMER=ON \ 74 | -D WITH_V4L=ON \ 75 | -D WITH_LIBV4L=ON \ 76 | -D WITH_VTK=OFF \ 77 | -D WITH_QT=OFF \ 78 | -D OPENCV_ENABLE_NONFREE=ON \ 79 | -D INSTALL_C_EXAMPLES=OFF \ 80 | -D INSTALL_PYTHON_EXAMPLES=OFF \ 81 | -D BUILD_NEW_PYTHON_SUPPORT=ON \ 82 | -D BUILD_opencv_python3=TRUE \ 83 | -D OPENCV_GENERATE_PKGCONFIG=ON \ 84 | -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \ 85 | -D BUILD_EXAMPLES=OFF .. 86 | 87 | # run make 88 | make -j4 89 | sudo make install 90 | sudo ldconfig 91 | 92 | # cleaning (frees 300 MB) 93 | make clean 94 | sudo apt-get update 95 | 96 | echo "Congratulations!" 97 | echo "You've successfully installed OpenCV 4.5.0 on your Raspberry Pi 64-bit OS" 98 | } 99 | 100 | cd ~ 101 | 102 | if [ -d ~/opencv/build ]; then 103 | echo " " 104 | echo "You have a directory ~/opencv/build on your disk." 105 | echo "Continuing the installation will replace this folder." 106 | echo " " 107 | 108 | printf "Do you wish to continue (Y/n)?" 109 | read answer 110 | 111 | if [ "$answer" != "${answer#[Nn]}" ] ;then 112 | echo "Leaving without installing OpenCV" 113 | else 114 | install_opencv 115 | fi 116 | else 117 | install_opencv 118 | fi 119 | 120 | -------------------------------------------------------------------------------- /OpenCV-4-5-5.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | install_opencv () { 4 | echo "" 5 | case `cat /etc/debian_version` in 6 | 10*) echo "Detecting Debian 10, Buster. " 7 | ;; 8 | 11*) echo "Detecting Debian 11, Bullseye. " 9 | ;; 10 | 12*) echo "Detecting Debian 12, Bookworm. " 11 | ;; 12 | esac 13 | echo "" 14 | echo "Installing OpenCV 4.5.5" 15 | echo "It will take minimal 2.0 hour !" 16 | cd ~ 17 | # install the dependencies 18 | sudo apt-get install -y build-essential cmake git unzip pkg-config 19 | sudo apt-get install -y libjpeg-dev libtiff-dev libpng-dev 20 | sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev 21 | sudo apt-get install -y libgtk2.0-dev libcanberra-gtk* libgtk-3-dev 22 | sudo apt-get install -y libgstreamer1.0-dev gstreamer1.0-gtk3 23 | sudo apt-get install -y libgstreamer-plugins-base1.0-dev gstreamer1.0-gl 24 | sudo apt-get install -y libxvidcore-dev libx264-dev 25 | sudo apt-get install -y python3-dev python3-numpy python3-pip 26 | sudo apt-get install -y libv4l-dev v4l-utils 27 | sudo apt-get install -y libopenblas-dev libatlas-base-dev libblas-dev 28 | sudo apt-get install -y liblapack-dev gfortran libhdf5-dev 29 | sudo apt-get install -y libprotobuf-dev libgoogle-glog-dev libgflags-dev 30 | sudo apt-get install -y protobuf-compiler 31 | #get TBB 32 | case `cat /etc/debian_version` in 33 | 10*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 34 | ;; 35 | 11*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 36 | ;; 37 | 12*) sudo apt-get install -y libtbbmalloc2 libtbb-dev 38 | ;; 39 | esac 40 | 41 | # download the latest version 42 | cd ~ 43 | sudo rm -rf opencv* 44 | wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.5.zip 45 | wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.5.zip 46 | # unpack 47 | unzip opencv.zip 48 | unzip opencv_contrib.zip 49 | # some administration to make live easier later on 50 | mv opencv-4.5.5 opencv 51 | mv opencv_contrib-4.5.5 opencv_contrib 52 | # clean up the zip files 53 | rm opencv.zip 54 | rm opencv_contrib.zip 55 | 56 | # set install dir 57 | cd ~/opencv 58 | mkdir build 59 | cd build 60 | 61 | # run cmake 62 | cmake -D CMAKE_BUILD_TYPE=RELEASE \ 63 | -D CMAKE_INSTALL_PREFIX=/usr/local \ 64 | -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ 65 | -D ENABLE_NEON=ON \ 66 | -D WITH_OPENMP=ON \ 67 | -D WITH_OPENCL=OFF \ 68 | -D BUILD_TIFF=ON \ 69 | -D WITH_FFMPEG=ON \ 70 | -D WITH_TBB=ON \ 71 | -D BUILD_TBB=ON \ 72 | -D WITH_GSTREAMER=ON \ 73 | -D BUILD_TESTS=OFF \ 74 | -D WITH_EIGEN=OFF \ 75 | -D WITH_V4L=ON \ 76 | -D WITH_LIBV4L=ON \ 77 | -D WITH_VTK=OFF \ 78 | -D WITH_QT=OFF \ 79 | -D OPENCV_ENABLE_NONFREE=ON \ 80 | -D INSTALL_C_EXAMPLES=OFF \ 81 | -D INSTALL_PYTHON_EXAMPLES=OFF \ 82 | -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \ 83 | -D OPENCV_GENERATE_PKGCONFIG=ON \ 84 | -D BUILD_EXAMPLES=OFF .. 85 | 86 | # run make 87 | make -j4 88 | sudo make install 89 | sudo ldconfig 90 | 91 | # cleaning (frees 300 MB) 92 | make clean 93 | sudo apt-get update 94 | 95 | echo "Congratulations!" 96 | echo "You've successfully installed OpenCV 4.5.5 on your Raspberry Pi 64-bit OS" 97 | } 98 | 99 | cd ~ 100 | 101 | if [ -d ~/opencv/build ]; then 102 | echo " " 103 | echo "You have a directory ~/opencv/build on your disk." 104 | echo "Continuing the installation will replace this folder." 105 | echo " " 106 | 107 | printf "Do you wish to continue (Y/n)?" 108 | read answer 109 | 110 | if [ "$answer" != "${answer#[Nn]}" ] ;then 111 | echo "Leaving without installing OpenCV" 112 | else 113 | install_opencv 114 | fi 115 | else 116 | install_opencv 117 | fi 118 | 119 | -------------------------------------------------------------------------------- /OpenCV-4-6-0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | install_opencv () { 4 | 5 | echo "" 6 | 7 | case `cat /etc/debian_version` in 8 | 10*) echo "Detecting Debian 10, Buster. " 9 | ;; 10 | 11*) echo "Detecting Debian 11, Bullseye. " 11 | ;; 12 | 12*) echo "Detecting Debian 12, Bookworm. " 13 | ;; 14 | esac 15 | 16 | echo "" 17 | echo "Installing OpenCV 4.6.0" 18 | echo "It will take minimal 2 hour !" 19 | cd ~ 20 | # install the dependencies 21 | sudo apt-get install -y build-essential cmake git unzip pkg-config 22 | sudo apt-get install -y libjpeg-dev libtiff-dev libpng-dev 23 | sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev 24 | sudo apt-get install -y libgtk2.0-dev libcanberra-gtk* libgtk-3-dev 25 | sudo apt-get install -y libgstreamer1.0-dev gstreamer1.0-gtk3 26 | sudo apt-get install -y libgstreamer-plugins-base1.0-dev gstreamer1.0-gl 27 | sudo apt-get install -y libxvidcore-dev libx264-dev 28 | sudo apt-get install -y python3-dev python3-numpy python3-pip 29 | sudo apt-get install -y libv4l-dev v4l-utils 30 | sudo apt-get install -y libopenblas-dev libatlas-base-dev libblas-dev 31 | sudo apt-get install -y liblapack-dev gfortran libhdf5-dev 32 | sudo apt-get install -y libprotobuf-dev libgoogle-glog-dev libgflags-dev 33 | sudo apt-get install -y protobuf-compiler 34 | #get TBB 35 | case `cat /etc/debian_version` in 36 | 10*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 37 | ;; 38 | 11*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 39 | ;; 40 | 12*) sudo apt-get install -y libtbbmalloc2 libtbb-dev 41 | ;; 42 | esac 43 | # download the latest version 44 | cd ~ 45 | sudo rm -rf opencv* 46 | wget -O opencv.zip https://github.com/opencv/opencv/archive/4.6.0.zip 47 | wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.6.0.zip 48 | # unpack 49 | unzip opencv.zip 50 | unzip opencv_contrib.zip 51 | # some administration to make live easier later on 52 | mv opencv-4.6.0 opencv 53 | mv opencv_contrib-4.6.0 opencv_contrib 54 | # clean up the zip files 55 | rm opencv.zip 56 | rm opencv_contrib.zip 57 | 58 | # set install dir 59 | cd ~/opencv 60 | mkdir build 61 | cd build 62 | 63 | # run cmake 64 | cmake -D CMAKE_BUILD_TYPE=RELEASE \ 65 | -D CMAKE_INSTALL_PREFIX=/usr/local \ 66 | -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ 67 | -D ENABLE_NEON=ON \ 68 | -D WITH_OPENMP=ON \ 69 | -D WITH_OPENCL=OFF \ 70 | -D BUILD_TIFF=ON \ 71 | -D WITH_FFMPEG=ON \ 72 | -D WITH_TBB=ON \ 73 | -D BUILD_TBB=ON \ 74 | -D WITH_GSTREAMER=ON \ 75 | -D BUILD_TESTS=OFF \ 76 | -D WITH_EIGEN=OFF \ 77 | -D WITH_V4L=ON \ 78 | -D WITH_LIBV4L=ON \ 79 | -D WITH_VTK=OFF \ 80 | -D WITH_QT=OFF \ 81 | -D OPENCV_ENABLE_NONFREE=ON \ 82 | -D INSTALL_C_EXAMPLES=OFF \ 83 | -D INSTALL_PYTHON_EXAMPLES=OFF \ 84 | -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \ 85 | -D OPENCV_GENERATE_PKGCONFIG=ON \ 86 | -D BUILD_EXAMPLES=OFF .. 87 | 88 | # run make 89 | make -j4 90 | sudo make install 91 | sudo ldconfig 92 | 93 | # cleaning (frees 300 MB) 94 | make clean 95 | sudo apt-get update 96 | 97 | echo "Congratulations!" 98 | echo "You've successfully installed OpenCV 4.6.0 on your Raspberry Pi 64-bit OS" 99 | } 100 | 101 | cd ~ 102 | 103 | if [ -d ~/opencv/build ]; then 104 | echo " " 105 | echo "You have a directory ~/opencv/build on your disk." 106 | echo "Continuing the installation will replace this folder." 107 | echo " " 108 | 109 | printf "Do you wish to continue (Y/n)?" 110 | read answer 111 | 112 | if [ "$answer" != "${answer#[Nn]}" ] ;then 113 | echo "Leaving without installing OpenCV" 114 | else 115 | install_opencv 116 | fi 117 | else 118 | install_opencv 119 | fi 120 | -------------------------------------------------------------------------------- /OpenCV-4-7-0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | install_opencv () { 4 | echo "" 5 | case `cat /etc/debian_version` in 6 | 10*) echo "Detecting Debian 10, Buster. " 7 | ;; 8 | 11*) echo "Detecting Debian 11, Bullseye. " 9 | ;; 10 | 12*) echo "Detecting Debian 12, Bookworm. " 11 | ;; 12 | esac 13 | echo "" 14 | echo "Installing OpenCV 4.7.0" 15 | echo "It will take minimal 2.5 hour !" 16 | cd ~ 17 | # install the dependencies 18 | sudo apt-get install -y build-essential cmake git unzip pkg-config 19 | sudo apt-get install -y libjpeg-dev libtiff-dev libpng-dev 20 | sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev 21 | sudo apt-get install -y libgtk2.0-dev libcanberra-gtk* libgtk-3-dev 22 | sudo apt-get install -y libgstreamer1.0-dev gstreamer1.0-gtk3 23 | sudo apt-get install -y libgstreamer-plugins-base1.0-dev gstreamer1.0-gl 24 | sudo apt-get install -y libxvidcore-dev libx264-dev 25 | sudo apt-get install -y python3-dev python3-numpy python3-pip 26 | sudo apt-get install -y libv4l-dev v4l-utils 27 | sudo apt-get install -y libopenblas-dev libatlas-base-dev libblas-dev 28 | sudo apt-get install -y liblapack-dev gfortran libhdf5-dev 29 | sudo apt-get install -y libprotobuf-dev libgoogle-glog-dev libgflags-dev 30 | sudo apt-get install -y protobuf-compiler 31 | #get TBB 32 | case `cat /etc/debian_version` in 33 | 10*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 34 | ;; 35 | 11*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 36 | ;; 37 | 12*) sudo apt-get install -y libtbbmalloc2 libtbb-dev 38 | ;; 39 | esac 40 | 41 | # download the latest version 42 | cd ~ 43 | sudo rm -rf opencv* 44 | wget -O opencv.zip https://github.com/opencv/opencv/archive/4.7.0.zip 45 | wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.7.0.zip 46 | # unpack 47 | unzip opencv.zip 48 | unzip opencv_contrib.zip 49 | # some administration to make live easier later on 50 | mv opencv-4.7.0 opencv 51 | mv opencv_contrib-4.7.0 opencv_contrib 52 | # clean up the zip files 53 | rm opencv.zip 54 | rm opencv_contrib.zip 55 | 56 | # set install dir 57 | cd ~/opencv 58 | mkdir build 59 | cd build 60 | 61 | # run cmake 62 | cmake -D CMAKE_BUILD_TYPE=RELEASE \ 63 | -D CMAKE_INSTALL_PREFIX=/usr/local \ 64 | -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ 65 | -D ENABLE_NEON=ON \ 66 | -D WITH_OPENMP=ON \ 67 | -D WITH_OPENCL=OFF \ 68 | -D BUILD_TIFF=ON \ 69 | -D WITH_FFMPEG=ON \ 70 | -D WITH_TBB=ON \ 71 | -D BUILD_TBB=ON \ 72 | -D WITH_GSTREAMER=ON \ 73 | -D BUILD_TESTS=OFF \ 74 | -D WITH_EIGEN=OFF \ 75 | -D WITH_V4L=ON \ 76 | -D WITH_LIBV4L=ON \ 77 | -D WITH_VTK=OFF \ 78 | -D WITH_QT=OFF \ 79 | -D OPENCV_ENABLE_NONFREE=ON \ 80 | -D INSTALL_C_EXAMPLES=OFF \ 81 | -D INSTALL_PYTHON_EXAMPLES=OFF \ 82 | -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \ 83 | -D OPENCV_GENERATE_PKGCONFIG=ON \ 84 | -D BUILD_EXAMPLES=OFF .. 85 | 86 | # run make 87 | make -j4 88 | sudo make install 89 | sudo ldconfig 90 | 91 | # cleaning (frees 320 MB) 92 | make clean 93 | sudo apt-get update 94 | 95 | echo "Congratulations!" 96 | echo "You've successfully installed OpenCV 4.7.0 on your Raspberry Pi 64-bit OS" 97 | } 98 | 99 | cd ~ 100 | 101 | if [ -d ~/opencv/build ]; then 102 | echo " " 103 | echo "You have a directory ~/opencv/build on your disk." 104 | echo "Continuing the installation will replace this folder." 105 | echo " " 106 | 107 | printf "Do you wish to continue (Y/n)?" 108 | read answer 109 | 110 | if [ "$answer" != "${answer#[Nn]}" ] ;then 111 | echo "Leaving without installing OpenCV" 112 | else 113 | install_opencv 114 | fi 115 | else 116 | install_opencv 117 | fi 118 | 119 | -------------------------------------------------------------------------------- /OpenCV-4-8-0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | install_opencv () { 4 | echo "" 5 | 6 | case `cat /etc/debian_version` in 7 | 10*) echo "Detecting Debian 10, Buster. " 8 | ;; 9 | 11*) echo "Detecting Debian 11, Bullseye. " 10 | ;; 11 | 12*) echo "Detecting Debian 12, Bookworm. " 12 | ;; 13 | esac 14 | 15 | echo "" 16 | echo "Installing OpenCV 4.8.0" 17 | echo "It will take minimal 2 hour !" 18 | cd ~ 19 | # install the dependencies 20 | sudo apt-get install -y build-essential cmake git unzip pkg-config 21 | sudo apt-get install -y libjpeg-dev libtiff-dev libpng-dev 22 | sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev 23 | sudo apt-get install -y libgtk2.0-dev libcanberra-gtk* libgtk-3-dev 24 | sudo apt-get install -y libgstreamer1.0-dev gstreamer1.0-gtk3 25 | sudo apt-get install -y libgstreamer-plugins-base1.0-dev gstreamer1.0-gl 26 | sudo apt-get install -y libxvidcore-dev libx264-dev 27 | sudo apt-get install -y python3-dev python3-numpy python3-pip 28 | sudo apt-get install -y libv4l-dev v4l-utils 29 | sudo apt-get install -y libopenblas-dev libatlas-base-dev libblas-dev 30 | sudo apt-get install -y liblapack-dev gfortran libhdf5-dev 31 | sudo apt-get install -y libprotobuf-dev libgoogle-glog-dev libgflags-dev 32 | sudo apt-get install -y protobuf-compiler 33 | 34 | #get TBB 35 | case `cat /etc/debian_version` in 36 | 10*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 37 | ;; 38 | 11*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 39 | ;; 40 | 12*) sudo apt-get install -y libtbbmalloc2 libtbb-dev libdc1394-dev gstreamer1.0-libcamera 41 | ;; 42 | esac 43 | 44 | cd ~ 45 | sudo rm -rf opencv* 46 | # download the 4.8.0 version 47 | wget -O opencv.zip https://github.com/opencv/opencv/archive/4.8.0.zip 48 | wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.8.0.zip 49 | # unpack 50 | unzip opencv.zip 51 | unzip opencv_contrib.zip 52 | # Some administration to make life easier later on 53 | mv opencv-4.8.0 opencv 54 | mv opencv_contrib-4.8.0 opencv_contrib 55 | # clean up the zip files 56 | rm opencv.zip 57 | rm opencv_contrib.zip 58 | 59 | # set install dir 60 | cd ~/opencv 61 | mkdir build 62 | cd build 63 | 64 | # run cmake 65 | cmake -D CMAKE_BUILD_TYPE=RELEASE \ 66 | -D CMAKE_INSTALL_PREFIX=/usr/local \ 67 | -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ 68 | -D ENABLE_NEON=ON \ 69 | -D WITH_OPENMP=ON \ 70 | -D WITH_OPENCL=OFF \ 71 | -D BUILD_TIFF=ON \ 72 | -D WITH_FFMPEG=ON \ 73 | -D WITH_TBB=ON \ 74 | -D BUILD_TBB=ON \ 75 | -D WITH_GSTREAMER=ON \ 76 | -D BUILD_TESTS=OFF \ 77 | -D WITH_EIGEN=OFF \ 78 | -D WITH_V4L=ON \ 79 | -D WITH_LIBV4L=ON \ 80 | -D WITH_VTK=OFF \ 81 | -D WITH_QT=OFF \ 82 | -D WITH_PROTOBUF=ON \ 83 | -D OPENCV_ENABLE_NONFREE=ON \ 84 | -D INSTALL_C_EXAMPLES=OFF \ 85 | -D INSTALL_PYTHON_EXAMPLES=OFF \ 86 | -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \ 87 | -D OPENCV_GENERATE_PKGCONFIG=ON \ 88 | -D BUILD_EXAMPLES=OFF .. 89 | 90 | # run make 91 | make -j4 92 | sudo make install 93 | sudo ldconfig 94 | 95 | # cleaning (frees 320 MB) 96 | make clean 97 | sudo apt-get update 98 | 99 | echo "Congratulations!" 100 | echo "You've successfully installed OpenCV 4.8.0 on your Raspberry Pi 64-bit OS" 101 | } 102 | 103 | cd ~ 104 | 105 | if [ -d ~/opencv/build ]; then 106 | echo " " 107 | echo "You have a directory ~/opencv/build on your disk." 108 | echo "Continuing the installation will replace this folder." 109 | echo " " 110 | 111 | printf "Do you wish to continue (Y/n)?" 112 | read answer 113 | 114 | if [ "$answer" != "${answer#[Nn]}" ] ;then 115 | echo "Leaving without installing OpenCV" 116 | else 117 | install_opencv 118 | fi 119 | else 120 | install_opencv 121 | fi 122 | 123 | -------------------------------------------------------------------------------- /OpenCV-4-9-0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | install_opencv () { 4 | echo "" 5 | 6 | case `cat /etc/debian_version` in 7 | 10*) echo "Detecting Debian 10, Buster. " 8 | ;; 9 | 11*) echo "Detecting Debian 11, Bullseye. " 10 | ;; 11 | 12*) echo "Detecting Debian 12, Bookworm. " 12 | ;; 13 | esac 14 | 15 | echo "" 16 | echo "Installing OpenCV 4.9.0" 17 | echo "It will take minimal 2 hour !" 18 | cd ~ 19 | # install the dependencies 20 | sudo apt-get install -y build-essential cmake git unzip pkg-config 21 | sudo apt-get install -y libjpeg-dev libtiff-dev libpng-dev 22 | sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev 23 | sudo apt-get install -y libgtk2.0-dev libcanberra-gtk* libgtk-3-dev 24 | sudo apt-get install -y libgstreamer1.0-dev gstreamer1.0-gtk3 25 | sudo apt-get install -y libgstreamer-plugins-base1.0-dev gstreamer1.0-gl 26 | sudo apt-get install -y libxvidcore-dev libx264-dev 27 | sudo apt-get install -y python3-dev python3-numpy python3-pip 28 | sudo apt-get install -y libv4l-dev v4l-utils 29 | sudo apt-get install -y libopenblas-dev libatlas-base-dev libblas-dev 30 | sudo apt-get install -y liblapack-dev gfortran libhdf5-dev 31 | sudo apt-get install -y libprotobuf-dev libgoogle-glog-dev libgflags-dev 32 | sudo apt-get install -y protobuf-compiler 33 | 34 | #get TBB 35 | case `cat /etc/debian_version` in 36 | 10*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 37 | ;; 38 | 11*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev 39 | ;; 40 | 12*) sudo apt-get install -y libtbbmalloc2 libtbb-dev libdc1394-dev gstreamer1.0-libcamera 41 | ;; 42 | esac 43 | 44 | # download the latest version 45 | cd ~ 46 | sudo rm -rf opencv* 47 | # download the 4.9.0 version 48 | wget -O opencv.zip https://github.com/opencv/opencv/archive/4.9.0.zip 49 | wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.9.0.zip 50 | # unpack 51 | unzip opencv.zip 52 | unzip opencv_contrib.zip 53 | # Some administration to make life easier later on 54 | mv opencv-4.9.0 opencv 55 | mv opencv_contrib-4.9.0 opencv_contrib 56 | # clean up the zip files 57 | rm opencv.zip 58 | rm opencv_contrib.zip 59 | 60 | # set install dir 61 | cd ~/opencv 62 | mkdir build 63 | cd build 64 | 65 | # run cmake 66 | cmake -D CMAKE_BUILD_TYPE=RELEASE \ 67 | -D CMAKE_INSTALL_PREFIX=/usr/local \ 68 | -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ 69 | -D ENABLE_NEON=ON \ 70 | -D WITH_OPENMP=ON \ 71 | -D WITH_OPENCL=OFF \ 72 | -D BUILD_TIFF=ON \ 73 | -D WITH_FFMPEG=ON \ 74 | -D WITH_TBB=ON \ 75 | -D BUILD_TBB=ON \ 76 | -D WITH_GSTREAMER=ON \ 77 | -D BUILD_TESTS=OFF \ 78 | -D WITH_EIGEN=OFF \ 79 | -D WITH_V4L=ON \ 80 | -D WITH_LIBV4L=ON \ 81 | -D WITH_VTK=OFF \ 82 | -D WITH_QT=OFF \ 83 | -D WITH_PROTOBUF=ON \ 84 | -D OPENCV_ENABLE_NONFREE=ON \ 85 | -D INSTALL_C_EXAMPLES=OFF \ 86 | -D INSTALL_PYTHON_EXAMPLES=OFF \ 87 | -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \ 88 | -D OPENCV_GENERATE_PKGCONFIG=ON \ 89 | -D BUILD_EXAMPLES=OFF .. 90 | 91 | # run make 92 | make -j4 93 | sudo make install 94 | sudo ldconfig 95 | 96 | # cleaning (frees 320 MB) 97 | make clean 98 | sudo apt-get update 99 | 100 | echo "Congratulations!" 101 | echo "You've successfully installed OpenCV 4.9.0 on your Raspberry Pi 64-bit OS" 102 | } 103 | 104 | cd ~ 105 | 106 | if [ -d ~/opencv/build ]; then 107 | echo " " 108 | echo "You have a directory ~/opencv/build on your disk." 109 | echo "Continuing the installation will replace this folder." 110 | echo " " 111 | 112 | printf "Do you wish to continue (Y/n)?" 113 | read answer 114 | 115 | if [ "$answer" != "${answer#[Nn]}" ] ;then 116 | echo "Leaving without installing OpenCV" 117 | else 118 | install_opencv 119 | fi 120 | else 121 | install_opencv 122 | fi 123 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Install-OpenCV-Raspberry-Pi-64-bits 2 | ![output image]( https://qengineering.eu/images/LogoOpenRaspberryGitHub.webp ) 3 | 4 | ## OpenCV installation script for a Raspberry Pi with 64-bits OS (Buster, Bullseye, Bookworm) 5 | 6 | [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
7 | 8 | This is the full setup of OpenCV for the Raspberry Pi 64-bits.
9 | For more information see [Q-engineering - Install OpenCV Raspberry Pi](https://qengineering.eu/install-opencv-4.5-on-raspberry-64-os.html) 10 | 11 | ------------ 12 | 13 | ## Installing OpenCV. 14 | You must have allocated enough memory, otherwise the compilation, unfortunately, crashes after 2 hours at 100% 15 | ``` 16 | # check your total memory (RAM + swap) first. You need at least a total of: 17 | # OpenCV 4.10.0 -> 6.5 GB! 18 | # OpenCV 4.9.0 -> 6.5 GB! 19 | # OpenCV 4.8.0 -> 6.5 GB! 20 | # OpenCV 4.7.0 -> 6.5 GB! 21 | # OpenCV 4.6.0 -> 6.5 GB! 22 | # OpenCV 4.5.5 -> 6.5 GB! 23 | # OpenCV 4.5.0 -> 5.5 GB 24 | # if not, enlarge your swap space as explained in the guide 25 | $ free -m 26 | 27 | $ wget https://github.com/Qengineering/Install-OpenCV-Raspberry-Pi-64-bits/raw/main/OpenCV-4-10-0.sh 28 | $ sudo chmod 755 ./OpenCV-4-10-0.sh 29 | $ ./OpenCV-4-10-0.sh 30 | ``` 31 | :point_right: Don't forget to reset your swap memory afterwards. 32 | 33 | ------------ 34 | 35 | If you want to beautify OpenCV with the Qt5 GUI you need to 36 | ``` 37 | # Bookworm 38 | - $ sudo apt-get install qtbase5-dev 39 | # Other OS 40 | - $ sudo apt-get install qt5-default 41 | 42 | # in the cmake list 43 | - Set the -D WITH_QT=**ON** \ (± line 54) in the script 44 | ``` 45 | before running the script on your RPi 46 | 47 | ------------ 48 | 49 | OpenCV will be installed to the `/usr/local` directory, all files will be copied to following locations:
50 | 51 | - `/usr/local/bin` - executable files
52 | - `/usr/local/lib` - libraries (.so)
53 | - `/usr/local/lib/cmake/opencv4` - cmake package
54 | - `/usr/local/include/opencv4` - headers
55 | - `/usr/local/share/opencv4` - other files (e.g. trained cascades in XML format)
56 | 57 | ------------ 58 | 59 | [![paypal](https://qengineering.eu/images/TipJarSmall4.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CPZTM5BB3FCYL) 60 | 61 | --------------------------------------------------------------------------------