cannot identify all circles in car tyre
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
i am trying to separate radial of a car tyre, i have made the following code. it identifies the inside portion of tyre and it cannot detect out the outer portion.
my image

resultant image

my code is
if true
% code
close all;
clear;
clc;
rgb = imread('C:\Users\Ayush\Desktop\MATLAB SEP 30\images\vertical1.jpg'); figure imshow(rgb) % d = imdistline; gray_image = rgb2gray(rgb);
bw = imbinarize(gray_image); imshow(bw)
% remove all object containing fewer than 30 pixels bw = bwareaopen(bw,30);
% fill a gap in the pen's cap se = strel('disk',2); bw = imclose(bw,se);
% fill any holes, so that regionprops can be used to estimate % the area enclosed by each of the boundaries bw = imfill(bw,'holes');
imshow(bw) [B,L] = bwboundaries(bw,'noholes');
% Display the label matrix and draw each boundary imshow(label2rgb(L, @jet, [.5 .5 .5])) hold on for k = 1:length(B) boundary = B{k}; plot(boundary(:,2), boundary(:,1), 'w', 'LineWidth', 2) end stats = regionprops(L,'Area','Centroid');
threshold = 0.94;
% loop over the boundaries for k = 1:length(B)
% obtain (X,Y) boundary coordinates corresponding to label 'k'
boundary = B{k};
% compute a simple estimate of the object's perimeter
delta_sq = diff(boundary).^2;
perimeter = sum(sqrt(sum(delta_sq,2)));
% obtain the area calculation corresponding to label 'k'
area = stats(k).Area;
% compute the roundness metric
metric = 4*pi*area/perimeter^2;
% display the results
metric_string = sprintf('%2.2f',metric);
% mark objects above the threshold with a black circle
if metric > threshold
centroid = stats(k).Centroid;
plot(centroid(1),centroid(2),'ko');
end
text(boundary(1,2)-35,boundary(1,1)+13,metric_string,'Color','y',...
'FontSize',14,'FontWeight','bold');
end
end
0 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!