如何在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路徑

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

希望這篇文章對您有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章