我在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