我在我的程序中使用predict(),flow是我的代码:
int plateJudge(vector<Mat>& inVec,vector<Mat>& resultVec){
size_t num = inVec.size();
for (int j = 0; j < num; j++)
{
Mat inMat = inVec[j];
Mat gray;
cvtColor(inMat,gray,COLOR_BGR2GRAY);
equalizeHist(gray,gray);
Mat p = gray.reshape(1, 1);
p.convertTo(p, CV_32FC1);
int response = (int)svm->predict(p);
if (response == 1)
{
resultVec.push_back(inMat);
}
}
return 0;
}
但我得到了错误:
error: (-215) samples.cols == var_count && samples.type() == 5 in function predict
我已将图片转换为灰色格式&amp;将数组更改为1 * n,它仍然无法正常工作。此外,svm
已经很好地定义了(使用经过训练的模型)。所以,就是这样。希望得到答案!非常感谢。
答案 0 :(得分:0)
列车矩阵的大小是多少?它的列是否完全等于测试矩阵的大小?
答案 1 :(得分:0)
您应该传递与训练期间相同的维度矩阵。