簡體   English   中英

如何更改圖像的像素值范圍?

[英]How can I change the pixel value range in an image?

我有灰度圖像,其值在[0-65533]范圍內。 我以前從未見過。 這個范圍是多少?

我想將值縮放到[0-1200]范圍。 我嘗試了imadjust函數,但由於該函數僅需要0.0到1.0之間的值,所以它不起作用。

如何使用不imadjust來正確縮放這些值?

該值范圍表明您的灰度圖像包含無符號的16位整數,即它的類型為uint16 (從0到65535的整數值)。 imadjust的文檔指出它支持這種類型的圖像,但是要獲得所需的結果仍然有些棘手。

不論圖像類型如何,對比度極限始終期望在[0 1]范圍內。 這將需要您自己除以65535來重新縮放它們:

scaledImage = imadjust(uint16(inputImage), [0 65533]./65535, [0 1200]./65535);

請注意,我還添加了轉換uint16(...)只是為了確保輸入圖像在傳遞給imadjust時就是該類型。 如果您輸入的圖像碰巧先轉換為double類型, imadjust會期望該值也位於該圖像的[0 1]范圍內,在這種情況下會給您帶來不正確的輸出。

如果我理解正確,則可以執行以下操作:

newimage=1200.*oldimage./65533;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM