how to convert a 2D matrix to a column vector?
Show older comments
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?
Answers (3)
Azzi Abdelmalek
on 1 Jan 2014
Edited: Azzi Abdelmalek
on 1 Jan 2014
out=A(:) % A is your image
Image Analyst
on 1 Jan 2014
0 votes
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.
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 Comments
Image Analyst
on 1 Jan 2014
Edited: Image Analyst
on 1 Jan 2014
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
on 2 Jan 2014
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.
Categories
Find more on Convert Image Type in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!