OpenCV besoin de convertir IPL_DEPTH_32S à IPL_DEPTH_32F
-
22-08-2019 - |
Question
J'ai une image IPL_DEPTH_32S (ce qui signifie que j'utilise entier 32bit pour représenter pixels) et je dois le convertir en IPL_DEPTH_32F, afin que je puisse appliquer template matching. Quelqu'un sait-il la formule pour convertir les nombres entiers à flotteurs, ou de toutes les fonctions intégrées pour OpenCV qui peut le faire?
La solution
Je ne pense pas que OpenCV a une telle fonction.
La meilleure façon de le faire sera de créer une nouvelle image IPL_DEPTH_32F avec exactement la même taille que votre image IPL_DEPTH_32S. Ensuite, une boucle sur tous les pixels dans les deux images et pour chaque copie de pixel et le pixel exprimés en nombre entier de pixel à flotteur.
Autres conseils
Vous pouvez simplement utiliser "cvConvertImageScale ()" pour changer IPL_DEPTH_32S à IPL_DEPTH_32F.