How to solve "Error using ' Transpose on ND array is not defined. Use PERMUTE instead." ?
Ältere Kommentare anzeigen
i have convert image from rgb to gray using this code :
axes(handles.axes3)
cropface=imcrop(X,face);
newsize=imresize(cropface,[151 151]);
grayscale=rgb2gray(newsize);
and then i save that image using this code :
img = getframe(gca);
[filename2,pathname2] = uiputfile(...
{'*.jpg','jpeg image(*.jpg)';
'*.*','All file(*.*)'},...
'Save Image','H:\SKRIPSI\Citra Latih\');
imwrite(img.cdata,fullfile(pathname2,filename2));
then I intend to creating the image matrix X using grayscale image that I have and I save with the code above, use the following code:
X = [];
for i = 1 : imgcount
str = strcat(datapath,'\',int2str(i),'.jpg');
img = imread(str);
img = rgb2gray(img);
[r c] = size(img);
temp = reshape(img',r*c,1);
I want to ask is why should I rgbgray code reuse in the process of creating the image matrix X, whereas the image that I use have grayscale. when I remove the rgb2gray code, then I see an error like this:

Akzeptierte Antwort
Weitere Antworten (1)
David H
am 13 Jun. 2016
0 Stimmen
My guess is that your variable "img" has more than 2 dimensions. Identify which 2 dimensions of "img = imread(str);" are the ones you actually want.
2 Kommentare
Guillaume
am 13 Jun. 2016
It's not a guess! a rgb image always have three dimensions.
Alvindra Pratama
am 16 Jun. 2016
Kategorien
Mehr zu Image Processing Toolbox finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!