本文編輯時間: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安裝時執行的命令,我們可以看到它下載了opencv
和opencv_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/opencv2
和lib
文件夾下的部分內容,我們可以大概看出:
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
時,目錄應該是如下圖所示:
執行測試代碼,出圖即可。
希望這篇文章對您有所幫助。