OpenCV SVM无法正确使用predict函数 ??

岩烧店的烟味弥漫 2020-05-14 06:06:31
以下是svm 预测函数中的一部分
for (int i = 0; i < number; i++) {
Mat inMat = imread(files[i].c_str());//读取成mat格式
//imshow("input", inMat);
//waitKey();
Mat temp;
resize(inMat, temp, Size(256, 256));//转换成256*256像素大小的图片
//imshow("input0", temp);
//waitKey();
Mat p = temp.reshape(0, 1);//转换成1行n*n列的行向量

//imshow("input1", p);
//waitKey();
p.convertTo(p, CV_32FC1);//转换格式

int response = (int) Svm->predict(p);//预测结果

if (response == expectValue) {
result++;
cout << "第" << i << "个图片预测成功为" << expectValue << endl;
}
else
{
cout << "第" << i << "个图片预测失败,本应预测为" << expectValue << endl;
cout << "实际预测结果为" << response << endl;
}
}
cout << "所有预测文件中的图片已经预测完毕。" << endl;
cout << "预测图片数量为:" << result << endl;

return true;

想问一下为什么总是在int response = (int) Svm->predict(p);//预测结果报错啊??
会提示 0x00007FFF5267A799 处(位于 111.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x00000045A3AFF440 处。
是我这个函数使用方式不对吗?
...全文
1097 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 朱铭德 的回复:
1.一般将人脸图像Resize成同样的尺寸,比如64*64,128*128,256*256这样,和你的数据集尺度有关 如果担心人脸图像拉伸,也可以考虑加padding再resize 2.如果只是几十几百这种量级的……你可以自己采一些数据,保证各类相对均衡就好 处理类别数量不平衡的问题,最简单的是在数据增强的时候将类别数量较少的类别多扩充些……其他也有不少办法,可以自行搜索下
谢谢!
朱铭德 2020-05-18
  • 打赏
  • 举报
回复
1.一般将人脸图像Resize成同样的尺寸,比如64*64,128*128,256*256这样,和你的数据集尺度有关 如果担心人脸图像拉伸,也可以考虑加padding再resize 2.如果只是几十几百这种量级的……你可以自己采一些数据,保证各类相对均衡就好 处理类别数量不平衡的问题,最简单的是在数据增强的时候将类别数量较少的类别多扩充些……其他也有不少办法,可以自行搜索下
  • 打赏
  • 举报
回复
引用 2 楼 朱铭德 的回复:
确保训练和前向时的预处理方式一致 另外说一点,好歹提个hog特征再分类吧,图片直接SVM估计不太好,233
我是纯小白,大佬厉害!确实是预处理输入的图片不一样造成的~另外我还有个问题啊,我是打算实现 人脸表情分类的,所以我是先打算用LBP特征提取+SVM实现,然而目前效果不是很好。我想了想原因,您看一下: 1、SVM训练的时候,训练效果和输入图片的大小有关系吗?(因为我先人脸检测,再裁剪保存图片中的人脸区域,但是每张图片的人脸区域大小不一样,所以训练的图片大小是不一样的)如果是的话,转换成怎样大小的图片比较合适呢?(好像太小了 会损失很多信息、/?) 2、训练的时候,有的表情(比如开心)只有30张图片,有的表情(比如难过)却有几百张图片,这个应该会对预测结果产生较大影响吧??是不是该考虑换数据集了。。
朱铭德 2020-05-16
  • 打赏
  • 举报
回复
确保训练和前向时的预处理方式一致 另外说一点,好歹提个hog特征再分类吧,图片直接SVM估计不太好,233
  • 打赏
  • 举报
回复
求大佬解答啊

4,499

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