count rectangular and circles
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi all,
I want to count how many rectangular and circles in the image? what is the difference between rectagular and circle in matlab regionprops?
Also, I want to count how many rectangular and circles, both with holes in the image?
Finally, I want to export a figure just square and rectangular only.
Thank you for your help
clc;
close all;
clear;
A = imread('Shapes_with_holes.png');
A = imbinarize(A);
[label counts]= bwlabel(A);
imshow(A);
stats = regionprops(A,'Circularity','Centroid','Area','Perimeter','Solidity','FilledArea');
filledImage = imfill(A,'holes');
boundaries = bwboundaries(filledImage);
circularity = [stats.Circularity];
perimeters = [stats.Perimeter];
area = [stats.Area];
filledarea = [stats.FilledArea];
solidities = [stats.Solidity];
Centroid = [stats.Centroid];
circularities = perimeters.^2./(4*pi*filledarea);
hold on;
for blobNumber = 1 : counts
if circularities(blobNumber) < 1.19
theLabel = 'Circle';
elseif circularities(blobNumber) < 1.53
theLabel = 'Rectangle';
else
theLabel = 'Triangle';
end
text(stats(blobNumber).Centroid(1), stats(blobNumber).Centroid(2),...
theLabel, 'Color', 'r');
end
Réponses (1)
yanqi liu
le 15 Avr 2022
yes,sir,use regionpropers to find difference between rectagular and circle, may be use:
Circularity、BoundingBox
such as
bwi = imcrop(bw, round(stats(i).BoundingBox));
rate = nueml(find(bwi(:)))/numel(bwi);
now we can find rectagular get more rate than circle, may be try it.
0 commentaires
Voir également
Catégories
En savoir plus sur Image Segmentation and Analysis dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!