0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Raspberry Pi 64位OS上安裝OpenCV 4.5

jf_70714899 ? 來源:jf_70714899 ? 作者:jf_70714899 ? 2023-04-12 10:30 ? 次閱讀

介紹

Raspberry Pi正在向64位操作系統(tǒng)發(fā)展。在一年左右的時(shí)間內(nèi),32位操作系統(tǒng)將被更快的64位版本完全取代。
樹莓基金會(huì)最近發(fā)布了一個(gè)不僅僅是功能性的測試版。安裝說明可在此處找到。本指南是指導(dǎo)在Raspberry Pi 4上的64位操作系統(tǒng)上安裝OpenCV 4.5.x。
您可以在OpenCV的GitHub頁面上找到4.5.x版本的發(fā)行說明。
OpenCV Lite
尋找更小的 OpenCV ?我們的OpenCV Lite安裝可能正是您所需要的。只是很基本的安裝,為您節(jié)省了大量內(nèi)存。
OpenCV 4.5.1
2020年 12月 22 日,OpenCV 發(fā)布了5.1.4版本。此版本中最重要的改進(jìn)是G-API框架和RISC-V端口。兩者都不會(huì)影響Raspberry Pi。這就是為什么我們沒有此版本的特殊安裝指南。如果您希望使用4.5.0 以上版本,請(qǐng)?jiān)?a href="http://wenjunhu.com/soft/special/" target="_blank">下載過程中隨意選擇版本號(hào)從4.5.0 到4.5.1。
OpenCV 4.5.2
2021 年 4 月 2 日,OpenCV 發(fā)布了4.5.2版本。在此處的日志文件中查找版本重大變更。在 imgproc、videoio 和 DNN 模塊中進(jìn)行了重要更改。在下載過程中,請(qǐng)隨意將版本號(hào)從4.5.0更改為4.5.2。
OpenCV 4.5.3
2021 年 7 月 5 日,OpenCV 發(fā)布了 4.5.3 版本。除了各種錯(cuò)誤修復(fù)和改進(jìn)外,最重要的變化是DaSiamRPN跟蹤器,這是一個(gè)GPU FFmpeg后端,用于CUDA后端中的videoio和MatMul支持。更多信息在這里。
OpenCV 4.5.4
2021 年 10 月 11 日,OpenCV 發(fā)布了 4.5.4 版本。主要變化是 DNN 模塊的持續(xù)改進(jìn)。當(dāng)然,還有錯(cuò)誤修復(fù)和改進(jìn)。更多信息在這里。
OpenCV 4.5.5
2021 年 12 月 25 日,OpenCV 發(fā)布了 4.5.5 版本。同樣,最大的變化是對(duì) DNN 模塊的改進(jìn)。當(dāng)然,還有錯(cuò)誤修復(fù)和改進(jìn)。更多信息在這里。
您應(yīng)該知道有一個(gè)問題。Python3 安裝腳本修改不正確。它會(huì)將所有庫放在錯(cuò)誤的目錄中,Python 找不到它們。通過將-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages添加到構(gòu)建中,庫就會(huì)存儲(chǔ)在正確的文件夾中。問題解決后,我們將刪除此解決方法。這是GitHub上的錯(cuò)誤報(bào)告。
OpenCV 4.6.0
2022 年 7 月 7 日,OpenCV 發(fā)布了 4.6.0 版本。除了對(duì) DNN 庫的更改和改進(jìn)之外,最重要的更改是對(duì) GCC 15 和 Clang 5 編譯器的支持。同樣值得注意的是對(duì)FFmpeg 5.0的支持。
我們必須使用額外的行-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages。
從 Python 3.12 開始,dist-packages文件夾中的安裝被棄用,取而代之的是site-package文件夾。

版本檢查

在Raspberry 64位操作系統(tǒng)上安裝OpenCV 4.5之前,您應(yīng)該首先檢查您的版本。運(yùn)行命令 uname -a 并使用下面的屏幕打印驗(yàn)證您的版本。

poYBAGQ2FmOAVzm9AAEtEjotWSk273.png

您還需要使用命令gcc -v檢查您的C++編譯器版本。它還必須是aarch64-linux-gnu版本,如屏幕截圖所示。如果您使用的是 64 位操作系統(tǒng),但您的 gcc 版本與上面給出的版本不同,請(qǐng)使用最新版本重新安裝整個(gè)操作系統(tǒng)。這里有指南:在樹莓派4上安裝 64 位操作系統(tǒng) 。您必須有一個(gè) 64 位 C++ 編譯器,因?yàn)槲覀儗念^開始構(gòu)建所有庫。否則,在64位機(jī)臺(tái)上構(gòu)建32版本是沒有意義的。

