[C++] Convertir plusieurs images en vecteurs
Ivoa70
Messages postés
16
Statut
Membre
-
Ivoa70 Messages postés 16 Statut Membre -
Ivoa70 Messages postés 16 Statut Membre -
Bonjour,
J'ai écrit un programme qui permet de lire/afficher une image et calculer sa taille en pixels.
J'ai essayé de convertir la matrice (hauteurxlargeur) en un vecteur de taille 1 x (hauteurxlargeur).
Ma question est comment calculer les vecteurs pour une série d'images stockés dans un fichier ? Les images en question sont ordonnées de la sorte "brain_mri_001.jpg, brain_mri_002.jpg, brain_mr_003.jpg ... brain_mri_015.jpg"
Mon code n'affiche rien au moment de l'exécution :(
Par avance, je vous remercie !
J'ai écrit un programme qui permet de lire/afficher une image et calculer sa taille en pixels.
J'ai essayé de convertir la matrice (hauteurxlargeur) en un vecteur de taille 1 x (hauteurxlargeur).
Ma question est comment calculer les vecteurs pour une série d'images stockés dans un fichier ? Les images en question sont ordonnées de la sorte "brain_mri_001.jpg, brain_mri_002.jpg, brain_mr_003.jpg ... brain_mri_015.jpg"
Mon code n'affiche rien au moment de l'exécution :(
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
using namespace std;
int main()
{
int height,width;
//Load image
for(int j=0; j<=15; j++)
{
IplImage *img=cvLoadImage("brain_mri_00%j.jpg", CV_LOAD_IMAGE_GRAYSCALE);
if (!img)
{
printf("Erreur: On ne sait pas ouvrir le fichier.\n");
return 2;//erreur pas de fichier trouvé
}
cvNamedWindow("Projet Image", CV_WINDOW_AUTOSIZE);// créer une fenêtre
IplImage *img2=cvCloneImage(img); //cloner img
cvShowImage("Projet Image", img2); //afficher image fenêtre
int height,width;
height = img->height; // récupérer la hauteur de img
width = img->width; // récupérer la largeur de img
printf("La taille/size de l'image%j est %dx%d",height,width);
//convertir une matrice heightxwidth à un vecteur unique 1x(heightxwidth)
//matrice 3x3 à un vecteur 1x9
CvMat* mat = cvCreateMat(height,width, CV_32F); //CvMat : 2D array
CvMat row_header, *row;
row = cvReshape(mat, &row_header, 0, 1);
cvWaitKey(0); //attendre touche
cvDestroyWindow("Projet Image"); //détruire la fenêtre
cvReleaseImage(&img); //mémoire
cvReleaseImage(&img2); //mémoire
return 0; //terminer avec succès
}
}
Par avance, je vous remercie !
A voir également:
- [C++] Convertir plusieurs images en vecteurs
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Convertir epub en kindle - Guide
- Des images - Guide
- Convertir kindle en epub - Guide
- Convertir audio en texte word - Guide