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.

4 ビュー (過去 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(:);"

カテゴリ

Help Center および File ExchangeDimensionality Reduction and Feature Extraction についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by