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
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") 使用蓝色的短颜色名称指定蓝色圆边。
如果使用的是 R2021a 之前的版本,请使用逗号分隔每个名称和值,并用引号将 Name 引起来。
示例: viscircles(centers,radii,"Color","b") 使用蓝色的短颜色名称指定蓝色圆边。
通过对比特征来增强绘制圆以提高可见性,指定为数值或逻辑 1 (true) 或 0 (false)。如果您将该值设置为 true,则 viscircles 会在彩色圆下方绘制一个对比圆。
数据类型: logical
边界的颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短颜色名称。
对于自定义颜色,指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]范围内,例如[0.4 0.6 0.7]。十六进制颜色代码是字符串标量或字符向量,以井号 (
#) 开头,后跟三个或六个十六进制数字,范围在0到F之间。这些值不区分大小写。因此,颜色代码"#FF8800"与"#ff8800"、"#F80"与"#f80"是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了一些命名颜色选项、其等效 RGB 三元组及十六进制颜色代码。
| 颜色名称 | 短名称 | RGB 三元组 | 十六进制颜色代码 | 外观 |
|---|---|---|---|---|
"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 三元组和十六进制颜色代码。例如,获取 "gem" 调色板的 RGB 三元组并将其转换为十六进制颜色代码。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);在 R2023b 之前的版本中: 使用 RGB = get(groot,"FactoryAxesColorOrder") 获取 RGB 三元组。
在 R2024a 之前的版本中: 使用 H = compose("#%02X%02X%02X",round(RGB*255)) 获取十六进制颜色代码。
示例: viscircles(centers,radii,Color="r");
示例: viscircles(centers,radii,Color="green");
示例: viscircles(centers,radii,Color=[0 0 1]);
示例: viscircles(centers,radii,Color="#FF8800");
圆边的线型,指定为下表中的任一线条设定符。
| 线型 | 描述 | 表示的线条 |
|---|---|---|
"-" | 实线 |
|
"--" | 虚线 |
|
":" | 点线 |
|
"-." | 点划线 |
|
"none" | 无线条 | 无线条 |
圆边的宽度,指定为正数。线宽用磅来表示,每磅等于 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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 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)













