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.

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- 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 рисует контрастирующий круг ниже цветного круга.

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

Цвет контура в виде триплета 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
Для просмотра документации необходимо авторизоваться на сайте