2012-09-02 105 views
1

當使用CV_INTER_AREA調整圖像大小時,我有一些奇怪的行爲。我確信我做錯了什麼,但我無法弄清楚。因此,有人可以告訴我什麼是錯用下面的代碼:使用CV_INTER_AREA調整圖像大小

Mat src = imread(File_Name); 
Mat dst; 
Size s(src.size().width/10, src.size().height/10); 
resize(src, dst, s, 0, 0, CV_INTER_AREA); 

在Windows保存DST只產生一個灰度圖像(未初始化的內存)。

這按預期工作:

Mat src = imread(File_Name); 
Mat dst; 
Size s(src.size().width/10, src.size().height/10); 
resize(src, dst, s); 

由於我減少我喜歡用CV_INTER_AREA並定義使用DSIZE參數目標圖像大小產生的大小。

任何幫助,歡迎。

感謝, 基督教

+0

哪個版本的opencv?您是否使用SSE指令支持進行編譯? (我曾經遇到過cv :: resize()的一些標誌,這些標誌是windows和SSE特有的...?) –

+0

我現在在調試模式下工作,並且我沒有SSE支持而重新編譯。仍是同樣的問題。我正在對抗當前的git倉庫,版本2.4.9。 – chhenning

回答

0

原來的樹幹(2.4.9)不工作。當我嘗試2.4分支代碼的作品。

1

實際上,您可以嘗試cv :: INTER_AREA,而不是在版本2.4.9中使用CV_INTER_AREA。