2011-06-10 130 views

回答

7

使用cvConvert功能。在Python:

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

如果你的意思是C++,那麼你必須在opencv2refman.pdf

#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) 

細節。

UPDATE:

CV_32FC1爲值1通道(C1,即灰度圖像)漂浮(32F)像素

CV_8UC1爲1通道(C1,即灰度圖像)無符號字符(8UC)價值的。

+0

你能告訴我我們需要使用'32F'還是'8U' – AHF 2014-03-31 11:45:58

+0

@Ahmad請參閱更新。 – 2014-03-31 12:45:24

+0

這實際上是我的問題,爲什麼我們需要使用浮點值像素以及我們需要使用char值的像素 – AHF 2014-03-31 12:56:33