我有一個尺寸爲144 * 2209的圖像,其動態範圍很大(從-1108到984)。具有大動態範圍的圖像的圖像歸一化
我想要顯示這個圖像,因爲這個範圍需要被帶入0到255,並且我需要規範化圖像。
這裏存在這樣的問題:當如此大的動態範圍變得緊湊時,歸一化之後的像素值變得彼此非常接近,使得圖像沒有按需要顯示。
可以做些什麼來解決這個問題???
這裏是鏈接到IMAGE。
我有一個尺寸爲144 * 2209的圖像,其動態範圍很大(從-1108到984)。具有大動態範圍的圖像的圖像歸一化
我想要顯示這個圖像,因爲這個範圍需要被帶入0到255,並且我需要規範化圖像。
這裏存在這樣的問題:當如此大的動態範圍變得緊湊時,歸一化之後的像素值變得彼此非常接近,使得圖像沒有按需要顯示。
可以做些什麼來解決這個問題???
這裏是鏈接到IMAGE。
您可以使用線性變換來更改原始圖像的動態範圍,但請注意,您將修改圖像的信息。
要做到這一點,在Matlab的8位範圍,只需要使用下面的代碼片段:
bins = pow2(8); % = range
lin_eq_img = round((bins - 1) * (img - min_img)/(max_img - min_img));
只是幾句話:
編輯:
16位的均衡版本將「保持你的陰影更清晰」 (沒有細節的損失),但是,當然,渲染的圖像將佔用更多的空間。下面是一個比較:
我會強烈建議你在2^16強進行直方圖規範化值跨度,以避免細節損失。
感謝您的幫助! – Navdeep
有高動態範圍壓縮的方法。看下面的文章http://www.cs.huji.ac.il/~danix/hdr/hdrc.pdf –
如果你只想顯示它,你可以使用'imagesc(img)'來自動縮放顏色範圍。 – Zep
我已經試過'imagesc(img)'...沒有任何好處! – Navdeep