‘CvSVM‘ has not been declared解决方案

这篇博客主要介绍了在OpenCV 3.4版本中遇到'CvSVM'未声明的编译错误,原因是该版本的分类器代码有所改动。解决方法是使用cv::ml::SVM并用SVM::create()创建实例,设置类型、核函数等参数。此外,文章对比了2.4.9版本的CvSVM定义,帮助开发者理解变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译错误

In file included from /home/dong/color/color-detector/test.cpp:7:0:
/home/dong/color/color-detector/colorDetector.cpp:142:35: error: 'CvSVM' has not been declared
 void trainSVM(vector dirs,CvSVM& SVM){
                                   ^
/home/dong/color/color-detector/colorDetector.cpp: In function 'void trainSVM(std::vector >, int&)':
/home/dong/color/color-detector/colorDetector.cpp:179:5: error: 'CvSVMParams' was not declared in this scope
     CvSVMParams params;
     ^
/home/dong/color/color-detector/colorDetector.cpp:180:5: error: 'params' was not declared in this scope
     params.svm_type    = CvSVM::C_SVC;
     ^
/home/dong/color/color-detector/colorDetector.cpp:180:26: error: 'CvSVM' has not been declared
     params.svm_type    = CvSVM::C_SVC;
                          ^
/home/dong/color/color-detector/color

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值