HI All ,Here i want to Reshape 2D images into 1D image vectors , why i get this error ? Error using '?? Transpose on ND array is not defined. Error in testauto (line 14) temp = reshape(img',r*c,1); .please help its urgent Thanks.

5 ビュー (過去 30 日間)
clear all close all clc
path = dir('e:\testImage\*.png'); X = [];
n = length(path);
for i = 1 : n
file = strcat('e:\testImage\',path(i).name);
img = imread(file);
% figure,imshow(img);
[r,c] = size(img);
temp = reshape(img',r*c,1);
X = [X temp];
end
  3 件のコメント
Enayat Ansari
Enayat Ansari 2016 年 12 月 28 日
Thanks @Jan_Simon your instruction is helpful

サインインしてコメントする。

採用された回答

Ahmet Cecen
Ahmet Cecen 2016 年 12 月 28 日
Not enough information, but it is likely that the image you are reading is a color image and is actually r by c by 3. I will also speculate you probably want to do:
img = rgb2gray(img);
  4 件のコメント
Jan
Jan 2016 年 12 月 28 日
When this is your purpose, "[X temp]" might not be useful. When the images have different sizes, this command must fail in addition.
Enayat Ansari
Enayat Ansari 2016 年 12 月 28 日
so what is the right way to store temp(which is now 1D array) into a matrix.help me i am pretty beginner

サインインしてコメントする。

その他の回答 (1 件)

Greg
Greg 2016 年 12 月 28 日
The error tells you exactly where the problem is: transposing an ND array on line 14. More specifically, the single tick (') operator is matrix transpose. Replace "img'" with "img". temp = reshape(img',r*c,1);
Better way to convert ANYTHING into a single column vector is "temp = img(:);"

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by