viscircles


创建圆

Syntax

viscircles(centers,radii)
viscircles(ax,centers,radii)
viscircles(___,Name,Value)
h = viscircles(___)

Description

viscircles(centers,radii)在当前轴上绘制具有指定中心和半径的圆。

viscircles(ax,centers,radii)在ax指定的轴上绘制圆。

viscircles(___,Name,Value)使用名称-值对参数来指定圆的其他属性。

h = viscircles(___)将手柄h返回到绘制的圆。

Examples

在图像的明亮和黑暗圆圈周围绘制线条

clear all
close all
clc
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','--');

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在绘制圆之前清除轴
绘制圆环之前,粘性圆环功能不会清除目标轴。 要删除以前在轴上绘制的圆,请使用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

在这里插入图片描述

ax — Axes in which to draw circles

画圆的轴,指定为gca或轴返回的手柄对象。

猜你喜欢

转载自blog.csdn.net/qq_34562355/article/details/109286275