Explication de IplImage* img
Je viens de commencer l'apprentissage d'OpenCV avec "l'Apprentissage de l'utilisation d'OpenCV Vision par Ordinateur avec la Bibliothèque OpenCV".
Dans le premier exemple qui montre comment afficher une image, il a une ligne
IplImage* img = cvLoadImage("name.type")
Bien que le livre explique, j'ai toujours pas bien savoir ce qu'est exactement IplImage* img
.
Ne cvLoadImage de charger l'image à l'img qui IplImage indique? Quelqu'un peut-il m'expliquer s'il vous plaît? Merci
Si vous êtes juste de commencer à apprendre l'utilisation d'OpenCV, je fortement vous recommandons d'utiliser l'API C++. L'API C (y compris
IplImage
) est déconseillée (pour ne pas mentionner difficile à utiliser). Vous voudrez peut-être commencer à OpenCV tutoriels à la place.
OriginalL'auteur user2521723 | 2013-06-25
Vous devez vous connecter pour publier un commentaire.
img
est le nom de la variable, pourrait tout aussi bien êtreblahblahblah
;IplImage
est le type de la variable, c'est juste unstruct
qui contient les données de l'image elle-même, plus quelques infos (taille, profondeur de couleur, etc.) sur l'image;Pour plus d'info sur
IplImage
: D'autres questions sur le IplImagecvLoadImage
fournit un pointeur vers unIplImage
, ce qui signifie qu'il crée un IplImage quand il le charge et retourne toi, c'est la mise en place.Ne pas oublier de faire
cvReleaseImage(&img)
lorsque vous avez terminé avec elle, si vous ne voulez pas avoir des fuites de mémoire.Il y a une image de données ET un pointeur vers qui est créé avec
IplImage* img = cvLoadImage("name.type")
appel. La raison pour laquelle vous déclarer comme tel, c'est que tous les cv... méthodes d'accepter et de retour sur l'image de pointeurs. Le livre d'apprentissage est basée sur l'ancien openCV API, ce qui est écrit sur C. Maintenant openCV 2.4.5 dernière version stable utilise l'API C++, où il n'y a pas besoin de pointeurs. Avec le livre de prendre un coup d'oeil à opencv 2.4.5 la documentation, et d'apprendre facilement avec beaucoup de tutoriels. En C++ APIMat image = imload("");
déclaration est sans pointeur, et les méthodes requièrent des données, pas de son pointeur.OriginalL'auteur Smash