2011-11-20 166 views
0

這裏是我的代碼:rgb2gray返回一個空白圖像,而圖像(​​I)返回正確的圖像

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)) 

從我只能假設兩種圖像類型之間存在某種差異,但似乎無法確定原因。他們都是

有什麼想法嗎?

回答

0

我運行你的代碼,顯然'colormap gray'會創建一個尺寸爲64x3的色圖,這對於8位灰度圖像來說是不夠的,這反過來會使顏色看起來被截斷。 我用

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

它工作正常。

我沒有相機,所以我無法驗證第二部分,但也許相機圖像是低強度的?