FileStorage如何追加? 本帖最后由 mayingjie116 于 2013-05-15 11:48:07 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哥哥我知道了教给你CvMat* mat = cvCreateMat( 3, 3, CV_32F );CvMat *mat1=cvCreateMat(3,3,CV_64FC3);cvSetIdentity(mat1); CvFileStorage* fs = cvOpenFileStorage( "c:\\example.xml", 0, CV_STORAGE_WRITE ); cvSetIdentity( mat ); cvWrite( fs, "A", mat, cvAttrList(0,0) ); // cvWrite(fs,"B",mat1,cvAttrList(0,0)); cvReleaseFileStorage( &fs ); CvFileStorage* fs1 = cvOpenFileStorage( "c:\\example.xml", 0, CV_STORAGE_APPEND );//这么简单就是这里CV_STORAGE_APPEND //cvSetIdentity( mat ); // cvWrite( fs1, "A", mat, cvAttrList(0,0) ); cvWrite(fs1,"B",mat1,cvAttrList(0,0)); cvReleaseFileStorage( &fs1 ); cvReleaseMat( &mat ); cvReleaseMat(&mat1); //读取 CvMat *mata=cvCreateMat(3,3,CV_32F); CvMat *matb=cvCreateMat(3,3,CV_64FC3); CvFileStorage *fs_read; fs_read=cvOpenFileStorage("c:\\example.xml",0,CV_STORAGE_READ); //mata=(CvMat*)cvReadByName(fs_read,NULL,"A",NULL); matb=(CvMat*)cvReadByName(fs_read,NULL,"B",NULL); int a=12; for(int row=0;row<matb->rows;row++){ double *pd_row_start=(double *)(matb->data.ptr+row*(matb->step)); for(int col=0;col<matb->cols;col++){ double *pd_data=pd_row_start+col*3; printf("%3.2f ",*pd_data); printf("%3.2f ",*(pd_data+1)); printf("%3.2f ",*(pd_data+2)); } printf("\n %d\n",row); } cvReleaseFileStorage(&fs_read); cvReleaseMat(&mata); cvReleaseMat(&matb); return 0; 咨询VC报表处理 MFCZ框架消息处理遇到的一个问题 怎么记录传输文件的开始时间和结束时间 我安装VC7.0之后又安装的做浮动窗口的控件:BCGControlBar,新建的VC程序,编译运行时就报错:找不到.exe文件,无法运行。 CDialogBar的问题 100分求助, VC中如何调用OUTLOOK中的日历功能? 请给个例子. 有人知道这个问题的答案吗(关于滚动条) 关于VC安装程序问题? 高手请进100分 RegSaveKey()如何使用 有谁知道如何查找使用ffmpeg解码失败的原因 MFC单文档视图嵌入word后,应用程序的工具栏被word的菜单栏遮挡
哥哥我知道了教给你CvMat* mat = cvCreateMat( 3, 3, CV_32F );
CvMat *mat1=cvCreateMat(3,3,CV_64FC3);
cvSetIdentity(mat1);
CvFileStorage* fs = cvOpenFileStorage( "c:\\example.xml", 0, CV_STORAGE_WRITE );
cvSetIdentity( mat );
cvWrite( fs, "A", mat, cvAttrList(0,0) );
// cvWrite(fs,"B",mat1,cvAttrList(0,0));
cvReleaseFileStorage( &fs );
CvFileStorage* fs1 = cvOpenFileStorage( "c:\\example.xml", 0, CV_STORAGE_APPEND );//这么简单就是这里CV_STORAGE_APPEND //cvSetIdentity( mat );
// cvWrite( fs1, "A", mat, cvAttrList(0,0) );
cvWrite(fs1,"B",mat1,cvAttrList(0,0));
cvReleaseFileStorage( &fs1 );
cvReleaseMat( &mat );
cvReleaseMat(&mat1);
//读取
CvMat *mata=cvCreateMat(3,3,CV_32F);
CvMat *matb=cvCreateMat(3,3,CV_64FC3); CvFileStorage *fs_read;
fs_read=cvOpenFileStorage("c:\\example.xml",0,CV_STORAGE_READ);
//mata=(CvMat*)cvReadByName(fs_read,NULL,"A",NULL);
matb=(CvMat*)cvReadByName(fs_read,NULL,"B",NULL);
int a=12;
for(int row=0;row<matb->rows;row++){
double *pd_row_start=(double *)(matb->data.ptr+row*(matb->step));
for(int col=0;col<matb->cols;col++){
double *pd_data=pd_row_start+col*3;
printf("%3.2f ",*pd_data);
printf("%3.2f ",*(pd_data+1));
printf("%3.2f ",*(pd_data+2));
}
printf("\n %d\n",row);
} cvReleaseFileStorage(&fs_read);
cvReleaseMat(&mata);
cvReleaseMat(&matb);
return 0;