交換檢查

下一個(gè)檢查是內(nèi)存交換的大小。它必須足夠大以支撐構(gòu)建。
版本 4.5.2
OpenCV 版本 4.5.2 需要更多的內(nèi)存。如果您有具有4或8 GB內(nèi)存的Raspberry Pi 4,則沒有任何更改。僅當(dāng)您擁有具有2 GB RAM 的樹莓派 4 時(shí),您才需要增加 zram 配置文件中的交換空間。請(qǐng)按照您在安裝64位操作系統(tǒng)時(shí)已經(jīng)知道的說明進(jìn)行操作。

$ sudo nano /usr/bin/zram.sh
# alter the limit with * 2
mem=$(( ($totalmem / $cores)* 1024 * 3))
# save with ,  and 
$ sudo reboot
+x>
pYYBAGQ2FouAckgJAAUxpof_y70772.png

通過將比率增加到三倍,您將獲得 1.8 GB 的額外交換空間。這對(duì)于構(gòu)建OpenCV 4.5.2就足夠了。

版本 4.5.0 - 4.5.1
OpenCV 版本 4.5.0 或 4.5.1 至少需要總共 5.5 GB 的內(nèi)存。如果您根據(jù)我們的指南安裝了 64 位操作系統(tǒng),這應(yīng)該沒有問題。

poYBAGQ2FqOAEceuAABIK14rhgY289.png


如果你有一個(gè)沒有安裝 zram.sh 的Raspberry Pi 4,你可能已經(jīng)安裝了最初安裝的dphys-swapfile。在這種情況下,您必須增加默認(rèn)的 100 MB 交換空間。使用板載 4 GB RAM 的樹莓派,您必須增加到最大 2048 GByte。但是,使用只有 2 或 1 GB RAM 的樹莓派,您會(huì)遇到麻煩。

pYYBAGQ2FrGAIi2GAABM_hQirG8397.png


要超過通常在 /etc/dphys-swapfile中找到的2048 MB 限制,您必須首先在/sbin/dphys-swapfile中增加此最大值。下面的幻燈片演示了所有內(nèi)容。

pYYBAGQ2Fs2AF1GqAADluA7i-S4204.pngpoYBAGQ2FtyAd-LkAADYWpvUyls862.png
# activate the modifications
$ sudo reboot
pYYBAGQ2FumAM0ZIAABJrxyjhkI816.png

EEPROM檢查

最后是檢查EEPROM軟件版本。Raspberry Pi 3在SD卡上安裝了所有操作軟件。另一方面,Raspberry Pi 4也部分從兩個(gè)EEPROM啟動(dòng)。這些EEPROM在工廠進(jìn)行PCB組裝后進(jìn)行編程。Raspberry 基金會(huì)最近為這些 EEPROM 發(fā)布了新的和改進(jìn)的軟件。這與OpenCV無關(guān),但與散熱有關(guān)。在我們的一個(gè)視覺應(yīng)用中,只需更新EEPROM的內(nèi)容,CPU的熱量就會(huì)從65°C(149°F)下降到48°C(118°F)。而且,如您所知,較低的 CPU 溫度將延長您的 Pi 壽命。有關(guān)詳細(xì)信息,請(qǐng)參閱此文章。
使用以下命令檢查并在需要時(shí)更新 EEPROM。以下是說明。

# to get the current status
$ sudo rpi-eeprom-update
# if needed, to update the firmware
$ sudo rpi-eeprom-update -a
$ sudo reboot
pYYBAGQ2FveAcLErAAEtIohTlO8252.png

注意

一些警告的話。不要使用pip3在樹莓派上安裝 OpenCV。也不要使用sudo apt-get 安裝。所有版本都不是最新的,當(dāng)然也不是 64 位。安裝 OpenCV 4.5 的唯一正確方法是從源代碼構(gòu)建它。

顯卡內(nèi)存

如此處所述,物理 RAM 芯片由 CPU 和 GPU 同時(shí)使用。如有必要,請(qǐng)使用以下菜單檢查并將容量更改為至少 128 MB。

pYYBAGQ2FwOAZOhhAAChFzE2rhM936.pngpYYBAGQ2FwqAMTUTAABYM-EVzWs478.png

安裝腳本

