2015-11-12 48 views
-1

我有5個不同的圖像(可以更改),確定哪個圖像具有最大尺寸的最有效方法是什麼?確定一個集合中最大圖像的大小 - Matlab

腳本:

Img1 = rgb2gray(imread('http://oi41.tinypic.com/2d9qx6o.jpg')); 
size(Img1); 
Img2 = rgb2gray(imread('pillsetc.png')); 
size(Img2); 
Img3 = rgb2gray(imread('peppers.png')); 
size(Img3); 
Img4 = rgb2gray(imread('http://oi43.tinypic.com/239lhv.jpg')); 
size(Img4); 
Img5 = (imread('rice.png')); 
size(Img5); 

A = [Img1 Img2 Img3 Img4 Img5]; 
max(A) 
+1

「最大因素」通過尺寸,你的意思是像素的數量每個方向?總像素數?您可以將所有尺寸放在矩陣中,並使用'max'函數查找最大尺寸及其索引。使用'doc max'或'help max'來找到更多關於如何使用它的信息。 – Erik

+0

在這裏發佈之前你有嘗試過什麼嗎? –

+0

我想知道哪一個是最大的高度和寬度,所以我可以超過其他圖像。在這種情況下max不會幫助我。 – hsi

回答

1

幾種方法,以確定哪一個「更大」,或有:-)

images = {Img1, Img2, Img3, Img4, Img5}; 

[~, n_max_pixels] = max(cellfun(@numel,   images)); 
[~, n_max_height] = max(cellfun(@(x) size(x,1), images)); 
[~, n_max_width]  = max(cellfun(@(x) size(x,2), images)); 
[~, n_max_kewlness] = max(cellfun(@(x) rand(1), images)); 
+0

你能解釋我的輸出。例如,我如何知道哪些圖像是最大的寬度和高度。謝謝 – hsi

+0

@ user2613527輸出告訴你哪一個圖像具有:更多的像素,更高的高度,更大的寬度或更冷。返回的數字是圖片的編號。例如,如果'n_max_height'是'3',那意味着'Img3'的高度最大。 –

+0

@ user2613527另外,請問您爲什麼低估了我的回答?只是好奇。 :-) –