remove objects in image that have larger columns than rows

1 vue (au cours des 30 derniers jours)
Masar Uthaib
Masar Uthaib le 27 Déc 2019
Commenté : Masar Uthaib le 27 Déc 2019
Hello
how can remove objects in image that have larger columns than rows in RGB
images .
Thank you
  2 commentaires
KALYAN ACHARJYA
KALYAN ACHARJYA le 27 Déc 2019
Can you share a sample image?
Masar Uthaib
Masar Uthaib le 27 Déc 2019
i'm croped the orginal image (RGB)into sub images in order to extract car plate .but i have a problem with sub images that have higher columns than rows . I want to remove objects that have larger columns than rows.
i make condition
[x,y]=size(subimage);
if x>y
subimage(:,:)=[ ]
but it is not operate for all sub image
AR (53).jpg
thank you

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 27 Déc 2019
Use regionprops(), and ismember():
labeledImage = bwlabel(binaryImage);
props = regionprops(labeledImage, 'BoundingBox');
bb = vertcat([props.BoundingBox]);
% See if column width > height
widths = bb(:, 3);
heights = bb(:, 4);
goodLabelsIndexes = find(widths <= heights); % And discard if widths > heights
% Remove bad blobs
binaryImage = ismember(labeledImage, goodLabelsIndexes);
% Mask the image using bsxfun() function to multiply the mask by each channel individually.
maskedRgbImage = bsxfun(@times, rgbImage, cast(binaryImage, 'like', rgbImage));

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by