A闪的 BLOG 技术与人文
推荐使用源码编译安装,从github仓中clone源码,然后cd到源码目录中,执行如下命令:
mkdir build
cd build
cmake ../
make
make install
执行后,OpenCV即编译安装完毕,具体耗时就要看CPU的性能了。
开发环境就不要考虑其他的,直接使用Xcode即可。打开Xcode,建立一个macOS平台的终端项目。选择 File -> New -> Project -> macOS -> Command Line Tool 。剩下的项目名称和路径可自由设置。
选择 .xcodeproj 文件,然后在 build Settings 中,搜索 “Search Path”,分别设置下面两项:
/usr/local/include/opencv4
/usr/local/lib
不同系统版本和配置的原因,上面的路径可能不同,你需要在你自己机器中找到对应路径
接下来设置 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你的项目,如果没有配置错误的话,可以看到运行结果。