OpenCV中文网站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 安装 配置
查看: 1087|回复: 2

opencv3.4.1+vs2017 bp训练完之后测试图片出现error 求助

[复制链接]
发表于 2018-11-21 16:14:08 | 显示全部楼层 |阅读模式
file:///C:/Users/Administrator/Desktop/图片1.png
附上程序
#include <io.h>
#include <string>
#include <iostream>
#include <opencv2\opencv.hpp>
#include <opencv2\ml.hpp>
using namespace cv;
using namespace ml;
//利用训练完成的神经网络模型进行识别
int main()
{
//将所有图片大小统一转化为8*16
const int imageRows = 150;
const int imageCols = 150;
//读取训练结果
Ptr<ANN_MLP> model = StatModel::load<ANN_MLP>("D:/ann/charSamples/MLPModel.xml");
////==========================预测部分==============================////
//读取测试图像
Mat test, dst;
test = imread("test01.png", 0);
if (test.empty())
{
std::cout << "can not load image \n" << std::endl;
return -1;
}
namedWindow("test");
imshow("test", test);
//将测试图像转化为1*128的向量
resize(test, test, Size(imageRows, imageCols), (0, 0), (0, 0), INTER_AREA);
threshold(test, test, 0, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);
Mat_<float> testMat(1, imageRows*imageCols);
for (int i = 0; i < imageRows*imageCols; i++)
{
testMat.at<float>(0, i) = (float)test.at<uchar>(i / 8, i % 8);
}
//使用训练好的MLP model预测测试图像
model->predict(testMat, dst);
std::cout << "testMat: \n" << testMat << "\n" << std::endl;
std::cout << "dst: \n" << dst << "\n" << std::endl;
double maxVal = 0;
Point maxLoc;
minMaxLoc(dst, NULL, &maxVal, NULL, &maxLoc);
std::cout << "测试结果:" << maxLoc.x << "置信度:" << maxVal * 100 << "%" << std::endl;
imshow("test", test);
waitKey(0);
return 0;
}






opencv3.4.1error:Assertion failed ((unsigned)i0 < (unsigned)size.p[0]) in cv::Mat::at


opencv入门小白,这个error弄得我心力憔悴,求大神帮忙。。。图片路径应该是没有错的,估计是Mat矩阵时越界
但不知道怎么改。。。
回复

使用道具 举报

发表于 2018-12-15 10:50:53 | 显示全部楼层
我想找开发人员做个图片识别和学习网站,如感兴趣,与我联系。QQ:1651991187
回复 支持 反对

使用道具 举报

发表于 2018-12-17 08:00:36 | 显示全部楼层
来看一下,支持
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站  

GMT+8, 2019-6-26 20:33 , Processed in 0.028596 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表