How can I improve regionprops() use?
Afficher commentaires plus anciens
I have a code I use to get the center of each letter/number in an image using bounding boxes. But for some reason region props detects a segment of the border(Left side of image) as an object. I wanted to know how I can prevent this from happening because it does for my other data. I used this function. I marked the centers of each object r+

function [store,cent] = Segment(appim)
global bd BB coor store
binim = imbinarize(appim);
box = regionprops(binim,'BoundingBox');
bd = [box];
coor = [];
cent=[];
%%
store = [];
for k = 1 : length(box)
BB = box(k).BoundingBox;
coor{k} = BB;
rectangle('Position', [BB(1),BB(2),BB(3),BB(4)],'EdgeColor','r','LineWidth',1);
st = imcrop(appim,[BB(1),BB(2),BB(3),BB(4)]);
sz = size(st);
if (sz(1) < 3)%Disregard small unnecessary artifacts
return
elseif (sz(2) < 3)
return
else
store{k} = st;
cent{k}(1) = (coor{k}(1)+(coor{k}(3)/2));%X Coordinates
cent{k}(2) = (coor{k}(2)+(coor{k}(4)/2)); %Y Coordinates
end
end
cent = {cent{2:length(cent)}}; %Object center coordinates
end
2 commentaires
Matt J
le 4 Avr 2022
But for some reason region props detects a segment of the border(Left side of image) as an object.
What do you mean, "for some reason"? Your image shows that there is a thick white line on the left side of your image.
Jacob Ebilane
le 4 Avr 2022
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Image Processing Toolbox dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!