2010-12-09 33 views
0

J'espère que vous pouvez me aider ...OpenCV Enregistrer le fichier xml

J'ai un IplImage (reimg_right) 320 X 240, IPL_DEPTH_32F et je veux l'enregistrer comme une image et sous forme de fichier XML. J'utilise ce code:

sprintf(name1,"path1/image.bmp"); 
sprintf(name2,"path2/feature_image32F.xml"); 
cvSaveImage(name1,reimg_right); 
cvSave(name2, reimg_right, NULL, NULL, cvAttrList(0,0)); 

tout est ok, mais le problème est que dans le fichier xml Je n'ai pas une matrice de 320 x 240, mais une matrice 19200 X 4 !!! quelqu'un sait comment tenir les dimensions? grâce Gabrièle

Répondre

1

Je ne sais pas quelle version OpenCV que vous utilisez, mais il y a quelque temps, vous pouvez le faire:

cvSave("file.xml", my_img); 

en supposant my_img comme:

CvMat* my_img = cvCreateMat(320, 240, CV_32FC1); 

Mais depuis vous utilisez un IplImage, vous pouvez les convertir comme:

CvMat mat; 
CvMat* my_img = cvGetMat(reimg_right, &mat); 
cvSave("file.xml", my_img); 
+0

Vous devriez vérifier cette référence lorsque vous utilisez CvMat: http://note.sonots.com/OpenCV/MatrixOperations.html#qcb4d539 – karlphillip

+1

Je n'ai rien trouvé concernant la sauvegarde des matrices sur http://note.sonots.com/OpenCV/MatrixOperations .html # qcb4d539. Ai-je manqué quelque chose? – sergtk