c++编译器的OpenCV环境的搭建
最近在尝试使用opencv来处理图片,尝试了利用Python调用OpenCV库,可以说很方便了,现在想尝试一下利用c++编译器来搭建OpenCV环境
Xcode
系统macOS Mojave,Xcode版本10.2
- 打开终端,安装Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果要尝试更新一下Homebrew的话
brew update
顺带安装一下wget
brew install wget
- 安装OpenCV
brew install opencv
- 配置Xcode及OpenCV库
新建一个项目File->New->Project->Command Line Tool->输入项目名建立新项目,我建立的项目名字是opencv。
一般来说上面的OpenCV安装好了之后都会在
/usr/local/Cellar
这个路径里面有一个名为opencv的文件夹,在建立OpenCV的时候需要引用相关的库。具体操作如下,双击项目名,即图中的1位置,选择右侧的Building Settings,在搜索栏中搜索和path相关的项目,即3位置所示。在搜索的结果中,添加相应的路径,包含头文件、library以及用户头文件的搜索路径,如4、5处所示。添加的时候双击右侧空白处即可通过’+‘或者’-'来增删路径。接下来添加其他的路径依赖项
在1处搜索linker,找到2框所在位置,双击右边的空白处添加如图所示的library,如果你有其他的要添加的,就再加上。
这些都设置完之后在修改preference里面的东西。这么找Xcode->Preference->Locations->Advanced,选中其中的Legacy即可。
现在可以测试一下
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
using namespace cv;
int main()
{
// 读取图片,读取后格式为Mat
string filepath = "./lena.jpg";
Mat src = imread(filepath); // string格式
// 显示图片
imshow("lena", src); // (string, Mat)
while(True){
// 按Esc退出
if(waitKey(30) == 27) break;
}
}
图片显示出来了
可能会用到的东西
- Mac里面看文件的绝对路径直接把文件拉到terminal里面就行
- Finder中进入某个路径,使用command+shift+G
Visual Stdio
待更新