2016-11-27 36 views
1

我已經通過使用ii = cumsum(cumsum(image, 2), 1)來計算給定圖像的積分圖像;在我的課程中,這個問題讓我畫出了歸一化的整體圖像,這真讓我困惑,因爲大多數值都大於255,我會得到一個明亮的圖像。那麼如何繪製歸一化的整體圖像呢?歸一化積分圖像

+0

你能證明你所嘗試過的嗎? – rapvelopment

+0

我的答案也有幫助嗎? – rayryeng

回答

0

只是簡單地規範圖像。它看起來像你使用MATLAB,所以才創建標準化之間0值的新形象 - 255:

ii_norm = 255*(ii - min(ii(:)))/(max(ii(:)) - min(ii(:))); 

操作首先假定您的[0,1]範圍內的標準化,那麼你就擴展到[0,255]後。由於要顯示此爲圖像,不要忘記施放此爲uint8

ii_norm = uint8(ii_norm); 

但是,您可以使用imagesc,使它們符合上述範圍反正自動縮放值。但是,imagesc將使用以獨特顏色對亮度進行着色的顏色貼圖來顯示圖像。我懷疑你可能想自己顯示實際強度值,所以你必須撥打colormap並將其設置爲gray來執行此操作。此外,您可以使用imshow,第二個參數爲空,以幫助您執行此比例縮放:imshow(ii, []); ...實際上,您甚至不需要對其進行縮放。如果你想將圖像寫入文件,你會。

只需簡單地做:

imagesc(ii); colormap('gray'); 
% or 
%imshow(ii,[]); 

...和上面將自動縮放圖像的[0,255][0,1]範圍浮點的情況。

你應該期望的是一個圖像的漸變漸變,其中左上角爲0或接近於零,並且當您接近右下角時,圖像開始增加強度,直至變爲完全白色當你接近圖像的右下角時。請記住,積分圖像會計算從圖像左上角到空間座標(x,y)的區域。

此外,根據您的圖像的大小積分圖像值可能會很快填滿,所以它可能會顯示日誌標準化強度圖像以及有用:

imagesc(log(1 + ii)); colormap('gray'); 
% or 
imshow(log(1 + ii), []); 

這會給當您從左上角掃到右下角時,您可以獲得更均勻的強度分佈。