私はあなたが言及した用語に精通していません。次のコードが機能するかどうかを確認してください。
clc; clear all;
img = imread('vu4TL.jpg');
imgr = img(:,:,1);
imshow(imgr);
imgrb = im2bw(imgr,.99);
se = strel('disk',2);
imgrbc = imclose(imgrb,se);
[cr, rr] = imfindcircles(imgrbc,[4 100],'ObjectPolarity', ...
'bright','Sensitivity',0.92);
imgr = img(:,:,2);
imgrb = im2bw(imgr,.99);
se = strel('disk',2);
imgrbc = imclose(imgrb,se);
[cg, rg] = imfindcircles(imgrbc,[4 100],'ObjectPolarity', ...
'bright','Sensitivity',0.92);
imshow(img);
hr = viscircles(cr,rr);
hb = viscircles(cg,rg);
cdr = rr/rg;
fprintf('\ncdr = %f\n', cdr);
答え:
cdr = 2.225866
出力画像: