2016-04-07 20 views
-1

Kod "matris boyutu kabul edilmeli" hatası veriyor. Peki hangi değişiklikleri yapmalıyım?Gri ​​tonlamalı bir görüntünün özdeğerleri ve vektörlerini bulmaya çalışıyorum ve hata alıyorum "Matris boyutları kabul edilmelidir"

%reading a image 
I =imread('C:\Program Files\MATLAB\R2013a\New folder\fac.jpg'); 

m = mean(I,2); 

I = double(I)- double(repmat(m,10,1)); 

%calculating covariance matrix 
c=cov(I); 

%calculating eigenvalues and eigenvectors 
[eigenvalue,eigenvector]=eig(c); 
+1

görünüyor 'farklı boyutlardadır. Resminizin boyutları nedir? – Lincoln

cevap

0

Birincisi, I 2D matris olduğundan emin olun. Bu, cov'un çalışması için gereklidir. İkinci olarak, n ve p'un size(repmat(m,n,p))==size(I) olduğu repmat(m,n,p) kullanın. Sorun I` ve 'repmat (m, 10,1)' gibi

Örnek

I =imread('myImg.jpg'); % 63x83x3 matrix containing 3D RGB information. 
I = rgb2gray(I); % 3D RGB to 2D gray scale. Now I is a 63x83 matrix. 
m = mean(I,2);     
I = double(I)- double(repmat(m,1,83)); 
c=cov(I); 
[eigenvalue,eigenvector]=eig(c); 
İlgili konular