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

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 25 Apr. 2011

2 Stimmen

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 Kommentare

Ashish
Ashish am 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 am 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 am 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 am 26 Apr. 2011
Thanks Matt and Walter, my doubt is now cleared.
vinod ch
vinod ch am 2 Mär. 2014
Bearbeitet: vinod ch am 2 Mär. 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 am 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?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

SATYAVIR SINGH KUNTAL
SATYAVIR SINGH KUNTAL am 26 Apr. 2011

0 Stimmen

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

1 Kommentar

Ashish
Ashish am 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by