OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
环境
- Mac OS 10.15.1
- xcode-select v2370
- CLion 2019.3
- OpenCV 4.1.2
一、安装环境和工具
1、安装Homebrew
//在终端输入
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2、安装xcode-select v2370
//xcode所占用空间太大,安装这个就不用在安装xcode,用CLion开发
xcode-select --install
注意:之前有xcode删除后需要切换环境,不然会报错xcode找不到
//先查看xcode-select
xcode-select -print-path
如:/Library/Developer/CommandLineTools
//切换路径
sudo xcode-select /Library/Developer/CommandLineTools
3、下载CLion 2019.3
官网:https://www.jetbrains.com/clion/
4、下载opencv
//安装opencv
brew install opencv
//查看opencv版本
brew list opencv
二、编辑第一个程序
#include <opencv2/core/core.hpp>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
cout << "OpenCV version " << CV_VERSION << endl;
//打开默认摄像头
VideoCapture cap(0);
if (!cap.isOpened()) {
cerr << "Unable to open camera\n";
return -1;
}
Mat img;
while (1) {
cap >> img;
//转化为灰度图
cvtColor(img, gray, COLOR_BGR2GRAY);
imshow("Opencv", img);
waitKey(30);
}
return 0;
}
注意:⚠️这时候会报错,没有摄像头权限
OpenCV: not authorized to capture video (status 0), requesting...
OpenCV: camera failed to properly initialize!
Unable to open camera
解决办法:
1、打开应用程序->Clion(右键:显示包内容)->Content->plist.json(权限文件)->复制以下内容保存
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSPhotoLibraryUsageDescription</key>
<string>请求访问相册</string>
<key>NSCameraUsageDescription</key>
<string>请求访问相机</string>
2、系统偏好设置->安全与隐私->摄像头->Clion(打勾权限)->重启Clion
网友评论