hi, i have obtained this code from a website,for character segmentation, i am unable to understand a particular line in this code , could any body explain me...
code:-
clear all;
close all;
I = imread('plate.jpg');
BW = im2bw(I, 0.9);
BW = ~BW;
stats = regionprops(BW);
for index=1:length(stats)
if stats(index).Area > 200 && stats(index).BoundingBox(3)*stats(index).BoundingBox(4) < 30000
x = ceil(stats(index).BoundingBox(1))
y= ceil(stats(index).BoundingBox(2))
widthX = floor(stats(index).BoundingBox(3)-1)
widthY = floor(stats(index).BoundingBox(4)-1)
subimage(index) = {BW(y:y+widthY,x:x+widthX,:)};
figure, imshow(subimage{index})
end
end
what does this line do:
if stats(index).Area > 200 && stats(index).BoundingBox(3)*stats(index).BoundingBox(4) < 30000

 Réponse acceptée

Walter Roberson
Walter Roberson le 25 Avr 2011

2 votes

For a 2 dimensional image, BoundingBox(3) will be the x width and BoundingBox(4) will be the y width of the bounding box.
The Area is the actual number of pixels in the region; the product of the widths is the number of pixels that are within the bounding box.

6 commentaires

Ashish
Ashish le 25 Avr 2011
Thank you for the answer, could u also tell me what boundingbox(1) n boundingbox(2) stand for.
Matt Fig
Matt Fig le 25 Avr 2011
I deleted my answer because I misread your code. Please accept Walter's answer, as he got it right...
Walter Roberson
Walter Roberson le 25 Avr 2011
As indicated in that link, they are the x and y coordinates of the upper-left corner of the bounding box.
Ashish
Ashish le 26 Avr 2011
Thanks Matt and Walter, my doubt is now cleared.
vinod ch
vinod ch le 2 Mar 2014
Modifié(e) : vinod ch le 2 Mar 2014
what does the boundingBox contains can you explain it briefly about this code... i mean how it was able to detect exactly it is the character and on what parameters it separated them. can you explain me
ezhil K
ezhil K le 10 Fév 2019
I have used the same code.But,I get error as follows:
Error:
Reference to non-existent field 'Area'.
Error in Shi_tomashi (line 142)
if stats(index).Area > 100 && stats(index).BoundingBox(3)*stats(index).BoundingBox(4) < 30000
How should I resolve this?

Connectez-vous pour commenter.

Plus de réponses (1)

SATYAVIR SINGH KUNTAL
SATYAVIR SINGH KUNTAL le 26 Avr 2011

0 votes

@ashish.. could u give me the link of the site from which u got this piece of code... thanxx..

1 commentaire

Ashish
Ashish le 26 Avr 2011
Here is the link:
http://stackoverflow.com/questions/5305712/how-to-perform-character-segmentation-in-matlab
there is a sample image along with the code.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Convert Image Type dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by