我在Matlab(m,n,3)[double]中有一個顏色,rgb圖像。我分別在每個通道上執行線性擴散過程。 LinearDiffusion輸出中的第一個元素是雙數組(m,n,1)。Matlab。無法將雙數組合併成RGB圖像
[m,n,j]=size(noisy_image)
rgb_im=zeros(m,n,3);
for chn=1:3
noisy_chn=noisy_image(:,:,chn);
[rgb_im(:,:,chn), diff_un]=LinearDiffusion2016(noisy_chn, 0, dt, maxnl);
end
我想顯示rgb_im,它是(m,n,3)[double]。但是不管我做什麼,總是得到一個空白的方塊,儘管圖像值不夠飽和。我對灰度(uint8)圖像沒有任何問題。有任何想法嗎?
UPDATE:源圖像是(M,N,3)[unit8],但我將每個信道爲雙到其饋送到LinearDiffusion。
謝謝。
獲得一個空白方塊意味着,當你使用'繪製它imshow'看起來是白色的?如果您的圖片是雙倍的,則必須標準化爲[0..1]。嘗試使用'imshow(yourimage,[])',你應該看到正確的圖像。 –
rgb_im實際上是uint。這是我修補的形象,誰把它變成雙重饋送給LinearDiffusion。我的錯,對不起。 – javierjsa