在正常情况下,当我使用时,
l = imread('football.jpg');
首先,我将颜色带分开
i = l(:,:,1);
j = l(:,:,2);
k = l(:,:,3);
然后我把它们贴回去。
im(:,:,1) = i;
im(:,:,2) = j;
im(:,:,3) = k;
imtool(im);
这给了我一个正常的 rgb 图像,每个像素位置显示像素值。
现在我的目标是放大 rgb 图像,也就是缩放它。所以我首先将波段与 rgb 图像分开。我使用与上述相同的过程对像素进行“缩放”,然后将它们附加回去。但是,这一次当我调用 imtool(im) 时,我看不到像素的值。我只有白色放大的图像。在图像底部设置的像素信息0 1
在格式的范围内[ r b g]
。有没有办法增加这个范围。只是要注意,当我使用单个波段而不是 3 个波段一起使用imtool(im , [ 0 255 ] )
时,我会看到一张非常漂亮的缩小图片。当我将 3 个频段一起使用时,我只是不知道如何使用相同的想法。
编辑:只是为了说清楚:
im(:,:,1) = sampleUp(i,p);
%im(:,:,2) = sampleUp(j,p);
%im(:,:,3) = sampleUp(k,p);
imshow(im,[0 255]);( in octave)
imtool(im ,[0 255]);(in matlab)
上面的代码非常适合显示放大的灰度图像,而不是 rgb 图像。我知道我在这里遗漏了一些基本的东西。我会很高兴,如果有人能弄清楚我,