Создать круг
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 - Координаты центров окружностиКоординаты центров окружности, указанные как Pоколо-2 матрица, такая как полученная из imfindcircles. Координаты X центров окружности находятся в первом столбце, а координаты Y - во втором столбце. Координаты могут быть целыми числами (любого числового типа) или значениями с плавающей запятой (типа double или single).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
radii - Радиусы окружностиРадиус окружности, заданный как вектор столбца, например, возвращаемый imfindcircles. Значение радиуса при radii(j) соответствует окружности с координатами центра centers(j,:). Значения radii могут быть неотрицательными целыми числами (любого числового типа) или значениями с плавающей запятой (типа double или single).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
viscircles(centers,radii,'Color','b') определяет края синего круга, используя короткое имя цвета для синего.'EnhanceVisibility' - дополнять нарисованные круги контрастными элементами для улучшения видимости;true (по умолчанию) | falseДополнять нарисованные круги контрастными элементами для улучшения видимости, задаваемой как логическое значение true или 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' | Неприменимо | Неприменимо | Неприменимо | Без цвета |
Вот триплеты 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'Стиль линии кромки окружности, заданный как разделенная запятыми пара, состоящая из 'LineStyle' и любой спецификатор строки в таблице ниже.
| Стиль линии | Описание | Результирующая линия |
|---|---|---|
'-' | Сплошная линия |
|
'--' | Пунктирная линия |
|
':' | Пунктирная линия |
|
'-.' | Пунктирная линия |
|
'none' | Без строки | Без строки |
'LineWidth' - Ширина кромки круга2 (по умолчанию) | положительное числоШирина кромки окружности, заданное положительное число. Ширина линии выражается в точках, где каждая точка равна 1/72 дюйма.
Типы данных: double
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.