Java调用OpenCV中的SVM报错:
OpenCV(3.4.1) Error: Assertion failed (samples.cols == var_count && samples.type() == 5) in cv::ml::SVMImpl::predict, file C:\build\master_winpack-bindings-win64-vc14-static\opencv\modules\ml\src\svm.cpp, line 2005
Exception in thread "main" CvException [org.opencv.core.CvException: cv::Exception: OpenCV(3.4.1) C:\build\master_winpack-bindings-win64-vc14-static\opencv\modules\ml\src\svm.cpp:2005: error: (-215) samples.cols == var_count && samples.type() == 5 in function cv::ml::SVMImpl::predict
]
at org.opencv.ml.StatModel.predict_0(Native Method)
at org.opencv.ml.StatModel.predict(StatModel.java:128)
at com.springdemo.table_classification.Train.main(Train.java:119)
问题分析:OpenCV调用SVM时,要对训练数据和测试数据进行相同的预处理。
先贴网上down的问题代码
训练的核心代码:
Mat input = Imgcodecs.imdecode(new MatOfByte(filebyte), Imgcodecs.IMREAD_UNCHANGED);
input = ImageUti

在使用OpenCV 3.4.1的Java接口进行SVM训练时遇到错误:'Assertion failed (samples.cols == var_count && samples.type() == 5)'。问题出在训练数据和测试数据的预处理不一致。解决方法是确保两者都进行相同的预处理,例如灰度化和缩放。通过调整代码,在测试数据预处理中加入相同步骤,成功解决了该错误。
最低0.47元/天 解锁文章
1692

被折叠的 条评论
为什么被折叠?



