一、MAC上集成OpenCV
1. 环境准备
- 安装Homebrew
- 安装CMake
brew install cmake
2. 下载OpenCV https://opencv.org/releases/
- 下载iOS pack(framework)放到
/usr/local/Frameworks
- 下载Sources
3. 构建OpenCV
- 进入OpenCV源码解压后的文件夹
- 执行命令
- mkdir build
- cd build
- cmake -G "Unix Makefiles" ..
- make (make -j6 #并行运行6个作业)
- sudo make install
3. 新建项目测试
- 新建Command Line Tools项目 选择C++语言
- 在项目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
- 在项目中新建opencv文件夹,将 /usr/local/lib中opencv相关动态库加入到项目中(要区分版本,可以用到哪个添加哪个)
- 测试运行
#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来继承。
注意事项:
- OpenCV相关的头文件必须在
#import "ViewController.h"
之前导入,否则连接错误。 - OpenCV源码为C++,所以使用到的文件都需要将后缀名改为
.mm
网友评论