I shrink the image for calculating its radius(or diameter), but I just get the inner circle's radius.
tic
rgb = imread('RingSeal_20200314.jpg');
subplot(2,2,1),imshow(rgb);
d = imdistline;
I = rgb2gray(rgb);
subplot(2,2,2),imshow(I)
[c,r] = imfindcircles(rgb,[80,150]);
%when proccessing with an image of higher properties those parameters [x, y] are changed, althou i havent had success
subplot(2,2,3),imshow(rgb);
viscircles(c,r);
subplot(2,2,4),imshow(I);
viscircles(c,r);
[c,r]
toc
After calculating by Matlab, the answer is followed:
ans =
line 1
183.669253750496
line 2
172.680044458067
line 3
92.6226833779506
10.791631 seconds.
shrinked image