By using reshape () in Matlab getting this error .
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Javaid Iqbal
le 24 Avr 2018
Commenté : Javaid Iqbal
le 25 Avr 2018
img=imread('flair.jpg');
gaborArray = gaborFilterBank(5,6,39,39);
featureVector = gaborFeatures(img,gaborArray,1,1);
img_size=size(img(:));
fv=reshape(featureVector, size(img_size),30);
out=kmeans(fv,5); %k-means where k=5
%Apply histogram of texton map within each super pixel
res=hist(out,5);
disp(res)
Error: Error using reshape Size arguments must be integer scalars. Error in texton (line 8) fv=reshape(featureVector, size(img_size),30);
0 commentaires
Réponse acceptée
Stephen23
le 24 Avr 2018
Modifié(e) : Stephen23
le 24 Avr 2018
This
img_size=size(img(:));
will return a 1x2 row vector equivalent to this:
[numel(img),1]
Then you get the size of the 1x2 vector img_size using
size(img_size)
which will therefore always return the vector [1,2], which is not a scalar, and is thus an invalid input to reshape. Note that the syntax size(X) will always return an 1xN vector, where N>=2.
It is not clear what you are trying to do.
4 commentaires
Stephen23
le 24 Avr 2018
Modifié(e) : Stephen23
le 24 Avr 2018
Put the new size into one vector:
[size(img_size),30]
it works for me:
fv = reshape(featureVector,[size(img),30]);
As its help shows, reshape does not support both multiple inputs and a non-scalar input at the same time: either all separate inputs need to be scalar (one may be empty), or use one non-scalar input.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Bar Plots dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!