Main Content

viscircles

説明

viscircles(centers,radii) は、指定された centersradii をもつ円を現在の軸上に描画します。関数 imfindcircles を使用して、イメージ内の円の中心と半径を求めることができます。

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

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

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

すべて折りたたむ

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

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

Figure contains an axes object. The axes object 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 object. The axes object contains 3 objects of type line, image.

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

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

Figure contains an axes object. The axes object 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 object. The axes object with title k = 5 contains 2 objects of type line.

入力引数

すべて折りたたむ

円の中心の座標。2 列の数値行列として指定します。円の中心の x 座標は最初の列にあり、y 座標は 2 列目にあります。

円の半径。正の数値、または centers と同じ長さの正の数値の列ベクトルとして指定します。radii が正の数値の場合、viscircles はすべての円を同じ半径で描画します。radii が列ベクトルの場合、viscircles は各円 centers(j,:) を対応する半径 radii(j) で描画します。

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

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

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

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

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

描画された円を高コントラストの特徴を使用して強調し、視認性を改善します。数値または logical の 1 (true) または 0 (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"

Sample of the color red

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

Sample of the color green

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

Sample of the color blue

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

Sample of the color cyan

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

Sample of the color magenta

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

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"該当なし該当なし該当なし色なし

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

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

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

例: viscircles(centers,radii,Color="r");

例: viscircles(centers,radii,Color="green");

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

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

円のエッジのライン スタイル。次の表で示すライン指定子のいずれかとして指定します。

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

Sample of solid line

"--"破線

Sample of dashed line

":"点線

Sample of dotted line

"-."一点鎖線

Sample of dash-dotted line, with alternating dashes and dots

"none"ラインなしラインなし

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

データ型: double

出力引数

すべて折りたたむ

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

バージョン履歴

R2012a で導入

すべて展開する