小白一枚,从来没有接触过opencv,刚买的mbp本子,刚下的xcode。。。
综上所述,所以我花了三天。。踩了无数的坑,终于安装好了!!!开心的转圈圈!!
废话不多说,下面直接开始
1、下载opencv包
网址:https://github.com/opencv/opencv/releases 我下载的是 4.1.0
建议下载最新版(如果你的系统也是最新版的话),旧版本可能跟你最新系统里的东西不兼容,我一开始跟着网上的帖子,装了opencv3.1.0,然后在make的时候,有个.hpp文件在include时,就一直找不到tesseract/baseapi.h文件,但是我的/usr/local/include/里面明明就有- -...然后网上冲浪也没有找到解决的办法,遂放弃了。。
同时,我也用过brew的方法,但是失败了,没装成功,所以大家失败的话,耐心多装几次哈!
2、下载opencv_contrib包
网址:https://github.com/opencv/opencv_contrib/releases 我下载的是 4.1.0
这个opencv_contrib一定要跟opencv的版本一致。。。我有按照其他帖子,下载了master版,或者其他版本,但是最后configure有问题。
3、下载cmake
https://cmake.org/download/ 下载.dmg结尾的就可以,然后直接安装好就可以。
4、解压opencv的包
解压后,在opencv-4.1.0文件夹下面,创建一个build文件夹。
5、打开CMake
在where is the source code中填入你解压的open包的文件夹地址
在where to build the binaries中填入自己建立的build文件夹的地址
然后点击左下角configure
但是在configure时,可能会遇到ippicv下载出现问题的情况(我在搞opencv3.1.0时出现过,4.1.0版本时没有出现这个问题,只是卡了一下,但很快就继续跑了),我在网上找了很久,然后尝试的方法是去https://github.com/opencv/opencv_3rdparty/branches 下载了opencv_3rdparty-ippicv-master_20170822.zip
我是直接下载到了根目录,在根目录进行解压的(也是看网上一位仁兄说滴,有没有用不知道,虽然我这么做了后,是继续configure了,但后续出现了其他问题,我就放弃了安装3.1.0版本,改去安装4.1.0了)
configure完成后,左下角会出现configure done的字样
6、解压opencv_contrib,在cmake的search中输入extra
OPENCV_EXTRA_MODULES_PATH 的 value 中,填入你解压的opencv_contrib文件夹下的modules文件夹的地址
再次点击左下角的configure,然后点击generate,就安装好了!
测试
1、打开xcode,new一个project
2、选择command Line Tool类型,确定后填写七七八八的信息
3、在TARGETS中填include和lib地址
4、
在项目名文件下建立文件夹Opencvlib(也可以不叫这个名字,自己随意取名),然后将你的opencv4.1.0/build/lib/中,所有libopencv的包都导进去。
5、打开main.cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
// a demo for opencv
int main()
{
Matsrc;
src =imread("/Users/liuqiwei/Desktop/1.png");
if(src.empty()){
printf("cannot load the image...");
}
// if (! src.data){
// printf("cannot load the image...");
// }
namedWindow("a demo", WINDOW_AUTOSIZE);
imshow("a demo", src);
waitKey(10000);
}
执行.
6、此时可能会出现找不到某个文件,我找不到的好像是这个-lopencv_ts。我尝试的解决办法有,在path中新增到opencv4.1.0/build/lib/路径,但是执行发现他还是找不到这条路径,所以就暴力解决了,将opencv4.1.0/build/lib/中带有ts的.a文件,直接复制到/usr/local/lib/下,然后就执行成功了!!
花了好长时间才成功,阅读了无数的帖子TAT,不过成功了就是好事!!
如果有疑问,可以给我留言~