viscircles

Описание

пример

viscircles(centers,radii) рисует круги с заданными centers и radii на текущую систему координат.

viscircles(ax,centers,radii) рисует круги на оси, заданные ax.

viscircles(___,Name,Value) использует аргументы пары "имя-значение", чтобы задать дополнительные свойства кругов.

h = viscircles(___) возвращает указатель, h, к нарисованным кругам.

Примеры

свернуть все

Прочтите изображение в рабочую область и отобразите его.

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

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

Нарисуйте красные штриховые линии по краям темных кругов.

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

Figure contains an axes. The axes contains 5 objects of type line, image.

The 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

Figure contains an axes. The axes with title k = 5 contains 2 objects of type line.

Входные параметры

свернуть все

Координаты центров окружностей, заданные как P-by- 2 матрица, такая как полученная из imfindcircles. x -координаты центров окружностей находятся в первом столбце, а y -координаты - во втором столбце. Координаты могут быть целыми числами (любого числового типа) или значениями с плавающей точкой (типа double или single).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Радиусы окружности, заданные как вектор-столбец, такое как возвращаемое imfindcircles. Значение радиуса в radii(j) соответствует кругу с центральными координатами centers(j,:). Значения radii могут быть неотрицательными целыми числами (любого числового типа) или значениями с плавающей точкой (типа double или single).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Оси, в которых можно рисовать круги, заданные как указатели объекта возвращаемые gca или axes.

Типы данных: double

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: viscircles(centers,radii,'Color','b') задает ребра синего круга, используя короткое название цвета для синего.

Увеличение нарисованных кругов с контрастными функциями для улучшения видимости, заданное как логическое значение true или 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'Не применяетсяНе применяетсяНе применяетсяНет цвета

Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB® использует на многих типах графиков.

Триплет 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'Нет линииНет линии

Ширина ребра круга, задается положительное число. Ширина линии выражается в точках, где каждая точка равна 1/72 дюйма.

Типы данных: double

Выходные аргументы

свернуть все

Круги нарисованные, возвращенные как hggroup объект. h является дочерним элементом осей ax если задано, в противном случае h является дочерним элементом текущей системы координат.

Введенный в R2012a