ドキュメンテーション

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

構文

viscircles(centers,radii)
viscircles(ax,centers,radii)
h = viscircles(ax,centers,radii)
h = viscircles(___,Name,Value)

説明

viscircles(centers,radii) は、指定された centersradii をもつ円を現在の軸上に描画します。

viscircles(ax,centers,radii) は、ax によって指定された軸上に円を描画します。

h = viscircles(ax,centers,radii) は円を描画し、作成された円のハンドルを返します。このハンドルは hggroup オブジェクトであり、axes オブジェクト ax の子です。

h = viscircles(___,Name,Value) は、上記の任意の構文を用いて、1 つまたは複数の Name,Value の引数のペアをもつ追加オプションを指定します。パラメーター名には省略形を使用できます。

すべて折りたたむ

この例では、イメージ内の明るい円と暗い円の円周に線を描画する方法を説明します。

イメージをワークスペースに読み取って表示します。

A = imread('circlesBrightDark.png');
imshow(A)

半径の範囲を定義します。

Rmin = 30;
Rmax = 65;

半径の範囲内のイメージ内にある明るい円をすべて検索します。

[centersBright, radiiBright] = imfindcircles(A,[Rmin Rmax],'ObjectPolarity','bright');

半径の範囲内のイメージ内にある暗い円をすべて検索します。

[centersDark, radiiDark] = imfindcircles(A,[Rmin Rmax],'ObjectPolarity','dark');

明るい円のエッジに青い実線を描画します。

viscircles(centersBright, radiiBright,'Color','b');

暗い円のエッジに赤い破線を描画します。

viscircles(centersDark, radiiDark,'LineStyle','--');

関数 viscircles は円をプロットする前にターゲットの座標軸をクリアしません。これまで座標軸にプロットされた円を削除するには、関数 cla を使用します。説明のために、この例では新しい Figure を作成し、次に、各反復で一連の円を描画して、毎回座標軸をクリアするループ処理を行います。

figure
colors = {'b','r','g','y','k'};

for k = 1:5
    % Create 5 random circles to display,
    X = rand(5,1);
    Y = rand(5,1);
    centers = [X Y];
    radii = 0.1*rand(5,1);

    % Clear the axes.
    cla

    % Fix the axis limits.
    xlim([-0.1 1.1])
    ylim([-0.1 1.1])

    % Set the axis aspect ratio to 1:1.
    axis square

    % Set a title.
    title(['k = ' num2str(k)])

    % Display the circles.
    viscircles(centers,radii,'Color',colors{k});

    % Pause for 1 second.
    pause(1)
end

入力引数

すべて折りたたむ

円の中心の座標は、imfindcircles などから得られる、P2 列の行列として指定します。円の中心の x 座標は最初の列にあり、y 座標は 2 列目にあります。座標には整数値 (任意の数値型) か、浮動小数点値 (double 型または single 型) を使用できます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

円の半径は、imfindcircles などで返される列ベクトルとして指定します。radii(j) の半径値は、中心座標が centers(j,:) である円に対応します。radii の値には非負の整数 (任意の数値型) か、浮動小数点値 (double 型または single 型) を使用できます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

円の描画対象とする座標軸は、gca または axes によって返されるハンドル オブジェクトとして指定します。

データ型: double

名前/値のペアの引数

オプションの Name,Value 引数のペアをコンマ区切りで指定します。ここで、Name は引数名で、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。

例: viscircles(centers,radii,'Color','b') は、blue の省略名を使用して、青い円のエッジを指定します。

すべて折りたたむ

描画された円を対照的な特徴を使用して強調することによる視認性の改善。論理値 true または false として指定します。値を true に設定すると、viscircles は色付きの円の下に対照的な色の円を描画します。

データ型: logical

円のエッジの色。MATLAB® ColorSpec 値として指定します。

円のエッジのライン スタイルは、'LineStyle' と次の表で示すライン指定子のいずれかで構成されるコンマ区切りのペアとして指定します。

ライン スタイル説明結果として得られるライン
'-'実線

'--'破線

':'点線

'-.'一点鎖線

'none'ラインなしラインなし

円のエッジの幅。正の浮動小数点の double 値として指定します。線の幅はポイント単位で表現されます。1 ポイントは 1/72 インチです。

出力引数

すべて折りたたむ

描画された円。hggroup オブジェクトのハンドルとして返されます。このオブジェクトは axes オブジェクト ax の子です。

R2012a で導入

この情報は役に立ちましたか?