Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / OpenCV嵌入式移植后XML读取问题及解决

1、OpenCV在进行嵌入式移植后需要读取XML文件。一开始利用最常用程序读取:cv::FileStorage fs(xml_filename, cv::FileStorage::READ);
    if ( !fs.isOpened() )
    {    }    fs["QMatrix"] >> m_Calib_Mat_Q;
    fs["remapX1"] >> m_Calib_Mat_Remap_X_L;
    fs["remapY1"] >> m_Calib_Mat_Remap_Y_L;
    fs["remapX2"] >> m_Calib_Mat_Remap_X_R;
    fs["remapY2"] >> m_Calib_Mat_Remap_Y_R;出错无法读取。经过一系列过程换为:CvMat *readbyname,*m_Calib_Mat_Remap_X_L1,*m_Calib_Mat_Remap_Y_L1,*m_Calib_Mat_Remap_X_R1,*m_Calib_Mat_Remap_Y_R1; 
 CvFileNode *mat_node;//文件结点   
    CvFileStorage *fs_read=NULL;//文件存储 
 
 fprintf(stderr, "1115");
 
    fs_read=cvOpenFileStorage("matX1.xml",0,CV_STORAGE_READ);   
    readbyname = (CvMat *)cvReadByName(fs_read,NULL,"matX1",NULL);   
    mat_node = cvGetFileNodeByName(fs_read,NULL,"matX1");   
    m_Calib_Mat_Remap_X_L1 = (CvMat *)cvRead(fs_read,mat_node);  cvReleaseFileStorage(&fs_read);   
    cvReleaseMat(&m_Calib_Mat_Remap_X_L1);   
    cvReleaseMat(&m_Calib_Mat_Remap_Y_L1); 
    cvReleaseMat(&m_Calib_Mat_Remap_X_R1);
    cvReleaseMat(&m_Calib_Mat_Remap_Y_R1); 
    cvReleaseMat(&readbyname);   可以成功读取。过程中,一开始出错可能是XML内容本身有问题,造成无法读取,可以将所要的数据分开多个XML数据,分开读取,这样可以避免多个数据的读取错误。--------------------------------------分割线 --------------------------------------Ubuntu Linux下安装OpenCV2.4.1所需包 http://www.linuxidc.com/Linux/2012-08/68184.htmUbuntu 12.04 安装 OpenCV2.4.2 http://www.linuxidc.com/Linux/2012-09/70158.htmCentOS下OpenCV无法读取视频文件 http://www.linuxidc.com/Linux/2011-07/39295.htmUbuntu 12.04下安装OpenCV 2.4.5总结 http://www.linuxidc.com/Linux/2013-06/86704.htmUbuntu 10.04中安装OpenCv2.1九步曲 http://www.linuxidc.com/Linux/2010-09/28678.htm基于QT和OpenCV的人脸识别系统 http://www.linuxidc.com/Linux/2011-11/47806.htm--------------------------------------分割线 --------------------------------------OpenCV的详细介绍:请点这里
OpenCV的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-09/106252.htm