2014-02-17 219 views
-4

我試圖將灰度圖像轉換爲RGB圖像。我搜索了網絡,發現這個代碼:如何用全綵色將灰度圖像轉換爲rgb?

rgbImage = repmat(grayImage,[1 1 3]); 
rgbImage = cat(3,grayImage,grayImage,grayImage); 

但這是什麼只是給圖像的灰度與三維矩陣。 我想有一種方法可以將其轉換爲真彩色圖像。

+3

如何從灰色轉化爲顏色呢?您需要指定着色標準。您在灰色圖像中沒有顏色信息 –

+4

這不是一個真正的問題,或者顯示在該領域完全缺乏任何背景知識。 – DevNull

+0

首先,使用'uncrop'函數將所有缺失的數據神奇地重新取回,從路燈上獲得一些反射... – DevNull

回答

3

這是不可能直接從它的灰度版本恢復彩色圖像。正如@Luis Mendo在評論中所說的,所需的信息並非物理存儲在那裏。

你可以做的是嘗試找出強度等級和顏色之間的映射,然後使用插值來玩。然而,這不會產生好的結果,但只是一些顏色映射信息可能離你想要的很遠。

如果您有其他彩色圖像,並且想要將它的顏色適合您的灰度圖像,您可能需要看看:http://blogs.mathworks.com/pick/2012/11/25/converting-images-from-grayscale-to-color/
特別是可以在這裏找到引用的功能:http://www.mathworks.com/matlabcentral/fileexchange/8214-gray-image-to-color-image-conversion#comments。請注意,這樣做會很慢並且不會產生很好的結果,但是我認爲您不能做得更多。

2

是的,它不可能直接將灰度圖像轉換爲rgb ..但是可以通過添加它來添加要素或顯示像在rgb中的灰度圖像上檢測到的邊緣之類的東西。如果您希望可以使用此功能。 。

rgb = zeros([size(I_temp) 3]); 

rgb(:,:,1) = im2double(rr); 

rgb(:,:,2) = im2double(rg)+.05*double(I_temp) ; 

rgb(:,:,3) = im2double(rb); 

,其中RR,RG,RB是一個RGB基礎圖像..

相關問題