Создайте круг
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
рисует контрастирующий круг ниже цветного круга.
Типы данных: логический
'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'
— Ширина кругового ребра
(значение по умолчанию) | положительное числоШирина кругового ребра, заданного положительное число. Ширина линии описывается в точках, где каждая точка равняется 1/72 дюйма.
Типы данных: double
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.