CvMat程序调试出错
来源:互联网 发布:java语言和静态页面 编辑:程序博客网 时间:2024/04/29 01:16
这几天在写一个程序,存储矩阵的时候,出现了错误,由于编程太菜,平常又没有系统学习,对于Mat矩阵的操作,还真的不是很了解,问题如下:
for( int i=0;i<featureVecSize;i++)
{
CV_MAT_ELEM( *posFeatureMat,float,0,i) = descriptors[i] ; //CV_MAT_ELEM是给posFeatureMat赋值
fprintf( fp,"%f\n",descriptors.at(i)); //fprintf是打印descriptors内容
}
提示出错在这一行: CV_MAT_ELEM( *posFeatureMat,float,0,i) = descriptors[i] ;
错误提示:Assertion failed:<unsigned><0> <<unsigned><*posFeatureMat>.rows && <unsigned><i><<unsigned><*posFeatureMat>.cols,file f:>
排错方案:检查featureVecSize的定义和赋值;posFeatureMat的定义;descriptors的定义
vector<float>descriptors;
int featureVecSize = descriptors.size();
CvMat *posFeatureMat = cvCreateMat( 1,3780,CV_32FC1 );
一经提示,我就能猜到是3780这里出错了,由于训练的图片大小改变了,提取的特征也改变了,而我还采用3780维,故矩阵出错。
若要实现写M行,N列的矩阵,则采用如下的形式:
for (int j = 0; j < XXX; j++)
{
for (int i = 0; i < featureVecSize; i++)
{
printf("%f,", ...);
}
printf("\n");
}
- CvMat程序调试出错
- ADS程序调试出错
- VS调试程序出错
- 在手机上程序出错的调试方式。
- 程序调试: 通过崩溃地址找到出错的代码行
- VC++调试出错是否继续运行上次正确的程序
- CvMat
- CvMat
- CvMat
- CvMat 矩阵的用法和简单程序
- 程序出错
- DNN调试利器DNNDebug.aspx--如何调试出错信息不具体的程序错误
- DotNet调试出错解决办法
- DaoConfig调试出错
- Release 版出错调试
- DLL调试出错
- IOS出错调试技术
- dojo页面调试出错
- Cannot merge new index 66501 into a non-jumbo instruction
- activePDF Toolkit使用教程:如何导出批注
- IOS__UI设计规范
- USACO1.1.3 Friday the Thirteenth(黑色星期五)
- 深入探索C++对象模型(1)
- CvMat程序调试出错
- const 的总结
- 文件的创建touch 目录的创建 mkdir 权限的设置umask
- FCK工具条大全
- 根据json对像构造出form表单
- tab切换
- Javascript高级程序设计第二版第十四章--异常--笔记
- oracle 自增长
- Linux 文件系统介绍