cmake配置出错_Mac下安装及配置OpenCV环境(Xcode)

Mac下安装及配置OpenCV环境(Xcode)

a5fef359ddd72d24697717530fd98bd1.png

OpenCV (Open Source Computer Vision Library)

OpenCV是Intel开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。支持WindowsLinuxMac OSIOSAndroid,提供了C++CJavaPythonMatlab的接口(但C++ 的接口较丰富)

应用领域 :人机互动 、物体识别 、图像分割 、人脸识别 、动作识别 、运动跟踪 、机器人


安装OpenCV

根据自己的 Mac 是否安装有下面的工具选择性安装

使用 brew 安装 cmake

在之前的博客中已经写到过关于 Mac 下安装 brew 以及如何更换成国内的镜像。

如果安装有 xcode,则已经安装有 cmake

brew install cmake

cmake可以根据不同的平台生成对应的makefile,然后就可以使用make指令快速便捷的编译你需要的程序。

使用 brew 安装 OpenCV
brew install opencv# 目前是OpenCV4.4
# 安装其它版本brew install opencv@3brew install opencv@2
brew info opencv# 查看当前版本

9525177f246c092a38b741a31354acde.png


配置环境

其实就是在各种IDE中引入这个库,但其中有很多坑,还有就是我肯定无法保证能解决你的问题,但是最好是能给你一个参考。

Xcode 中配置 OpenCV

C++麻烦的是,#include 进的东西,在编译时都需要自己配置好路径,这无疑增添了很多麻烦。

  • 新建命令行

    bb9a95c2c582f05c4ea4d3b9a996e99d.png    

  • 选择C++

c517c86a156fec5da16103656b314f6c.png

  • 配置项目的头文件和库文件路径

d364410f800d3c73ec5fbd0964474d17.png

  1. 选择 Build Settings 选择卡,修改 Header Search PathsLibrary Search Path

  2. 因为我使用 brew 默认下载的是 OpenCV4 ,因为每个人的情况不同,所以其配置的路径也不一定相同:

# Header Search Path:/usr/local/include/usr/local/include/opencv4# Library Search Path:/usr/local/lib
  • 点击项目,选择 Build Phases 选项卡,添加库文件

    在 Finder 中找到 OpenCV 的二进制库文件。

 打开 Finder ,按下Shift + command + G ,输入路径 /usr/local/Cellar/opencv , 然后点击版本目录(比如我的是 4.4.0_1),然后点击打开lib,最后,搜索当前文件夹下的所有 .dylib 文件,拖入其中即可

ae98584cbd07005281d66f1ea5b1ad15.png

aac866bf26471637d35217768596f485.png

  • 写点代码试个水
//// main.cpp// newOpencv//// Created by 蒋秋山 on 2020/9/29.//#include#include#include#includeusing namespace cv;using namespace std;// 视频来源于摄像头VideoCapture capture(0);Mat edges;int main(int argc, const char * argv[]) {   while (true) {       Mat frame;       // 每一帧       capture >> frame;       // 转为灰度图       cvtColor(frame, edges, COLOR_BGR2GRAY);       blur(edges, edges, Size(7, 7));       Canny(edges, edges, 0, 30, 3);       // 边缘检测并显示边缘       imshow("Read Video", edges);       // 等待用户输入       if(waitKey(30) >= 0) break;  }   return 0;}

不幸的是编译能通过但运行出错~

fbdeb09bc348f99fcefc64bc8431f436.png

原因在于 Mac 的安全策略,在未经用户同意的情况下,Xcode 无法调用摄像头。

  • 解决无法调用摄像头的问题

方法一:

可以直接打开其生成的二进制文件,来调用用户摄像头,但其中需要两次双击打开,第一次通过弹窗确认调用摄像头权限,第二次才能正常运行。

方法二:

在项目的任意一个文件夹下新建一个 Info.plist 文件然后添加一个键 Privacy - Camera Usage Description ,其值设置为 YES ,将文件复制或者剪切到二进制文件所在目录(二进制文件在 Products 目录下,右键那个二进制文件可以到达其所在目录)「Mac 下默认隐藏了那个目录,所以一般不容易直接找到」。

最后编译运行两次,一次同意调用摄像头,然后就可以用了。

90b19a4d73a60cac6ec24e6da34db8a4.png

0024ab386ad87a5269122e0757c82ccc.png

b2634bcb3e953a4ecd2a477b51bf23b8.png


后面会出一篇如何在 CLionPyCharm 中配置 OpenCV 环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值