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

一、MAC上集成OpenCV

1. 环境准备
  • 安装Homebrew
  • 安装CMake brew install cmake
2. 下载OpenCV https://opencv.org/releases/
  • 下载iOS pack(framework)放到/usr/local/Frameworks
  • 下载Sources
3. 构建OpenCV
  1. 进入OpenCV源码解压后的文件夹
  2. 执行命令
    • mkdir build
    • cd build
    • cmake -G "Unix Makefiles" ..
    • make (make -j6 #并行运行6个作业)
    • 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相关动态库加入到项目中(要区分版本,可以用到哪个添加哪个)
  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
则进入动态库所在目录,执行ln -s libx265.169.dylib libx265.165.dylib 建立链接

4. 简便安装方式
brew install opencv

安装包在/Library/Caches/Homebrew,解压后的文件夹都在/usr/local/Cellar。
暂时好像只有OpenCV OpenCV@2 OpenCV@3,官网最新正式版本已经到了4.x版本

二、iOS上集成OpenCV

iOS项目集成OpenCV,可以直接使用Cocoapods集成,现在已经更新4.1.0版本,也可以使用官网下载的opencv.framework来继承。
注意事项:

  1. OpenCV相关的头文件必须在 #import "ViewController.h"之前导入,否则连接错误。
  2. OpenCV源码为C++,所以使用到的文件都需要将后缀名改为.mm
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容