在Raspberry Pi上安裝OpenCV并不復(fù)雜。憑借其 60 個(gè)命令行,它更像是一項(xiàng)管理任務(wù)。這就是我們創(chuàng)建一個(gè)安裝腳本的原因,該腳本可以一次執(zhí)行本指南中的所有命令。如果需要,請(qǐng)使用它,它應(yīng)該不會(huì)引起任何問題。整個(gè)安裝需要一個(gè)半小時(shí)才能完成。它從安裝依賴項(xiàng)開始,以ldconfig結(jié)束。
如果您想使用 Qt5 GUI 美化您的 OpenCV,請(qǐng)按照GitHub 頁面上或以下部分中的說明進(jìn)行操作。
OpenCV 4.5.5

# check your memory first
$ free -m
# you need at least a total of 6.5 GB!
# if not, enlarge your swap space as explained in the guide
$ wget https://github.com/Qengineering/Install-OpenCV-Raspberry-Pi-64-bits/raw/main/OpenCV-4-5-5.sh
$ sudo chmod 755 ./OpenCV-4-5-5.sh
$ ./OpenCV-4-5-5.sh

OpenCV 4.5.4

# check your memory first
$ free -m
# you need at least a total of 6.5 GB!
# if not, enlarge your swap space as explained in the guide
$ wget https://github.com/Qengineering/Install-OpenCV-Raspberry-Pi-64-bits/raw/main/OpenCV-4-5-4.sh
$ sudo chmod 755 ./OpenCV-4-5-4.sh
$ ./OpenCV-4-5-4.sh

OpenCV 4.5.3

# check your memory first
$ free -m
# you need at least a total of 6.5 GB!
# if not, enlarge your swap space as explained in the guide
$ wget https://github.com/Qengineering/Install-OpenCV-Raspberry-Pi-64-bits/raw/main/OpenCV-4-5-3.sh
$ sudo chmod 755 ./OpenCV-4-5-3.sh
$ ./OpenCV-4-5-3.sh

OpenCV 4.5.2

# check your memory first
$ free -m
# you need at least a total of 6.5 GB!
# if not, enlarge your swap space as explained in the guide
$ wget https://github.com/Qengineering/Install-OpenCV-Raspberry-Pi-64-bits/raw/main/OpenCV-4-5-2.sh
$ sudo chmod 755 ./OpenCV-4-5-2.sh
$ ./OpenCV-4-5-2.sh

OpenCV 4.5.1

# check your memory first
$ free -m
# you need at least a total of 5.5 GB
# if not, enlarge your swap space as explained in the guide
$ wget https://github.com/Qengineering/Install-OpenCV-Raspberry-Pi-64-bits/raw/main/OpenCV-4-5-1.sh
$ sudo chmod 755 ./OpenCV-4-5-1.sh
$ ./OpenCV-4-5-1.sh

OpenCV 4.5.0

# check your memory first
$ free -m
# you need at least a total of 5.5 GB
# if not, enlarge your swap space as explained in the guide
$ wget https://github.com/Qengineering/Install-OpenCV-Raspberry-Pi-64-bits/raw/main/OpenCV-4-5-0.sh
$ sudo chmod 755 ./OpenCV-4-5-0.sh
$ ./OpenCV-4-5-0.sh

清潔和移除dphys-swap應(yīng)該按照這些說明手動(dòng)完成。

依賴

不使用腳本?這是完整指南。
OpenCV軟件使用其他第三方軟件庫。必須先安裝這些。有些帶有Raspberry 64位操作系統(tǒng),有些可能已經(jīng)安裝。安全總比后悔好,所以這里是完整的列表。僅根據(jù)該過程安裝最新的軟件包。

# check for updates
$ sudo apt-get update
$ sudo apt-get upgrade
# dependencies
$ sudo apt-get install build-essential cmake git unzip pkg-config
$ sudo apt-get install libjpeg-dev libpng-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
$ sudo apt-get install libgtk2.0-dev libcanberra-gtk* libgtk-3-dev
$ sudo apt-get install libgstreamer1.0-dev gstreamer1.0-gtk3
$ sudo apt-get install libgstreamer-plugins-base1.0-dev gstreamer1.0-gl
$ sudo apt-get install libxvidcore-dev libx264-dev
$ sudo apt-get install python3-dev python3-numpy python3-pip
$ sudo apt-get install libtbb2 libtbb-dev libdc1394-22-dev
$ sudo apt-get install libv4l-dev v4l-utils
$ sudo apt-get install libopenblas-dev libatlas-base-dev libblas-dev
$ sudo apt-get install liblapack-dev gfortran libhdf5-dev
$ sudo apt-get install libprotobuf-dev libgoogle-glog-dev libgflags-dev
$ sudo apt-get install protobuf-compiler

