Image Processing Toolbox

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

テープのロールの半径の測定

この例では、テープ ディスペンサーによって部分的に不明瞭になっているテープのロールの半径を測定する方法を示します。このタスクには、imfindcircles を使用します。

手順 1: イメージの読み取り

tape.png を読み取ります。

RGB = imread('tape.png');
imshow(RGB);

hTxt = text(15,15,'Estimate radius of the roll of tape',...
     'FontWeight','bold','Color','y');

手順 2: 円の検出

imfindcircles を使用して、イメージ内の円の中心と半径を検出します。

Rmin = 60;
Rmax = 100;
[center, radius] = imfindcircles(RGB,[Rmin Rmax],'Sensitivity',0.9)
center =

  236.9291  172.4747


radius =

   79.5305

手順 3: 円の外枠および中心の強調表示

% Display the circle
viscircles(center,radius);

% Display the calculated center
hold on;
plot(center(:,1),center(:,2),'yx','LineWidth',2);
hold off;

delete(hTxt);
message = sprintf('The estimated radius is %2.1f pixels', radius);
text(15,15,message,'Color','y','FontWeight','bold');