viscircles
円の作成
構文
説明
viscircles( は、指定された centers,radii)centers と radii をもつ円を現在の軸上に描画します。関数 imfindcircles を使用して、イメージ内の円の中心と半径を求めることができます。
viscircles(___, は、名前と値の引数を使用して円の追加プロパティを指定します。Name=Value)
は、描画された円のハンドル h = viscircles(___)h を返します。
例
イメージをワークスペースに読み取って表示します。
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
入力引数
名前と値の引数
オプションの引数のペアを 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" |
|
"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" | 該当なし | 該当なし | 該当なし | 色なし |
次の表に、ライト テーマとダーク テーマにおけるプロットの既定のカラー パレットを示します。
| パレット | パレット カラー |
|---|---|
R2025a より前: ほとんどのプロットでは既定でこれらの色が使用されます。 |
|
|
|
orderedcolors 関数と rgb2hex 関数を使用して、これらのパレットの RGB 3 成分と 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、それを 16 進数カラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して 16 進数カラー コードを取得します。
例: viscircles(centers,radii,Color="r");
例: viscircles(centers,radii,Color="green");
例: viscircles(centers,radii,Color=[0 0 1]);
例: viscircles(centers,radii,Color="#FF8800");
円のエッジのライン スタイル。次の表で示すライン指定子のいずれかとして指定します。
| ライン スタイル | 説明 | 結果として得られるライン |
|---|---|---|
"-" | 実線 |
|
"--" | 破線 |
|
":" | 点線 |
|
"-." | 一点鎖線 |
|
"none" | ラインなし | ラインなし |
円のエッジの幅。正の数値として指定します。線の幅はポイント単位で表現されます。1 ポイントは 1/72 インチです。
データ型: double
バージョン履歴
R2012a で導入viscircles は、radii 引数にスカラー値を受け入れます。radii がスカラーの場合、viscircles はすべての円を同じ半径で描画します。
参考
イメージ ビューアー | visboundaries | imfindcircles | circles2mask | imdistline | drawcircle
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)