Qt5

Qt是一個(gè)開源工具包,用于開發(fā)跨平臺(tái)圖形用戶界面。它也適用于Raspberry Pi。該軟件可用于美化OpenCV窗口和其他用戶界面,如滑塊和復(fù)選框。對(duì)于OpenCV的工作來說,這絕對(duì)不是強(qiáng)制性的,只是為了修飾外觀??梢哉f,使用Qt5會(huì)使OpenCV的速度減慢幾個(gè)百分點(diǎn)。如果您選擇最快的應(yīng)用程序,請(qǐng)不要使用它。

如果您希望在 OpenCV 中啟用 Qt5 支持,則必須下載庫,如以下命令所示。下一步是在生成過程中設(shè)置-D WITH_QT標(biāo)志。

# only install if you want Qt5
# to beautify your OpenCV GUI
$ sudo apt-get install qt5-default

下載OpenCV

安裝完所有第三方軟件后,可以下載OpenCV本身。需要兩個(gè)包;基本版本和其他。下載后,您可以解壓縮文件。請(qǐng)注意文本框中的換行。這兩個(gè)命令以wget開頭,以zip結(jié)尾。
OpenCV 4.5.5

# check your memory first
$ free -m
# you need at least a total of 6.5 GB!
# if not, enlarge your swap space as explained earlier
# download the latest version
$ cd ~
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.5.zip
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.5.zip
# unpack
$ unzip opencv.zip
$ unzip opencv_contrib.zip
# some administration to make live easier later on
$ mv opencv-4.5.5 opencv
$ mv opencv_contrib-4.5.5 opencv_contrib
# clean up the zip files
$ rm opencv.zip
$ rm opencv_contrib.zip

OpenCV 4.5.4

# check your memory first
$ free -m
# you need at least a total of 6.5 GB!
# if not, enlarge your swap space as explained earlier
# download the latest version
$ cd ~
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.4.zip
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.4.zip
# unpack
$ unzip opencv.zip
$ unzip opencv_contrib.zip
# some administration to make live easier later on
$ mv opencv-4.5.4 opencv
$ mv opencv_contrib-4.5.4 opencv_contrib
# clean up the zip files
$ rm opencv.zip
$ rm opencv_contrib.zip

OpenCV 4.5.3

# check your memory first
$ free -m
# you need at least a total of 6.5 GB!
# if not, enlarge your swap space as explained earlier
# download the latest version
$ cd ~
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.3.zip
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.3.zip
# unpack
$ unzip opencv.zip
$ unzip opencv_contrib.zip
# some administration to make live easier later on
$ mv opencv-4.5.3 opencv
$ mv opencv_contrib-4.5.3 opencv_contrib
# clean up the zip files
$ rm opencv.zip
$ rm opencv_contrib.zip

OpenCV 4.5.2

# check your memory first
$ free -m
# you need at least a total of 6.5 GB!
# if not, enlarge your swap space as explained earlier
# download the latest version
$ cd ~
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.2.zip
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.2.zip
# unpack
$ unzip opencv.zip
$ unzip opencv_contrib.zip
# some administration to make live easier later on
$ mv opencv-4.5.2 opencv
$ mv opencv_contrib-4.5.2 opencv_contrib
# clean up the zip files
$ rm opencv.zip
$ rm opencv_contrib.zip

OpenCV 4.5.1

# download the latest version
$ cd ~
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.1.zip
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.1.zip
# unpack
$ unzip opencv.zip
$ unzip opencv_contrib.zip
# some administration to make live easier later on
$ mv opencv-4.5.1 opencv
$ mv opencv_contrib-4.5.1 opencv_contrib
# clean up the zip files
$ rm opencv.zip
$ rm opencv_contrib.zip

OpenCV 4.5.0

# download the latest version
$ cd ~
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.0.zip
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.0.zip
# unpack
$ unzip opencv.zip
$ unzip opencv_contrib.zip
# some administration to make live easier later on
$ mv opencv-4.5.0 opencv
$ mv opencv_contrib-4.5.0 opencv_contrib
# clean up the zip files
$ rm opencv.zip
$ rm opencv_contrib.zip

虛擬環(huán)境

