Mac上OpenCV的安装与运行

安装OpenCV

推荐使用源码编译安装,从github仓中clone源码,然后cd到源码目录中,执行如下命令:

mkdir build
cd build
cmake ../
make
make install

执行后,OpenCV即编译安装完毕,具体耗时就要看CPU的性能了。

运行OpenCV的Hello World

开发环境就不要考虑其他的,直接使用Xcode即可。打开Xcode,建立一个macOS平台的终端项目。选择 File -> New -> Project -> macOS -> Command Line Tool 。剩下的项目名称和路径可自由设置。

配置头文件搜索路径和链接库搜索路径

选择 .xcodeproj 文件,然后在 build Settings 中,搜索 “Search Path”,分别设置下面两项:

不同系统版本和配置的原因,上面的路径可能不同,你需要在你自己机器中找到对应路径

接下来设置 Other Linker Flags,具体内容可使用pkg-config来查看。

如果你的机器中没有pkg-config,可以使用brew install pkg-config进行安装。

使用 pkg-config --cflags --libs opencv 可以查看所有链接标记。

-lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_photo -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dpm -lopencv_face -lopencv_fuzzy -lopencv_img_hash -lopencv_line_descriptor -lopencv_optflow -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ml -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_flann -lopencv_xobjdetect -lopencv_imgcodecs -lopencv_objdetect -lopencv_xphoto -lopencv_imgproc -lopencv_core

你可以把所有的flag都配置进去,也可用到哪个填写哪个,我这里只配置了-lopencv_core,-lopencv_highgui,-lopencv_imgcodecs 这三个。

此时你可以编写main.cpp,并Build,查看配置是否有问题。

#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>

using namespace cv;

int main()
{
    std::string image_path = samples::findFile("starry_night.jpg");
    Mat img = imread(image_path, IMREAD_COLOR);
    if(img.empty())
    {
        std::cout << "Could not read the image: " << image_path << std::endl;
        return 1;
    }
    imshow("Display window", img);
    waitKey(0); // Wait for a keystroke in the window
    return 0;
}

你可能会遇到dylib签名不正确的问题。没关系,这是由于macOS的安全机制造成的,你可以执行如下命令,来对所用到的dylib重新进行签名。

我的OpenCV的dylib库文件都在 /usr/local/lib/ 目录下,cd 进入到该目录后,执行如下命令:

codesign -f -s "你的苹果开发者账号邮箱" ./*.dylib

执行成功后,可以再次尝试Xcode中Run你的项目,如果没有配置错误的话,可以看到运行结果。