Here is the code % Read your image and binarize it I = imread('C:\Users\Rangika Mark\Desktop\WP_20171207_11_47_46_Selfie.jpg'); Igray = rgb2gray(I); BW = imbinarize(Igray); % Measure the outer radius BWout = ~BW; BWout = imfill(BWout,'holes'); statOuter = regionprops(BWout,{'EquivDiameter','Centroid'}); outerRadius = statOuter.EquivDiameter/2; % Measure the inner radius BWin = imclearborder(BW); BWin = imopen(BWin, strel('disk',5)); % Remove noise statInner = regionprops(BWin,{'EquivDiameter','Centroid'}) innerRadius = statInner.EquivDiameter/2; % Show the result figure imshow(I) hold on viscircles(statOuter.Centroid, outerRadius,'Color','r') viscircles(statInner.Centroid, innerRadius,'Color','r')
MATLAB: I tried to find inner and outer diameter of an circle using this code but it didn’t give me outputs images like below I’ve attached
image processing
Related Question
- How to find the internal and external diameter of a oil seal that I’ve taken from the camera
- Number of Object in binary image
- 1. How do i get Centroid and its corresponding Equivdiameter when regionprops is used
- How to increase or decrese graythresh value
- Check if the code is correct or not for finding the diameter of objects in an image.
Best Answer