remove objects in image that have larger columns than rows

1 次查看(过去 30 天)
Hello
how can remove objects in image that have larger columns than rows in RGB
images .
Thank you
  2 个评论
Masar Uthaib
Masar Uthaib 2019-12-27
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

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2019-12-27
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));

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by