rgb2gray返回空白图像,而图像(​​I)返回图像正确

时间:2011-11-20 22:32:17

标签: image-processing matlab

这是我的代码:

I = imread(fullfile(vl_root,'data','cup1.jpg')) ;
%returns a picture of a cup
image(I)
colormap gray;
%returns a white blank picture
image(rgb2gray(I))

奇怪的是,以下代码适用于我:

    I = getsnapshot(vid);
 %returns a picture of a snapshot
    image(I)
    colormap gray;
    %returns a black and white  picture
    image(rgb2gray(I))
从这里我可以假设两种图像类型之间存在某种差异,但我似乎无法确定原因。他们都是

任何想法?

1 个答案:

答案 0 :(得分:0)

我运行你的代码,显然'colormap grey'会创建一个尺寸为64x3的色彩图,这对于8位灰度图像来说是不够的,这反过来会使颜色看起来被截断。 我用了

        colormap([linspace(0,1,255)' linspace(0,1,255)' linspace(0,1,255)'])

它工作正常。

我没有相机,所以我无法验证第二部分,但也许相机图像是低强度的?