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

 Risposta accettata

Walter Roberson
Walter Roberson il 25 Apr 2011

2 voti

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 Commenti

Ashish
Ashish il 25 Apr 2011
Thank you for the answer, could u also tell me what boundingbox(1) n boundingbox(2) stand for.
Matt Fig
Matt Fig il 25 Apr 2011
I deleted my answer because I misread your code. Please accept Walter's answer, as he got it right...
Walter Roberson
Walter Roberson il 25 Apr 2011
As indicated in that link, they are the x and y coordinates of the upper-left corner of the bounding box.
Ashish
Ashish il 26 Apr 2011
Thanks Matt and Walter, my doubt is now cleared.
vinod ch
vinod ch il 2 Mar 2014
Modificato: vinod ch il 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 il 10 Feb 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?

Accedi per commentare.

Più risposte (1)

SATYAVIR SINGH KUNTAL
SATYAVIR SINGH KUNTAL il 26 Apr 2011

0 voti

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

1 Commento

Ashish
Ashish il 26 Apr 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.

Accedi per commentare.

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by