liangjiang520 2022-04-08 18:02 采纳率: 0%
浏览 52

QT+opencv SVM报错

问题遇到的现象和发生背景:

运行车牌识别的qt程序,基于opencv,debuger显示SVM报错。

问题相关代码,请勿粘贴截图
void svm_train(CvSVM & svmClassifier)
{
FileStorage fs;

fs.open("SVM.xml" , FileStorage::READ);
Mat SVM_TrainningData;
Mat SVM_Classes;    

fs["TrainingData"] >>SVM_TrainningData;
fs["classes"] >>SVM_Classes;
CvSVMParams SVM_params;
SVM_params.kernel_type = CvSVM::LINEAR;

svmClassifier.train(SVM_TrainningData,SVM_Classes ,Mat(),Mat(),SVM_params); //SVM训练模型
fs.release();

}

运行结果及报错内容
打开图片就闪退
显示SVM_TrainningData <无法访问> cv::Mat
&"warning: GDB: Failed to set controlling terminal: \345\257\271\350\256\276\345\244\207\344\270\215\351\200\202\345\275\223\347\232\204 ioctl \346\223\215\344\275\234\n"
OpenCV Error: Bad argument (train data must be floating-point matrix) in cvCheckTrainData, file /home/leu/opencv-2.4.13.6/modules/ml/src/inner_functions.cpp, line 858
terminate called after throwing an instance of 'cv::Exception'
what(): /home/leu/opencv-2.4.13.6/modules/ml/src/inner_functions.cpp:858: error: (-5) train data must be floating-point matrix in function cvCheckTrainData

 如图:

img

  • 写回答

1条回答 默认 最新

  • 晴明大大 2022-04-13 11:22
    关注

    train data must be floating-point matrix in function cvCheckTrainData,这是说训练的Mat数据必须是浮点型的,你检查一下你的Mat。

    评论

    报告相同问题?

    问题事件

    • 创建了问题 4月8日

    悬赏问题

    • ¥15 PCL注册的选点等函数如何取消注册
    • ¥15 问一下各位,为什么我用蓝牙直接发送模拟输入的数据,接收端显示乱码呢,米思齐软件上usb串口显示正常的字符串呢?
    • ¥15 Python爬虫程序
    • ¥15 crypto 这种的应该怎么找flag?
    • ¥15 代码已写好,求帮我指出错误,有偿!
    • ¥15 matlab+波形匹配算法
    • ¥15 转录组分析做聚类树图时癌旁组被分到了癌组
    • ¥15 大一Python字典
    • ¥15 multisim电路设计(相关搜索:设计报告)
    • ¥15 PC-lint Plus