cvReadTrainData
cvReadTrainData的源代码在opencv的cvboost.cpp文件之中,详细内容例如以下所看到的:
CV_BOOST_IMPL
void cvReadTrainData( const char* filename,
int flags,
CvMat** trainData,
CvMat** trainClasses )
{ CV_FUNCNAME( "cvReadTrainData" ); __BEGIN__; FILE* file;
int m, n;
int i, j;
float val;
int values_read = -1; if( filename == NULL )
{
CV_ERROR( CV_StsNullPtr, "filename must be specified" );
}
if( trainData == NULL )
{
CV_ERROR( CV_StsNullPtr, "trainData must be not NULL" );
}
if( trainClasses == NULL )
{
CV_ERROR( CV_StsNullPtr, "trainClasses must be not NULL" );
} *trainData = NULL;
*trainClasses = NULL;
file = fopen( filename, "r" );
if( !file )
{
CV_ERROR( CV_StsError, "Unable to open file" );
} values_read = fscanf( file, "%d %d", &m, &n );
CV_Assert(values_read == 2); if( CV_IS_ROW_SAMPLE( flags ) )
{
CV_CALL( *trainData = cvCreateMat( m, n, CV_32FC1 ) );
}
else
{
CV_CALL( *trainData = cvCreateMat( n, m, CV_32FC1 ) );
} CV_CALL( *trainClasses = cvCreateMat( 1, m, CV_32FC1 ) ); for( i = 0; i < m; i++ )
{
for( j = 0; j < n; j++ )
{
values_read = fscanf( file, "%f", &val );
CV_Assert(values_read == 1);
if( CV_IS_ROW_SAMPLE( flags ) )
{
CV_MAT_ELEM( **trainData, float, i, j ) = val;
}
else
{
CV_MAT_ELEM( **trainData, float, j, i ) = val;
}
}
values_read = fscanf( file, "%f", &val );
CV_Assert(values_read == 2);
CV_MAT_ELEM( **trainClasses, float, 0, i ) = val;
} fclose( file ); __END__; }
cvReadTrainData的更多相关文章
- opencv源代码之中的一个:cvboost.cpp
我使用的是opencv2.4.9.安装后.我的cvboost..cpp文件的路径是........\opencv\sources\apps\haartraining\cvboost.cpp.研究源代码 ...
- 史上最全opencv源代码解读,opencv源代码具体解读文件夹
本博原创,如有转载请注明本博网址http://blog.csdn.net/ding977921830/article/details/46799043. opencv源代码主要是基于adaboost算 ...
随机推荐
- golang iris html/temple
在使用golang的模板语法的过程中遇见自动转义问题(或者以我的理解下发的富文本html代码不是template.html类型,而是string类型),需要强制转型 func unescaped(x ...
- mysqls,为node.js而编写的sql语句生成插件 (crud for mysql).
It is written in JavaScript,crud for mysql.You can also use transactions very easily. mysqls 一款专为nod ...
- Nginx 404 500
Nginx反向代理自定义404错误页面 http中添加 proxy_intercept_errors on; server中添加 error_page 404 = https://www.longda ...
- vue-router 原理解析
“更新视图但不重新请求页面”是前端路由原理的核心之一,
- ComboBoxEdit 添加键值
ComboBoxEdit combo = new ComboBoxEdit(); var coll = combo.Properties.Items; coll.BeginUpdate(); try ...
- DataGridView属性设置汇总
1.标题列居中 外观 ColumnHeadersDefaultCellStyle - Alignment - MiddleCenter 2.表格内容居中 外观 DefaultCellStyle - ...
- C# 2.0新加特性
泛型(Generics) 泛型是CLR 2.0中引入的最重要的新特性,使得可以在类.方法中对使用的类型进行参数化. 例如,这里定义了一个泛型类: class MyCollection<T> ...
- SIFT算法总结:用于图像搜索
原始文章链接:http://bubblexc.com/y2011/163/ 原文链接:http://blog.csdn.net/cserchen/article/details/5606859 关于三 ...
- 六星经典CSAPP笔记系列 - 作者:西代零零发
六星经典CSAPP笔记(1)计算机系统巡游 六星经典CSAPP笔记(2)信息的操作和表示 六星经典CSAPP-笔记(3)程序的机器级表示
- jq遍历 下拉框
var selectA1 = $("select[name=A1]"); //从A1下拉框中 搜索值 $(selectA1).children("option" ...