您的位置:首页 > 运维架构

opencv3.0.0的安装(Mac)与svm新变化

2015-09-18 17:43 351 查看
最近在学习图像处理的相关知识,要用到opencv库。用了三天配环境,果然古人诚不欺我orz。

用的Mac,在网上查了很多都是用homebrew来安装cmake,再用cmake编译安装opencv,但是我的homebrew总也安装不好,不是网站被墙了就是路径错误,折腾了半天貌似安装好了,但是无法用它来下载cmake,好像homebrew不支持cmake了?不得已,又安装了macport,这一次倒是挺顺利,cmake也安装的很顺利,然后按照 http://tilomitra.com/opencv-on-mac-osx/一步步做好,opencv就装好了。此时你的/usr/local/include
里就会出现opencv和opencv2两个文件夹,里面包含了opencv的头文件等资源,在 /usr/local/lib里会有很多opencv的.dylib文件。

其实也可以直接用macport下载安装opencv:

sudo port install opencv
然后编译安装:
sudo port build opencv
这时,会在你的 /opt/local/include 和 /opt/local/lib 里出现上述变化。

接下来就是Xcode的配置。这里无需多说,就是添加头文件路径和库路径,然后导入你需要的包。这之后,你就可以写代码了。

但是又让我遇到了头大的事情,因为我需要用到svm向量机,就要调用相关的函数和变量名,但是我按照需要引入头文件ml.h后,

CvSVMParams params;
params.svm_type = CvSVM::C_SVC;
params.kernel_type = CvSVM::POLY;
params.gamma = 3;


训练语句老报错,我还以为头文件或者库路径有问题,又倒腾了半天,发现依然不行,但是其他的非SVM函数调用就很正常。我检查了一下ml.hpp文件,里面根本就没有CvSVMParams这个东东orz!但是svm的相关内容还在。我看了一下bing,发现确实opencv3跟以前的版本有比,这一块的名字变了!详细请阅http://stackoverflow.com/questions/27114065/opencv-3-svm-training ,变成了如下的样子:

Ptr<ml::SVM> svm = ml::SVM::create();
svm->setType(ml::SVM::C_SVC);
svm->setKernel(ml::SVM::POLY);
svm->setGamma(3);
终于解决了。。。一口老血。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: