2014-03-01 84 views
3

我有這樣的代碼:如何將圖像轉換爲opencv中的浮動圖像?

Mat image00=imread("C:\\Working Dir\\Tests\\TestBlending\\layer0000.jpg"); 
    Mat image0; 
    image00.convertTo(image0,CV_32FC3); 

但轉換我的形象浮動後,該圖像是空白(所有值都爲零)。

這段代碼有什麼問題,我該如何解決它?

+0

似乎問題並不在這裏...你如何檢查是否所有你可以給我們輸出'printf('%g%g%g \ n「,image0.at (42,42)[0],image0.at (42,42)[1] ,image0.at (42,42)[2]);'? – francis

回答

8

嘗試這些:

1) image00.convertTo(image0,CV_32FC3,1/255.0);

墊圖片類型CV_8UC3,值從0到255.而CV_32FC3介於0.0和1.0之間,因此您必須對其進行縮放。如果我沒有錯,你會收到所有零值,因爲圖像主要包含125以下的BGR值。如果還是不行,請嘗試以下:

2)

//CvType 
image00.convertTo(image0, CvType.CV_32FC3, 1/255.0); //with or without scaling, try both 

應該解決您的問題(:

+1

什麼是「OpenCV3」的方法?(即不使用CV_32FC3,而是使用cv :: Mat3f) –

相關問題