Dividing up a word into letters based on the coordinates already present?

1 view (last 30 days)
I was able to detect the letters in an Arabic word and record/save its coordinates. The word or image in question is:
The points are represented by red and yellow markers (Which were plotted using the plot command)
I got these markers by first converting the image to logical, complementing it, skeletonizing it, then using a modified chain code algorithm to detect the letters.
The red markers are:
110 287
123 325
115 150
109 185
120 219
The yellow markers are:
103 267
99 142
105 109
37 186
Having these coordinates I would like to isolate the letters as separate images or matrices. that is split up or extract the letters and save them individually for further processing.
I thought having the coordinates would make a simple procedure of just cropping out the original image but apparently that is not working. I have tried
test = img(:,109,:,120)
test = im(185:109,219:120);
And these are not working.
How would I go about splitting this up?
Thank you

Accepted Answer

Adam
Adam on 13 Aug 2014
The first of your options would only work on a 4d matrix.
The second would work if you swap round your indices - you have to have min:max:
test = im( 109:185, 120:219 ).
Assuming im is a matrix of size at least 185 * 219 that will cut out the rectangle you describe there, though not the individual letters distinct from each other.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!