cvReadTrainData

原创 2015年07月10日 16:02:18

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__;

}


Tensorflow minst 初试牛刀

全文参考地址: https://github.com/jikexueyuanwiki/tensorflow-zh/blob/130a43845711cfad8e7d46e75300558349b36...
  • Silver_sail
  • Silver_sail
  • 2016年02月18日 15:48
  • 5989

cvLoad加载出现Microsoft C++ exception: cv::Exception at memory location 0x002bf5d8错误

我使用的环境是vs2010+opencv2.2 opencv的cvLoad加载问题貌似由来已久,网上一搜一大堆,不过一般出现的错误都和我使用的问题不一样。 Unspecified error (T...
  • weichaohnu
  • weichaohnu
  • 2012年02月26日 00:31
  • 24841

Open CV常用函数

常用的OpenCV函数速查  1、cvLoadImage:将图像文件加载至内存; 2、cvNamedWindow:在屏幕上创建一个窗口; 3、cvShowImage:在一个已创建好的...
  • u014493244
  • u014493244
  • 2015年05月29日 15:57
  • 2268

cvReadTrainData

cvReadTrainData的源码在opencv的cvboost.cpp文件之中,具体内容如下所示: CV_BOOST_IMPL void cvReadTrainData( const cha...
  • ding977921830
  • ding977921830
  • 2015年07月10日 16:02
  • 560

Tensorflow学习笔记(8)——input_data.py解析

这里学习一下前面用到的读取mnist数据库文件的代码。其实并没有用到Tensorlfow的东西,但是读取数据库文件是使用Tensorflow编程实现功能的基础,因此归到Tensorflow的学习笔记中...
  • lhanchao
  • lhanchao
  • 2016年05月03日 22:23
  • 19646

icvGetTrainingDataCallback源码详细分析

/* *函数icvGetTrainingDataCallback介绍 *功能:对所有样本计算特征编号从first开始的num个特征,并保存到mat里。 *输入: *CvMat* mat矩阵样本总数个行...
  • ding977921830
  • ding977921830
  • 2015年07月13日 21:50
  • 505

文本分类实战--从TFIDF到深度学习(附代码)

这几周因为在做竞赛所以没怎么看论文刷题写博客,今天抽时间把竞赛用到的东西总结一下。先试水了一个很小众的比赛–文因互联,由AI100举办,参赛队不足20个,赛题类型是文本分类。选择参赛的主要原因是其不像...
  • liuchonge
  • liuchonge
  • 2017年05月21日 21:55
  • 10358

Caffe读取训练和测试日志

用Caffe训练模型时,我们常常想保存训练和测试过程中数据一便于进一步分析。一种方法是在python中调用caffe的API训练并自己写代码读取layer中的数据保存结果,但这种方法毕竟比较繁琐。其实...
  • sinat_34474705
  • sinat_34474705
  • 2017年08月10日 17:45
  • 611

Opencv3.2 读取CSV文件

最近老师让那个做红外区域检测,之前师兄一直都是用的MATLAB做的。由于对MATLAB不是很熟悉,所以采用opencv来做,但是这一开头就遇到了问题。红外摄像机采集到的图片经过软件转为了.csv文件。...
  • u011268787
  • u011268787
  • 2017年05月27日 15:51
  • 954

tensorflow MNIST机器学习入门

tensorflow MNIST机器学习入门MNIST数据集MNIST数据集的官网是Yann LeCun’s website。在这里,我们提供了一份python源代码用于自动下载和安装这个数据集。你可...
  • FANGPINLEI
  • FANGPINLEI
  • 2016年06月30日 14:48
  • 5063
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:cvReadTrainData
举报原因:
原因补充:

(最多只允许输入30个字)