現(xiàn)在是時(shí)候決定是否使用虛擬環(huán)境進(jìn)行OpenCV安裝了。我們不使用虛擬環(huán)境。相反,如果需要,我們只需交換SD卡即可。但是,安裝虛擬環(huán)境也是可以的。所有說明均在 32 位OpenCV 指南中給出。

TensorFlow

將TensorFlow和OpenCV導(dǎo)入Python可能會(huì)引發(fā)錯(cuò)誤:無法在靜態(tài)TLS塊中分配內(nèi)存。
此行為僅在 aarch64 系統(tǒng)上發(fā)生,并且是由未滿足 OpenMP 內(nèi)存要求引起的。有關(guān)更多信息,請(qǐng)參閱 GitHub #14884。

pYYBAGQ2FzOAKi5wAADc-CVeG_M756.png

有幾種解決方案。最簡單的方法是在開始時(shí)導(dǎo)入 OpenCV,如上所示。
另一種是通過設(shè)置 -DBUILD_OPENMP 和 -DWITH_OPENMP標(biāo)志 OFF 來禁用 OpenMP。在可能的情況下,OpenCV現(xiàn)在將使用默認(rèn)的pthread或TBB引擎進(jìn)行并行化。
我們不推薦它。并非所有 OpenCV 算法都會(huì)自動(dòng)切換到 pthread。我們的建議是先將OpenCV導(dǎo)入Python。

構(gòu)建編譯

在我們開始實(shí)際構(gòu)建庫之前,還有一小步要走。您必須創(chuàng)建一個(gè)可以找到所有構(gòu)建文件的目錄。

$ cd ~/opencv
$ mkdir build
$ cd build

現(xiàn)在是邁出重要一步的時(shí)候了。在這里,你告訴CMake什么,在哪里以及如何在你的Raspberry上制作OpenCV。涉及許多標(biāo)志。你會(huì)認(rèn)出的最多。您可能會(huì)注意到-D WITH_QT=OFF行。此處禁用了 Qt5 支持。如果選擇將 Qt5 軟件用于 GUI,請(qǐng)?jiān)O(shè)置-D WITH_QT=ON。我們通過排除任何(Python)示例或測試來節(jié)省空間。
-D 標(biāo)志之前只有暴露的空間,沒有制表符。順便說一下,最后兩個(gè)點(diǎn)不是錯(cuò)別字。它告訴 CMake 在哪里可以找到它的 CMakeLists.txt(大型配置文件);一個(gè)目錄向上。
OpenCV 4.5.5

$ cmake -D CMAKE_BUILD_TYPE=RELEASE 
-D CMAKE_INSTALL_PREFIX=/usr/local 
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules 
-D ENABLE_NEON=ON 
-D WITH_OPENMP=ON 
-D WITH_OPENCL=OFF 
-D BUILD_TIFF=ON 
-D WITH_FFMPEG=ON 
-D WITH_TBB=ON 
-D BUILD_TBB=ON 
-D WITH_GSTREAMER=ON 
-D BUILD_TESTS=OFF 
-D WITH_EIGEN=OFF 
-D WITH_V4L=ON 
-D WITH_LIBV4L=ON 
-D WITH_VTK=OFF 
-D WITH_QT=OFF 
-D OPENCV_ENABLE_NONFREE=ON 
-D INSTALL_C_EXAMPLES=OFF 
-D INSTALL_PYTHON_EXAMPLES=OFF 
-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages 
-D OPENCV_GENERATE_PKGCONFIG=ON 
-D BUILD_EXAMPLES=OFF ..

OpenCV 4.5.4

$ cmake -D CMAKE_BUILD_TYPE=RELEASE 
-D CMAKE_INSTALL_PREFIX=/usr/local 
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules 
-D ENABLE_NEON=ON 
-D WITH_OPENMP=ON 
-D WITH_OPENCL=OFF 
-D BUILD_TIFF=ON 
-D WITH_FFMPEG=ON 
-D WITH_TBB=ON 
-D BUILD_TBB=ON 
-D WITH_GSTREAMER=ON 
-D BUILD_TESTS=OFF 
-D WITH_EIGEN=OFF 
-D WITH_V4L=ON 
-D WITH_LIBV4L=ON 
-D WITH_VTK=OFF 
-D WITH_QT=OFF 
-D OPENCV_ENABLE_NONFREE=ON 
-D INSTALL_C_EXAMPLES=OFF 
-D INSTALL_PYTHON_EXAMPLES=OFF 
-D BUILD_opencv_python3=TRUE 
-D OPENCV_GENERATE_PKGCONFIG=ON 
-D BUILD_EXAMPLES=OFF ..

