OpenCV系列(一)--Mac下OpenCV的安装和配置(遇见的坑与填坑)

先安装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++工程如下:
OpenCV系列(一)--Mac下OpenCV的安装和配置(遇见的坑与填坑)_第1张图片
下一步:
OpenCV系列(一)--Mac下OpenCV的安装和配置(遇见的坑与填坑)_第2张图片
下一步:
OpenCV系列(一)--Mac下OpenCV的安装和配置(遇见的坑与填坑)_第3张图片
配置依赖路径
按上图步骤依次执行: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文件,其实左下角带箭头的那些不用管。

弹出选项选择如下
OpenCV系列(一)--Mac下OpenCV的安装和配置(遇见的坑与填坑)_第4张图片
效果如下:
OpenCV系列(一)--Mac下OpenCV的安装和配置(遇见的坑与填坑)_第5张图片

这样我们就可以测试代码了main.cpp添加如下代码

#include 
#include 
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下OpenCV的安装和配置(遇见的坑与填坑)_第6张图片

opencv Mac下Xcode中遇见的坑与填坑

问题一、error: ‘CV_WINDOW_AUTOSIZE’ was not declared in this scope
解决方案:导包#include 或者上面导包出现了问题再试试。

问题二、unknown type name ‘IpIImage’
OpenCV系列(一)--Mac下OpenCV的安装和配置(遇见的坑与填坑)_第7张图片

解决方案:上面的第六步解决

问题三、
Showing Recent Issues
? Undefined symbol: cv::namedWindow(std::__1::basic_string const&, int)

您收到链接器错误。我认为这是因为你没有链接到 opencv 需要的正确的库。

正确的库是 pkg-config ,所以我建议:

  brew install pkg-config 

然后您可能需要重新安装opencv

先卸载

brew uninstall opencv

再安装

brew install opencv

OK 这样应该就可以了。

你可能感兴趣的:(NDK)