准备工作
- 安装cmake
brew install cmake
- git上下载opencv源码
git clone https://github.com/opencv/opencv.git
构建OpenCV
- 创建临时目录(cd到opencv源码到路径)
cd ~/opencv
mkdir build
- 配置
cd build
cmake -D CMAKE_BUILD_TYPE = RELEASE_DCMAKE_INSTALL_PREFIX = /usr/local..
- 构建安装
make -j6
sudo make install
Xcode配置
Build Settings ->
Header Seach Paths 设置为 /usr/local/include /user/local/include/opencv4
(注意这是两个路径,中间由空格分开)
Library Seach Paths 设置为 /usr/local/lib
Build Phase ->
link Binary With Libraries 在/usr/local/lib中找到需要添加到.dylib文件拖入项目中。
3.在项目中创建一个opencvLib文件夹,名字可自定,把所有.dylib拖入项目中。
还可能遇到的问题
在Mac OS10.14后要求对静态库签名。
- 打开钥匙串访问,复制证书名
- 签名:
codesign -f -s "Mac developer:你的邮箱" /usr/local/lib/*.dylib
运行第一个OpenCV程序
#include <opencv2/opencv.hpp>
int main(int argc, char **argv){
cv::Mat img = cv::imread(argv[1], -1);
if(img.empty()) return -1;
cv::namedWindow("Example1", cv::WINDOW_AUTOSIZE);
cv::imshow("Example1", img);
cv::waitKey( 0 );
cv::destroyWindow("Example1");
return 0;
}
argv[1]是指运行后输入图片路径为第一个参数,Xcode无法这么做,需要手动配置。
在Product -> Scheme -> Edit Scheme -> Arguments Passed On Launch中添加第一额参数为图片路径即可。
至此第一个OpenCV程序就可以顺利运行了。