2014-04-22 28 views
1

我有一個尺寸的灰度圖像< 2559x3105 uint16>。當我嘗試打開這張圖片時,我發現警告它太大了。我已嘗試imresize()功能,使其小< 512x512 uint8>的大小。當我繪製原始圖像和重新調整大小的圖像時,重新調整大小後強度會降低。我想重新調整原始圖像的大小而不改變其像素值。有沒有解決方法?如何通過保留原始值將太大的圖像縮小爲小尺寸

+0

什麼軟件給你警告?按現代標準來看,這並不是一個大的形象。 –

+2

你是什麼意思「重新調整大小後強度下降」? – herohuyongtao

回答

0

如果你想保持你的最終圖像作爲uint8,我想你將需要先將uint16圖像轉換爲使用im2uint8uint8圖像 -

uint8_image = im2uint8(uint16_image); 

然後你可以在uint8_image申請imresize

但是,如果您不希望最終圖像爲uint8類型,則可以直接使用imresize,它將保留數據類型,即重新調整大小的圖像將爲uint16類型。

0

閱讀docs並使用最近鄰法。即,

resized = imresize(original, scale, 'nearest') 

這不會使用插值。缺點是邊緣可能會鋸齒狀。

0

這聽起來像你的16位圖像使用線性代碼,而生成的8位圖像需要伽馬校正。如果是這種情況,您可以使用imadjustgamma參數1/2.2來生成較亮的圖像。

0

當您使用imshow顯示時,您會收到警告嗎?它是否會說「像大到適合屏幕,調整大小xx%」?如果是這樣,那麼你可以簡單地忽略警告。否則,您可以設置'InitialMagnification'參數imshow來調整圖形大小,但不是圖像本身。

相關問題