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
输入参数
centers
— 圆心坐标
两列数值矩阵
圆心坐标,指定为两列数值矩阵。圆心的 x 坐标在第一列,y 坐标在第二列。
radii
— 圆半径
正数 | 列向量
圆半径,指定为正数或由正数组成的列向量,长度与 centers
相同。当 radii
是一个正数时,viscircles
以相同半径绘制所有圆。当 radii
是一个列向量时,viscircles
按圆心 centers(j,:)
及其对应的半径 radii(j)
绘制每个圆。
名称-值参数
将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参量名称,Value
是对应的值。名称-值参量必须出现在其他参量后,但对各个参量对组的顺序没有要求。
示例: viscircles(centers,radii,Color="b")
使用蓝色的短颜色名称指定蓝色圆边。
如果使用的是 R2021a 之前的版本,请使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: viscircles(centers,radii,"Color","b")
使用蓝色的短颜色名称指定蓝色圆边。
EnhanceVisibility
— 通过对比特征来增强绘制圆以提高可见性
true
或 1
(默认) | false
或 0
通过对比特征来增强绘制圆以提高可见性,指定为数值或逻辑 1
(true
) 或 0
(false
)。如果您将该值设置为 true
,则 viscircles
会在彩色圆下方绘制一个对比圆。
数据类型: logical
Color
— 边界的颜色
"red"
(默认) | RGB 三元组 | 十六进制颜色代码 | 颜色名称 | 短颜色名称
边界的颜色,指定为 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" | 不适用 | 不适用 | 不适用 | 无颜色 |
以下是 MATLAB® 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|
[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"
圆边的线型,指定为下表中的任一线条设定符。
线型 | 描述 | 表示的线条 |
---|---|---|
"-" | 实线 |
|
"--" | 虚线 |
|
":" | 点线 |
|
"-." | 点划线 |
|
"none" | 无线条 | 无线条 |
LineWidth
— 圆边的宽度
2
(默认) | 正数
圆边的宽度,指定为正数。线宽用磅来表示,每磅等于 1/72 英寸。
数据类型: double
版本历史记录
在 R2012a 中推出R2022b: 接受标量 radii
viscircles
接受标量值作为 radii
参量的值。当 radii
为标量时,viscircles
以相同半径绘制所有圆。
另请参阅
图像查看器 | visboundaries
| imfindcircles
| circles2mask
| imdistline
| drawcircle
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)