Filter löschen
Filter löschen

remove objects in image that have larger columns than rows

1 Ansicht (letzte 30 Tage)
Hello
how can remove objects in image that have larger columns than rows in RGB
images .
Thank you
  2 Kommentare
KALYAN ACHARJYA
KALYAN ACHARJYA am 27 Dez. 2019
Can you share a sample image?
Masar Uthaib
Masar Uthaib am 27 Dez. 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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 27 Dez. 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));

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by