cannot identify all circles in car tyre

3 vues (au cours des 30 derniers jours)
Ayush
Ayush le 12 Oct 2016
Modifié(e) : Ayush le 12 Oct 2016
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

Réponses (0)

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!

Translated by