How to extract the plate area only from black background

Hi, i want to know how to crop the plate area only from the image shown below my code takes the RGB image & outputs this image, so i need only a way to extract the numbers area only here is the output picture
thanks in advance

 Réponse acceptée

II=im2bw(I);
s=regionprops(II,'Area','BoundingBox');
[ii,ii] = sort([s.Area],'descend');
out = imcrop(I,s(ii(2)).BoundingBox);

2 commentaires

mohamed
mohamed le 3 Août 2012
Modifié(e) : mohamed le 3 Août 2012
thanks for you all i did it at last thanks again but u must fix your code like this:
II=im2bw(I);
s=regionprops(II,'Area','BoundingBox');
[~,ii] = sort([s.Area],'descend');
out = imcrop(I,s(ii(1)).BoundingBox);
thank you both of you..this code is help me very much..

Connectez-vous pour commenter.

Plus de réponses (2)

Image Analyst
Image Analyst le 3 Août 2012

2 votes

You could pass the image into regionprops() and ask for area and eccentricity. The plate will have a lower eccentricity than the lines, and probably but not necessarily a larger area than any/most/all of the lines. But I can't tell that that rectangular blob with a bunch of holes in it in the lower left is not also another license plate. At least for this one particular image, you could get rid of that based on area or FilledArea.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by