OpenCV:在iOS/MAC上集成OpenCV(一)

一、MAC上集成OpenCV

1. 環(huán)境準備
  • 安裝Homebrew
  • 安裝CMake brew install cmake
2. 下載OpenCV https://opencv.org/releases/
  • 下載iOS pack(framework)放到/usr/local/Frameworks
  • 下載Sources
3. 構(gòu)建OpenCV
  1. 進入OpenCV源碼解壓后的文件夾
  2. 執(zhí)行命令
    • mkdir build
    • cd build
    • cmake -G "Unix Makefiles" ..
    • make (make -j6 #并行運行6個作業(yè))
    • sudo make install
3. 新建項目測試
  1. 新建Command Line Tools項目 選擇C++語言
  2. 在項目build setting -> search path進行配置
    • Always search User paths : true
    • Framework search path: /usr/local/Frameworks(這個路徑要對應下載的openCV.framework所在位置)
    • Header Search Paths :/usr/local/include
    • Library Search Paths : /usr/local/lib
  3. 在項目中新建opencv文件夾,將 /usr/local/lib中opencv相關(guān)動態(tài)庫加入到項目中(要區(qū)分版本,可以用到哪個添加哪個)
  4. 測試運行
#include <opencv2/core/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <string>

using namespace cv;
using namespace std;

int main( int argc, char** argv ){
    string imageName("/Users/xxx/Desktop/image2.jpeg");
    Mat image;
    image = imread(imageName.c_str(), IMREAD_COLOR);
    if( image.empty() ){
        cout <<  "Could not open or find the image" << std::endl ;
        return -1;
    }
    namedWindow( "Display window", WINDOW_AUTOSIZE );
    imshow( "Display window", image );
    waitKey(0);
    
    return 0;
}
3. 錯誤解決

如果報錯Library not loaded xxx, 可能是因為版本不對導致
例如Library not loaded: /usr/local/opt/x265/lib/libx265.165.dylib, 而本地實際版本為libx265.169.dylib
則進入動態(tài)庫所在目錄,執(zhí)行ln -s libx265.169.dylib libx265.165.dylib 建立鏈接

4. 簡便安裝方式
brew install opencv

安裝包在/Library/Caches/Homebrew,解壓后的文件夾都在/usr/local/Cellar。
暫時好像只有OpenCV OpenCV@2 OpenCV@3,官網(wǎng)最新正式版本已經(jīng)到了4.x版本

二、iOS上集成OpenCV

iOS項目集成OpenCV,可以直接使用Cocoapods集成,現(xiàn)在已經(jīng)更新4.1.0版本,也可以使用官網(wǎng)下載的opencv.framework來繼承。
注意事項:

  1. OpenCV相關(guān)的頭文件必須在 #import "ViewController.h"之前導入,否則連接錯誤。
  2. OpenCV源碼為C++,所以使用到的文件都需要將后綴名改為.mm
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容