先安装Homebrew
Homebrew官方网址:https://brew.sh/
官方安装方法:
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
1
官方卸载方法:
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)”
1
亲测可用。
如果报错
安装homebrew报错curl: (7) Failed to connect to raw.githubusercontent.com port 443: Operation
解决方案:https://www.jianshu.com/p/68efabd2e32b
安装相关
1、安装wget
方法:输入如下命令
brew install wget
2、安装cmake
方法:输入如下命令
brew install cmake
执行该命令的时候报错如下:
Error: cmake: “cxx11” is not a recognized standard
解决方案:我在网上没有找到解决方案,我的解决方案就是卸载Homebrew重新安装了一遍。从新走了一遍成功了。
3 、安装OpenCV
brew install opencv
Opencv安装的位置为 :/usr/local/Cellar/opencv
这里我等了小半天,好像下载完了一直在编译
在xcode中构建OpenCV工程
打开xcode新建一个c++工程如下:
下一步:
下一步:
配置依赖路径
按上图步骤依次执行:12345(6是后面自动生产的)
Build Settings -> 搜索框输入search paths ->选择search paths下面的:
Always Search User Paths 设置 Yes
Framework Search Paths ->双击后面的详细信息添加指定路径/usr/local/lib
Header Search Paths ->双击后面的详细信息添加指定路径:/usr/local/include 与 /usr/local/Cellar/opencv/4.1.0_2/include/opencv4(分两次添加)
Library Search Paths ->双击添加指定路径:/usr/local/lib
上图中的第6步:添加包
添加包。
右击工程(黄色的工程文件夹,不是蓝色的那个)new一个group,命名为head。然后打开/usr/local/Cellar/opencv/3.4.2/lib目录(之前brew自动下载的opencv目录下的lib目录),然后按照文件种类排序可以看到一些.dylib文件,将这些.dylib文件拖入刚才新建的文件夹下.我这里是43个文件(原参考文章18个),网上有说要加所有后缀是dylib文件,其实左下角带箭头的那些不用管。
弹出选项选择如下
效果如下:
这样我们就可以测试代码了main.cpp添加如下代码
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main(int argc, const char * argv[]) {
Mat image;
image = imread("/Users/mile/Downloads/mile.jpg",1);
namedWindow("test", WINDOW_AUTOSIZE);
imshow("test", image);
Mat gray;
cvtColor(image, gray, COLOR_RGBA2GRAY);
namedWindow("gray");
imshow("gray", gray);
waitKey(0);
return 0;
}
测试效果如下:
opencv Mac下Xcode中遇见的坑与填坑
问题一、error: ‘CV_WINDOW_AUTOSIZE’ was not declared in this scope
解决方案:导包#include <opencv2/highgui/highgui.hpp> 或者上面导包出现了问题再试试。
问题二、unknown type name ‘IpIImage’
解决方案:上面的第六步解决
问题三、
Showing Recent Issues
? Undefined symbol: cv::namedWindow(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, int)
您收到链接器错误。我认为这是因为你没有链接到 opencv 需要的正确的库。
正确的库是 pkg-config ,所以我建议:
brew install pkg-config
然后您可能需要重新安装opencv
先卸载
brew uninstall opencv
再安装
brew install opencv
OK 这样应该就可以了。