viscircles

Синтаксис

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

Описание

пример

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

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

viscircles(___,Name,Value) задает дополнительные опции с одним или несколькими аргументами пары 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

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

свернуть все

Координаты центров круга, заданных как 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

Увеличьте нарисованные круги с контрастированием функций, чтобы улучшить видимость, заданную как логическое значение true или false. Если вы устанавливаете значение к true, viscircles рисует контрастирующий круг ниже цветного круга.

Типы данных: логический

Цвет контура, заданного как триплет 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'Никакая строкаНикакая строка

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

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

свернуть все

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

Смотрите также

| | |

Представленный в R2012a