2011-06-10 5 views

Répondre

7

Utilisez la fonction cvConvert. En Python:

import cv 
m = cv.CreateMat(2, 2, cv.CV_8UC1) 
m1 = cv.CreateMat(2, 2, cv.CV_32FC1) 
cv.Convert(m, m1) 
42

Si vous vouliez dire C++ vous avez

#include<opencv2/opencv.hpp> 
using namespace cv; 
Mat img; 
img.create(2,2,CV_8UC1); 
Mat img2; 
img.convertTo(img2, CV_32FC1); // or CV_32F works (too) 

détails dans opencv2refman.pdf.

UPDATE:

CV_32FC1 est à 1 canal (C1, ie image grise) flottant estimé (32F) pixels

CV_8UC1 est à 1 canal (C1, ie image grise) unsigned char (8UC) ceux évalués.

+0

Pouvez-vous s'il vous plaît dites-moi où nous devons utiliser '32F' et' 8U' – AHF

+0

@Ahmad Voir mise à jour. –

+0

c'est en fait ma question, pourquoi nous avons besoin d'utiliser des pixels de valeur float et où nous devons utiliser des caractères char – AHF