2012-01-23 138 views
3

如何將8位mat轉換爲32位mat以在kmeans函數中使用。我試圖使用ConvertScale,但編譯器說它是一個未知的函數。我正在使用OpenCV 2.3.1,並希望避免使用舊版本的API調用。在OpenCV 2中將8位圖像轉換爲32位

在此先感謝!

回答

10

可以使用convertTo

cv::Mat mat = do your thing using CV_8S (or CV_8U) 
cv::Mat dst = do your other thing 
mat.convertTo(dst, CV_32S); 
+3

這是正確的C++ API。如果您正在使用Python API,則可以使用NumPy。假設A是CV_8UC1:B = array(A,dtype = float32) –

+1

感謝您的幫助! – keshavdv