how to convert a 2D matrix to a column vector?

7 次查看(过去 30 天)
I have to compare two images of same/different alphabets using euclidean distance method. The function 'euclidean' requires the column vectors corresponding to both the images. How could I obtain the column vectors?

回答(3 个)

Azzi Abdelmalek
Azzi Abdelmalek 2014-1-1
编辑:Azzi Abdelmalek 2014-1-1
out=A(:) % A is your image

Image Analyst
Image Analyst 2014-1-1
You need to build up a feature vector from each image. Surely you're not just comparing two images with different alphabets on them - for that you could just subtract them, but that's no good to tell if they are from the same alphabet or not. Sounds like you're going to need to do OCR on the images first, and then compare feature vectors.

Tulio
Tulio 2014-1-1
编辑:Tulio 2014-1-1
For example a 7x7 matrix;
Ncols=7; Nrows=7; c=0; ColVec=zeros(Ncols*Nrows,1);
for i=1:Nrows for j=1:Ncols
c=c+1;
ColVec(c,1)=x(Nrows*(j-1)+i);
end
end
  2 个评论
Image Analyst
Image Analyst 2014-1-1
编辑:Image Analyst 2014-1-1
Or, much, much more simply in one single line of code
ColVec = x(:);
as Azzi said. Though it won't be what jimy wants. It's not going to help him to turn his images of alphabets into a single column, despite the fact that he asked for that. He just doesn't realize it yet.
Tulio
Tulio 2014-1-2
Oh yes, it is much simpler indeed. it wasn't quite clear to me what he asked so I just tried to go by the title.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Convert Image Type 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by