Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

viscircles

説明

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

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

viscircles(___,Name,Value) は、名前と値のペアの引数を使用して円の追加プロパティを指定します。

h = viscircles(___) は、描画された円のハンドル h を返します。

すべて折りたたむ

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

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

Figure contains an axes. The axes contains an object of type image.

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

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');

Figure contains an axes. The axes contains 3 objects of type line, image.

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

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

Figure contains an axes. The axes contains 5 objects of type line, image.

関数 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

Figure contains an axes. The axes with title k = 5 contains 2 objects of type line.

入力引数

すべて折りたたむ

円の中心の座標は、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

境界の色。RGB 3 成分、16 進数カラー コード、色の名前、または色の省略名として指定します。

カスタム色の場合、RGB 3 成分または 16 進数カラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度は範囲 [0,1] に含まれていなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、その後に 16 進数 (0 から F までの範囲) が 3 桁または 6 桁続く、文字ベクトルまたは string スカラーです。値の大文字と小文字は区別されません。そのため、カラー コード、'#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、一部の一般的な色を名前で指定できます。次の表に、名前付きの色のオプション、等価な RGB 3 成分、および 16 進数カラー コードを示します。

色の名前省略名RGB 3 成分16 進数カラー コード外観
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'該当なし該当なし該当なし色なし

以下に、MATLAB® がさまざまなタイプのプロットで使用する既定の色の RGB 3 成分と 16 進数カラー コードを示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

例: viscircles(centers,radii,'Color','r');

例: viscircles(centers,radii,'Color','green');

例: viscircles(centers,radii,'Color',[0 0 1]);

例: viscircles(centers,radii,'Color','#FF8800');

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

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

'--'破線

':'点線

'-.'一点鎖線

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

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

データ型: double

出力引数

すべて折りたたむ

描画された円。hggroup オブジェクトとして返されます。座標軸 ax が指定されている場合、h はその座標軸の子です。それ以外の場合、h は現在の座標軸の子です。

R2012a で導入