2016-11-14 49 views
0

我有一個尺寸爲128x128的圖像。我已經應用matlab的imread功能, A = imread(first.jpg); 但是,這是返回給我一個三維數組128x128x3,我如何將它轉換爲由3列R,G,B(每種顏色一列)組成的2-D矩陣?如何轉換RGB形式的圖像(2-D矩陣)

+0

你想獲得一個有3列16384(128^2)行的矩陣,即每像素一行? – marcoresk

+0

是的,我想要連續每個像素的RGB值 –

回答

1
A = imread('first.jpg'); 
Npixels = size(A,1)*size(A,2); 
newA = reshape(A,[Npixels,3]); 
+0

謝謝。它工作得很好,你能告訴我如何將它轉換回jpg圖像? –

+0

@Tehreem Fatima爲了回到原始大小,您需要在加載'Asz = size(A);'後保存圖像大小。然後在處理'origA = reshape(newA,Asz);' – jodag

+0

後執行整形操作是的,如果你想保存它,jodag寫的是正確的'imwrite(origA,'newImage.jpg','jpg'); @TehreemFatima –