如何在M1芯片的MacBook上安裝opencv


本文編輯時間:2021-01-18
當前最新版本:opencv4.5.1+opencv_contrib4.5.1

opencv4.5.1安裝

直接使用homebrew安裝:brew install -s opencv

有關opencv_contrib的問題

見這里:https://github.com/Homebrew/homebrew-core/blob/master/Formula/opencv.rb 這是使用brew安裝時執行的命令,我們可以看到它下載了opencvopencv_contrib兩個包,同時查看cmake指令,這里挑幾個來看:

  • 第71行:啟用了non-free算法的編譯;
  • 第72行:啟用了opencv_contrib編譯;

所以,homebrew默認安裝opencv_contrib,不需要考慮重新編譯opencv+opencv_contrib,這也就是為什么說brew安裝是最簡單的方法。

自己在這個地方停留了很長時間,在尋找如何補全編譯,后來在官方文檔中看到了這個文件,解決了自己的問題。

在MacBook Air with M1上,下載包文件+編譯時間在7分鍾左右;

安裝后的目錄分析

現階段,M1原生的homebrew的安裝目錄只能為/opt/homebrew。homebrew安裝的包都在/opt/homebrew/Cellar下,opencv也不例外,具體為/opt/homebrew/Cellar/opencv/4.5.1_2,其文件結構如下:

4.5.1_2
	|__bin
	|
	|__include
	|		|__opencv4
	|				|__opencv2
	|						|__opecv.hpp
	|						|__videoio.hpp
	|						|__...
	|__lib
	|		|__libopencv_xxx.dylib
	|		|__...
	|
	|__share

這里只展開了include/opencv4/opencv2lib文件夾下的部分內容,我們可以大概看出:

  • include/opencv4/opencv2:C++中#include <opencv2/opencv.hpp>正是這里的目錄。這里面不僅包含了opencv的頭文件,更有像videoio,surface_matching等來自contrib庫的文件夾和文件;
  • lib:配置Library Path正是這個目錄。

下面結合Xcode來看一下這些目錄怎么用。

Xcode調用方法

參考鏈接:https://zhuanlan.zhihu.com/p/113873616

這里面有關Xcode的配置需要改三處:

  • 第一次導入dylib文件時,目錄應該是上面的/lib文件夾處;
  • 設置Search Path時,目錄應該是如下圖所示:
    Search Path路徑

執行測試代碼,出圖即可。

執行官方源碼自帶的../samples/cpp/example_cmake

  1. 獲取源碼:不需要從官網上再去下載。在~/Library/Caches/Homebrew目錄下,就有brew下載的緩存,搜索opencv即可找到opencv和opencv_contrib的tar壓縮文件;
  2. 終端下進入opencv源碼的上述路徑。刪除:除了CMakeList.txtexample.cpp以外的文件。
  3. 執行:cmke .,成功后執行make,最后運行./opencv_example即可。
  4. 第一次執行,終端會請求攝像頭權限,允許即可,然后屏幕會出現顯示框,左上角有Hello opencv字樣,顯示內容為黑色。此時在顯示框內部用鍵盤隨便輸入按鍵便會自動退出。
  5. 第二次執行,顯示框將會顯示你筆記本攝像頭的內容,說明本例程運行成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM