mac下配置opencv4

一、安装xcode

需要很久,和至少12g空间,因为这个在app store有,这里就不详细介绍了。

二、安装cmake

1.官网下载合适的安装包

选择你喜欢的版本,注意下载dmg格式的包

2.安装完后打开

在这里插入图片描述
在下面选项中任选一个
在这里插入图片描述
我选的第二个
在这里插入图片描述

3.测试是否正常安装

命令行中输入 cmake --version 反馈结果类似如下:
在这里插入图片描述

三、安装opencv

1.下载源码

官方地址:https://opencv.org/releases/
clone实在太久了,我直接用下载

2.编译

cmake的使用还是比较常规

cd opencv-master
mkdir build_opencv
cd build_opencv
build_opencv $ cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=ON ../

opencv安装有很多可选参数,下面列了部分参数。

  • 构建类型:(CMAKE_BUILD_TYPE=Release或Debug)
    使用opencv_contrib中的模块设置OPENCV_EXTRA_MODULES_PATH为构建 [path to opencv_contrib]/modules
    BUILD_DOCS=ON用于建筑文件的设置
    着手BUILD_EXAMPLES=ON构建所有示例
  • [可选]构建python。设置以下python参数:
    PYTHON3_EXECUTABLE = [path to python]
    PYTHON3_INCLUDE_DIR = /usr/include/python[version]
    PYTHON3_NUMPY_INCLUDE_DIRS = /usr/lib/python[version]/dist-packages/numpy/core/include/
    注意
    要指定Python2版本,可以在上述参数中替换PYTHON3_为PYTHON2_。

完上面的cmake之后,进行下面2步(可能持续时间较久,半个小时左右)

make -j7
make install

完成的结果如下图所示。
在这里插入图片描述

3.配置xcode

打开Xcode,新建一个command line工程,注意语言选择C++。
这样C++的HelloWorld就建好了,编译应该能正常运行。接下来先来配置xcode再来写代码。
最左边选中工程,然后右边选中Targets,再BuildSettings下,右边搜索框里输入search,很快就能找到Search Paths设置项。在Header Search Paths里输入:/usr/local/include 在Library Search Paths里输入:/usr/local/lib
在这里插入图片描述
接着在Build Phases里找到Link Binary With Libraries,点击+号
在这里插入图片描述
这里写/usr,然后陆续选出合适的lib文件。
在这里插入图片描述
如下图所示为选的

/usr/local/bin
ibopencv_core.4.5.1.dylib
libopencv_highgui.4.5.1.dylib
libopencv_imgproc.4.5.1.dylib
libopencv_ml.4.5.1.dylib
libopencv_imgcodecs.4.5.1.dylib(opencv3.0以后必须添加这个库)

在这里插入图片描述
配置工作这里就基本完成了

点一下,build,能成功,但是会有很多如“Not a Doxygen trailing comment”的关于注释的警告。点一下自己的工程名,在Build setting标签中搜索documents,点开documentation conments下一级中的debug选择no。重新编译,所有警告消失。
如下图所示。
在这里插入图片描述

4.测试是否正常安装

最后测试是否安装成功

#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;

int main(int argc, const char * argv[]) {
    
    
    // insert code here...
    std::cout << "Hello, World!\n";
    Mat srcImage = imread("/Users/Downloads/01.21--3/8E7A0283.jpg");
    imshow("Original Image", srcImage);
    waitKey(0);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_20491295/article/details/112974421
今日推荐