OpenCV 4.5.3

$ cmake -D CMAKE_BUILD_TYPE=RELEASE 
-D CMAKE_INSTALL_PREFIX=/usr/local 
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules 
-D ENABLE_NEON=ON 
-D WITH_OPENMP=ON 
-D WITH_OPENCL=OFF 
-D BUILD_TIFF=ON 
-D WITH_FFMPEG=ON 
-D WITH_TBB=ON 
-D BUILD_TBB=ON 
-D WITH_GSTREAMER=ON 
-D BUILD_TESTS=OFF 
-D WITH_EIGEN=OFF 
-D WITH_V4L=ON 
-D WITH_LIBV4L=ON 
-D WITH_VTK=OFF 
-D WITH_QT=OFF 
-D OPENCV_ENABLE_NONFREE=ON 
-D INSTALL_C_EXAMPLES=OFF 
-D INSTALL_PYTHON_EXAMPLES=OFF 
-D BUILD_opencv_python3=TRUE 
-D OPENCV_GENERATE_PKGCONFIG=ON 
-D BUILD_EXAMPLES=OFF ..

OpenCV 4.5.2

$ cmake -D CMAKE_BUILD_TYPE=RELEASE 
-D CMAKE_INSTALL_PREFIX=/usr/local 
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules 
-D ENABLE_NEON=ON 
-D WITH_OPENMP=ON 
-D WITH_OPENCL=OFF 
-D BUILD_TIFF=ON 
-D WITH_FFMPEG=ON 
-D WITH_TBB=ON 
-D BUILD_TBB=ON 
-D WITH_GSTREAMER=ON 
-D BUILD_TESTS=OFF 
-D WITH_EIGEN=OFF 
-D WITH_V4L=ON 
-D WITH_LIBV4L=ON 
-D WITH_VTK=OFF 
-D WITH_QT=OFF 
-D OPENCV_ENABLE_NONFREE=ON 
-D INSTALL_C_EXAMPLES=OFF 
-D INSTALL_PYTHON_EXAMPLES=OFF 
-D BUILD_opencv_python3=TRUE 
-D OPENCV_GENERATE_PKGCONFIG=ON 
-D BUILD_EXAMPLES=OFF ..

OpenCV 4.5.1

$ cmake -D CMAKE_BUILD_TYPE=RELEASE 
-D CMAKE_INSTALL_PREFIX=/usr/local 
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules 
-D ENABLE_NEON=ON 
-D WITH_OPENMP=ON 
-D WITH_OPENCL=OFF 
-D BUILD_TIFF=ON 
-D WITH_FFMPEG=ON 
-D WITH_TBB=ON 
-D BUILD_TBB=ON 
-D BUILD_TESTS=OFF 
-D WITH_EIGEN=OFF 
-D WITH_GSTREAMER=ON 
-D WITH_V4L=ON 
-D WITH_LIBV4L=ON 
-D WITH_VTK=OFF 
-D WITH_QT=OFF 
-D OPENCV_ENABLE_NONFREE=ON 
-D INSTALL_C_EXAMPLES=OFF 
-D INSTALL_PYTHON_EXAMPLES=OFF 
-D BUILD_NEW_PYTHON_SUPPORT=ON 
-D BUILD_opencv_python3=TRUE 
-D OPENCV_GENERATE_PKGCONFIG=ON 
-D BUILD_EXAMPLES=OFF ..

OpenCV 4.5.0

$ cmake -D CMAKE_BUILD_TYPE=RELEASE 
-D CMAKE_INSTALL_PREFIX=/usr/local 
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules 
-D ENABLE_NEON=ON 
-D WITH_OPENMP=ON 
-D BUILD_TIFF=ON 
-D WITH_FFMPEG=ON 
-D WITH_TBB=ON 
-D BUILD_TBB=ON 
-D BUILD_TESTS=OFF 
-D WITH_EIGEN=OFF 
-D WITH_GSTREAMER=ON 
-D WITH_V4L=ON 
-D WITH_LIBV4L=ON 
-D WITH_VTK=OFF 
-D WITH_QT=OFF 
-D OPENCV_ENABLE_NONFREE=ON 
-D INSTALL_C_EXAMPLES=OFF 
-D INSTALL_PYTHON_EXAMPLES=OFF 
-D BUILD_NEW_PYTHON_SUPPORT=ON 
-D BUILD_opencv_python3=TRUE 
-D OPENCV_GENERATE_PKGCONFIG=ON 
-D BUILD_EXAMPLES=OFF ..

希望一切順利,CMake 附帶了一個(gè)類似于下面屏幕截圖的報(bào)告。

pYYBAGQ2F0iAfrDhAACdZ43xL_M835.png

編譯

完成所有編譯指令后,可以使用以下命令開始生成。這將需要一段時(shí)間(最少 1:30)。

$ make -j4
pYYBAGQ2F1OAfAt9AADnFREY5zE142.png

希望您的構(gòu)建與下面的構(gòu)建一樣成功。

現(xiàn)在要完成,使用以下命令將所有生成的軟件包安裝到系統(tǒng)的數(shù)據(jù)庫中。

$ sudo make install
$ sudo ldconfig
# cleaning (frees 300 KB)
$ make clean
$ sudo apt-get update

檢查

現(xiàn)在是時(shí)候檢查您在 Python 中的安裝了。您可以使用命令,如下面的屏幕所示。這一切都不言自明。顯然,如果您在虛擬環(huán)境中安裝了 OpenCV,則需要首先使用命令workon激活此環(huán)境。

poYBAGQ2F12Acf1nAABhwY7Qmrc461.png

OpenCV 將安裝到 /usr/local目錄下,所有文件都將復(fù)制到以下位置:

/usr/local/bin- 可執(zhí)行文件
/usr/local/lib- libraries (.so)
/usr/local/cmake/opencv4- cmake package
/usr/local/include/opencv4- headers
/usr/local/share/opencv4- 其他文件(例如 XML 格式的文件)

清空

首先要做的是將交換空間重置回其原始的 100 MB,如果您安裝了 dphys-swapfile。閃存只能寫入有限數(shù)量的周期。最后,它會(huì)磨損您的SD卡。因此,明智的做法是將內(nèi)存交換保持在最低限度。此外,它還會(huì)減慢您的應(yīng)用程序速度。這就是為什么我們更喜歡使用 zram,如 樹莓派 464 位操作系統(tǒng)指南中所述。

$ sudo nano /etc/dphys-swapfile

set CONF_SWAPSIZE=100 with the Nano text editor

$ sudo reboot

如果磁盤空間不足,可以考慮刪除~/opencv和~/opencv_contrib文件夾。通過命令 sudomake install,您已將所有標(biāo)頭和庫復(fù)制到磁盤上的適當(dāng)位置。不再需要 ~/opencv/build/文件夾中的原始文件。當(dāng)然,例如,如果您啟用了示例的構(gòu)建,則無法刪除文件夾,因?yàn)檫@也會(huì)刪除這些示例。這只是一個(gè)提示,節(jié)省了大約 1.5 GB 的空間。

