[英]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.