# just a tip to save some space
$ sudo rm -rf ~/opencv
$ sudo rm -rf ~/opencv_contrib
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3025

    瀏覽量

    74060
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6827

    瀏覽量

    123335
  • OpenCV
    +關(guān)注

    關(guān)注

    31

    文章

    635

    瀏覽量

    41355
  • Raspberry Pi
    +關(guān)注

    關(guān)注

    2

    文章

    559

    瀏覽量

    22247
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何在Raspberry Pi安裝TensorFlow

     本教程中,我們將學(xué)習(xí)如何在 Raspberry Pi 安裝 TensorFlow,并將展示一些
    發(fā)表于 09-01 16:35 ?2228次閱讀
    如何在<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>上</b><b class='flag-5'>安裝</b>TensorFlow

    PI 3 有64OS了嗎?

    大家好:PI 3 的CPU是64的, 但官方的OS還是基ARM V7的, 請(qǐng)問大家有用其它64 BIT 的系統(tǒng)嗎?謝謝!
    發(fā)表于 09-07 14:46

    Raspberry Pi 3和3 b +的Android Pie 9.0

    Raspberry Pi 3和3 b +的Android Pie 9.0Raspberry Pi
    發(fā)表于 09-29 14:28

    安裝Raspberry Pi Clock Hat的教程分享

    Raspbian 的所有風(fēng)格,例如 Raspbian OS、Retro Pi、Kodi 等。安裝:對(duì)于安裝,您需要做的就是按照項(xiàng)目git 存儲(chǔ)庫中提到的步驟進(jìn)行操作。啟用樹莓派 SP
    發(fā)表于 07-05 06:01

    64Win7安裝PSCADv4.5教程

    64Win7安裝PSCADv4.5教程
    發(fā)表于 12-16 16:25 ?0次下載

    如何在Raspberry安裝TensorFlow

    Raspberry Pi安裝TensorFlow曾經(jīng)是一項(xiàng)令人沮喪的任務(wù)。但是,隨著Raspberr
    的頭像 發(fā)表于 07-30 14:30 ?5155次閱讀
    如何在<b class='flag-5'>Raspberry</b><b class='flag-5'>上</b><b class='flag-5'>安裝</b>TensorFlow

    Raspberry Pi(樹莓派)操作系統(tǒng)的安裝方法

    Raspberry Pi(樹莓派)需要搭載操作系統(tǒng)才能正常運(yùn)行。官方支持的操作系統(tǒng)是Raspberry Pi OS。
    的頭像 發(fā)表于 04-02 15:26 ?3115次閱讀

    使用Raspberry Pi構(gòu)建一個(gè)OpenCV人群計(jì)數(shù)裝置

    本教程中,我們將使用 Raspberry Pi 和 ThingSpeak 構(gòu)建一個(gè) OpenCV 人群計(jì)數(shù)。
    的頭像 發(fā)表于 08-12 17:24 ?3014次閱讀
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>構(gòu)建一個(gè)<b class='flag-5'>OpenCV</b>人群計(jì)數(shù)裝置

    Raspberry Pi安裝RetroPie的教程

    RetroPie是一個(gè)用于 Raspberry Pi 模擬復(fù)古視頻游戲的軟件庫。本教程中,我們將在
    的頭像 發(fā)表于 08-26 15:26 ?4161次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>上</b><b class='flag-5'>安裝</b>RetroPie的教程

    Raspberry Pi安裝Android的方法

    Raspberry Pi 中使用的流行操作系統(tǒng)是 Raspbian,它是一個(gè)基于 linux 的 Raspberry Pi 官方操作系統(tǒng),我們使用它構(gòu)建了許多
    的頭像 發(fā)表于 09-05 15:10 ?1.9w次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>上</b><b class='flag-5'>安裝</b>Android的方法

    使用Raspberry PiOpenCV庫構(gòu)建人臉識(shí)別系統(tǒng)

    本教程中,我們將學(xué)習(xí)如何使用 Raspberry Pi OpenCV 庫構(gòu)建我們自己的人臉識(shí)別系統(tǒng)。將此系統(tǒng)
    發(fā)表于 09-07 15:48 ?1217次閱讀
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>上</b>的<b class='flag-5'>OpenCV</b>庫構(gòu)建人臉識(shí)別系統(tǒng)

    如何在Raspberry Pi 3安裝OpenCV4庫

    今天我們將學(xué)習(xí)如何在 Raspberry Pi 3 安裝 OpenCV4 庫,以便我們可以將其用于計(jì)算機(jī)視覺應(yīng)用程序。這將允許
    的頭像 發(fā)表于 09-08 16:09 ?1602次閱讀
    如何在<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 3<b class='flag-5'>上</b><b class='flag-5'>安裝</b><b class='flag-5'>OpenCV</b>4庫

    Raspberry Pi安裝Cam Web界面

    電子發(fā)燒友網(wǎng)站提供《Raspberry Pi安裝Cam Web界面.zip》資料免費(fèi)下載
    發(fā)表于 01-03 11:00 ?0次下載
    <b class='flag-5'>在</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>零<b class='flag-5'>上</b><b class='flag-5'>安裝</b>Cam Web界面

    Raspberry Pi模擬Commodore Amiga

    現(xiàn)在,您只要使用一個(gè)Raspberry Pi就可以輕松實(shí)現(xiàn)對(duì)Amiga的探索!本項(xiàng)目中,您可以使用任意Pi,但是為了獲得更好的性能,Raspber
    的頭像 發(fā)表于 02-25 17:29 ?1072次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>上</b>模擬Commodore Amiga

    樹莓派64安裝TensorFlow

    本頁將指導(dǎo)您在Raspberry Pi 4 64操作系統(tǒng)Bullseye 安裝 Tensor
    的頭像 發(fā)表于 05-15 13:46 ?1174次閱讀
    <b class='flag-5'>在</b>樹莓派<b class='flag-5'>64</b><b class='flag-5'>位</b><b class='flag-5'>上</b><b class='flag-5'>安裝</b>TensorFlow