Прямоугольная необходимая область
Rectangle
объект задает форму и положение прямоугольной видимой области (ROI). Можно настроить внешний вид и интерактивное поведение ROI.
Для получения дополнительной информации об использовании этого ROI, включая горячие клавиши, смотрите Советы.
Существует два способа создать Rectangle
объект. Для получения дополнительной информации смотрите, Создают Формы ROI.
Используйте drawrectangle
функция. Используйте эту функцию, когда это необходимо, чтобы создать ROI и установить внешний вид в одной команде. Можно задать форму и положение ROI в интерактивном режиме путем рисования ROI по изображению с помощью мыши, или программно при помощи аргументов name-value.
Используйте images.roi.Rectangle
функция описана здесь. Используйте эту функцию, когда это необходимо, чтобы задать внешний вид и поведение ROI, прежде чем вы зададите форму и положение ROI. После создания объекта можно задать форму и положение в интерактивном режиме при помощи draw
функционируйте или программно путем изменения свойств объекта.
создает roi
= images.roi.RectangleRectangle
объект со свойствами по умолчанию.
создает ROI в осях, заданных roi
= images.roi.Rectangle(ax
)ax
.
свойства наборов с помощью аргументов name-value. Можно задать несколько аргументов name-value. Заключите каждое имя свойства в одинарные кавычки.roi
= images.roi.Rectangle(___,Name,Value
)
images.roi.Rectangle('Color','y')
создает желтый Rectangle
объект.ax
— Родительский элемент ROIgca
(значение по умолчанию) | Axes
возразите | UIAxes
объектРодительский элемент ROI в виде Axes
возразите или UIAxes
объект. Для получения информации об использовании ROI в UIAxes, включая важные ограничения, смотрите Используя ROI в Приложениях, Созданных с App Designer.
AspectRatio
— Соотношение сторон прямоугольника
(значение по умолчанию) | положительное числоСоотношение сторон прямоугольника в виде положительного числа. Значение этого свойства изменяется автоматически, когда вы чертите или изменяете размер прямоугольника. Rectangle
объект вычисляет это значение как height/width
.
Color
— Цвет ROI
(значение по умолчанию) | триплет RGB | название цвета | короткое название цветаЦвет ROI в виде триплета RGB, названия цвета или короткого названия цвета.
Можно задать любой цвет с помощью триплета RGB. Триплет RGB является вектором-строкой с 3 элементами, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1].
Можно задать некоторые простые цвета по наименованию как строковый скаляр или вектор символов. Эта таблица приводит опции именованного цвета и эквивалентные триплеты RGB.
Название цвета | Краткое название | Триплет RGB | Внешний вид |
---|---|---|---|
'red' | 'r' | [1 0 0]
|
|
'green' | 'g' | [0 1 0]
|
|
'blue' | 'b' | [0 0 1]
|
|
'cyan'
| 'c' | [0 1 1]
|
|
'magenta' | 'm' | [1 0 1]
|
|
'yellow' | 'y' | [1 1 0]
|
|
'black' | 'k' | [0 0 0]
|
|
'white' | 'w' | [1 1 1]
|
|
Вот триплеты RGB для цветов по умолчанию что MATLAB® использование во многих типах графиков.
Триплет RGB | Внешний вид |
---|---|
[0 0.4470 0.7410]
|
|
[0.8500 0.3250 0.0980]
|
|
[0.9290 0.6940 0.1250]
|
|
[0.4940 0.1840 0.5560]
|
|
[0.4660 0.6740 0.1880]
|
|
[0.3010 0.7450 0.9330]
|
|
[0.6350 0.0780 0.1840]
|
|
Пример: 'Color','r'
Пример: 'Color','green'
Пример: 'Color',[0 0.4470 0.7410]
ContextMenu
— Контекстное менюContextMenu
объектКонтекстное меню, которое отображается, когда вы щелкаете правой кнопкой по ROI в виде ContextMenu
объект. Можно создать пользовательское контекстное меню при помощи uicontextmenu
функционируйте и затем конфигурирующий свойства контекстного меню.
Deletable
— Контекстное меню предоставляет возможность удалять ROItrue
(значение по умолчанию) | false
Контекстное меню предоставляет возможность удалять ROI в виде true
или false
. Когда значением является true
, можно удалить ROI в интерактивном режиме с помощью контекстного меню. Когда значением является false
, опция контекстного меню, чтобы удалить ROI отключена.
В обоих случаях можно удалить ROI за пределами контекстного меню при помощи delete
функция.
DrawingArea
— Область осей, в которые можно в интерактивном режиме поместить ROI'auto'
(значение по умолчанию) | 'unlimited'
| [x,y,w,h]
Область осей, в которые можно в интерактивном режиме поместить ROI в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
'auto' | Областью рисунка являются пределы текущей системы координат (значение по умолчанию). |
'unlimited' | Область рисунка не имеет никакого контура, и ROI могут чертиться или перетаскиваться, чтобы расширить вне пределов осей. |
[x,y,w,h] | Область рисунка ограничивается прямоугольной областью, начинающейся в (x, y), и расширяющей к ширине w и высота h. |
FaceAlpha
— Прозрачность поверхности ROI
(значение по умолчанию) | номер в области значений [0, 1]Прозрачность ROI стоит в виде номера в области значений [0, 1]. Когда значением является 1
, поверхность ROI абсолютно непрозрачна. Когда значением является 0
, поверхность ROI абсолютно прозрачна.
FaceSelectable
— Поверхность ROI может получить нажатия кнопкиtrue
(значение по умолчанию) | false
Поверхность ROI может получить нажатия кнопки в виде true
или false
. Когда true
(значение по умолчанию), поверхность ROI захватывает клики мыши. Когда false
, поверхность ROI не захватывает клики мыши.
FixedAspectRatio
— Соотношение сторон остается постояннымfalse
(значение по умолчанию) | true
Соотношение сторон остается постоянным во время взаимодействия в виде true
или false
. Когда значением является true
, соотношение сторон остается постоянным, когда вы чертите или изменяете размер ROI. Когда значением является false
, можно изменить соотношение сторон при рисовании или изменении размеров ROI. Можно изменить состояние этого свойства с помощью контекстного меню по умолчанию.
HandleVisibility
— Видимость ROI обрабатывает в Children
свойство родительского элемента'on'
(значение по умолчанию) | 'off'
| 'callback'
Видимость ROI обрабатывает в Children
свойство родительского элемента в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
'on' | Указатель на объект всегда отображается (значение по умолчанию). |
'off' | Указатель на объект скрыт в любом случае. |
'callback' | Указатель на объект отображается из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. |
InteractionsAllowed
— Интерактивность ROI'all'
(значение по умолчанию) | 'none'
| 'translate'
Интерактивность ROI в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
'all' | ROI является полностью межигровым. |
'none' | ROI не является межигровым, и никакие не перетаскивают точки, отображаются. |
'translate' | ROI может быть переведен (перемещенный) в области рисунка. |
Label
— Метка ROI''
(значение по умолчанию) | вектор символов | строковый скалярМетка ROI в виде вектора символов или строкового скаляра. По умолчанию ROI не имеет никакой метки (''
).
LabelAlpha
— Прозрачность фона текста
(значение по умолчанию) | номер в области значений [0, 1]Прозрачность фона текста в виде номера в области значений [0, 1]. Когда установлено в 1
, фон текста абсолютно непрозрачен. Когда установлено в 0
, фон текста абсолютно прозрачен.
LabelTextColor
— Цвет текста метки'black'
(значение по умолчанию) | триплет RGB | название цвета | короткое название цветаЦвет текста метки в виде триплета RGB, названия цвета или короткого названия цвета.
Можно задать любой цвет с помощью триплета RGB. Триплет RGB является вектором-строкой с 3 элементами, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1].
Можно задать некоторые простые цвета по наименованию как строковый скаляр или вектор символов. Эта таблица приводит опции именованного цвета и эквивалентные триплеты RGB.
Название цвета | Краткое название | Триплет RGB | Внешний вид |
---|---|---|---|
'red' | 'r' | [1 0 0]
|
|
'green' | 'g' | [0 1 0]
|
|
'blue' | 'b' | [0 0 1]
|
|
'cyan'
| 'c' | [0 1 1]
|
|
'magenta' | 'm' | [1 0 1]
|
|
'yellow' | 'y' | [1 1 0]
|
|
'black' | 'k' | [0 0 0]
|
|
'white' | 'w' | [1 1 1]
|
|
Вот триплеты RGB для цветов по умолчанию, которые MATLAB использует во многих типах графиков.
Триплет RGB | Внешний вид |
---|---|
[0 0.4470 0.7410]
|
|
[0.8500 0.3250 0.0980]
|
|
[0.9290 0.6940 0.1250]
|
|
[0.4940 0.1840 0.5560]
|
|
[0.4660 0.6740 0.1880]
|
|
[0.3010 0.7450 0.9330]
|
|
[0.6350 0.0780 0.1840]
|
|
Пример: 'LabelTextColor','r'
Пример: 'LabelTextColor','green'
Пример: 'LabelTextColor',[0 0.4470 0.7410]
LabelVisible
— Видимость метки ROI'on'
(значение по умолчанию) | 'off'
| 'hover'
| 'inside'
Видимость метки ROI в виде одного из этих значений:
Значение | Описание |
---|---|
'on' | Метка отображается, когда ROI отображается и Label свойство непусто (значение по умолчанию). |
'hover' | Метка отображается только, когда мышь наводит на ROI. |
'inside' | Метка отображается только, когда там соответствует пробел в ROI, чтобы отобразить его. |
'off' | Метка не отображается. |
LineWidth
— Ширина границы ROIШирина ROI граничит в виде положительного числа в точках. Значением по умолчанию является три раза число точек на экранный пиксель, такой, что граница три пикселя шириной.
MarkerSize
'MarkerSize' Размер маркера в виде положительного числа в точках. Значением по умолчанию является восемь раз число точек на экранный пиксель, такой, что маркеры составляют восемь пикселей в размере.
Parent
— Родительский элемент ROIAxes
возразите | UIAxes
объектРодительский элемент ROI в виде Axes
или UIAxes
объект. Для получения информации об использовании ROI в UIAxes, включая важные ограничения, смотрите Используя ROI в Приложениях, Созданных с App Designer.
Position
— Положение ROIПоложение ROI в виде числового вектора 1 на 4 из формы [xmin, ymin, width, height]
xmin
и ymin
задайте местоположение левого верхнего угла прямоугольника. width
и height
задайте степень к прямоугольнику в двух измерениях.
Rotatable
— Прямоугольник может вращатьсяfalse
(значение по умолчанию) | true
Прямоугольник может вращаться в виде true
или false
. Когда значением является false
(значение по умолчанию), прямоугольник не может вращаться. Когда значением является true
, можно вращать прямоугольник путем нажатия около маркеров в углах.
RotationAngle
— Угол вокруг центра прямоугольника
(значение по умолчанию) | числовой скалярУгол вокруг центра прямоугольника в виде числового скаляра. Угол измеряется в градусах в направлении по часовой стрелке. Значение этого свойства изменяется автоматически, когда вы чертите или перемещаете ROI.
Значение RotationAngle
не влияет на значения в Position
. Position
свойство представляет исходное положение ROI перед вращением. Чтобы определить местоположение вращаемого ROI, используйте Vertices
свойство.
Selected
— Состояние выбора ROIfalse
(значение по умолчанию) | true
Состояние выбора ROI в виде логического значения true
или false
. Можно также установить это свойство в интерактивном режиме. Например, нажатие на ROI выбирает ROI и устанавливает это свойство на true
. Точно так же нажатие клавиши Ctrl и нажатие на ROI отменяют выбор ROI и устанавливают значение этого свойства к false
.
SelectedColor
— Цвет ROI, когда выбрано'none'
(значение по умолчанию) | триплет RGB | название цвета | короткое название цветаЦвет ROI, когда выбрано в виде триплета RGB, названия цвета, короткого названия цвета или 'none'
. Если вы задаете 'none'
, затем значение Color
задает цвет ROI для всех состояний, выбранных или нет.
Можно задать любой цвет с помощью триплета RGB. Триплет RGB является вектором-строкой с 3 элементами, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1].
Можно задать некоторые простые цвета по наименованию как строковый скаляр или вектор символов. Эта таблица приводит опции именованного цвета и эквивалентные триплеты RGB.
Название цвета | Краткое название | Триплет RGB | Внешний вид |
---|---|---|---|
'red' | 'r' | [1 0 0]
|
|
'green' | 'g' | [0 1 0]
|
|
'blue' | 'b' | [0 0 1]
|
|
'cyan'
| 'c' | [0 1 1]
|
|
'magenta' | 'm' | [1 0 1]
|
|
'yellow' | 'y' | [1 1 0]
|
|
'black' | 'k' | [0 0 0]
|
|
'white' | 'w' | [1 1 1]
|
|
Вот триплеты RGB для цветов по умолчанию, которые MATLAB использует во многих типах графиков.
Триплет RGB | Внешний вид |
---|---|
[0 0.4470 0.7410]
|
|
[0.8500 0.3250 0.0980]
|
|
[0.9290 0.6940 0.1250]
|
|
[0.4940 0.1840 0.5560]
|
|
[0.4660 0.6740 0.1880]
|
|
[0.3010 0.7450 0.9330]
|
|
[0.6350 0.0780 0.1840]
|
|
Пример: 'SelectedColor','r'
Пример: 'SelectedColor','green'
Пример: 'SelectedColor',[0 0.4470 0.7410]
StripeColor
— Цвет дорожки ROI'none'
(значение по умолчанию) | триплет RGB | название цвета | короткое название цветаЦвет ROI чередует в виде триплета RGB, названия цвета, короткого названия цвета или 'none'
. Если вы задаете 'none'
, затем ребро ROI является сплошным цветом, заданным Color
. В противном случае ребро ROI чередуется с цветами, чередующимися между цветами, заданными Color
и StripeColor
.
Можно задать любой цвет с помощью триплета RGB. Триплет RGB является вектором-строкой с 3 элементами, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1].
Можно задать некоторые простые цвета по наименованию как строковый скаляр или вектор символов. Эта таблица приводит опции именованного цвета и эквивалентные триплеты RGB.
Название цвета | Краткое название | Триплет RGB | Внешний вид |
---|---|---|---|
'red' | 'r' | [1 0 0]
|
|
'green' | 'g' | [0 1 0]
|
|
'blue' | 'b' | [0 0 1]
|
|
'cyan'
| 'c' | [0 1 1]
|
|
'magenta' | 'm' | [1 0 1]
|
|
'yellow' | 'y' | [1 1 0]
|
|
'black' | 'k' | [0 0 0]
|
|
'white' | 'w' | [1 1 1]
|
|
Вот триплеты RGB для цветов по умолчанию, которые MATLAB использует во многих типах графиков.
Триплет RGB | Внешний вид |
---|---|
[0 0.4470 0.7410]
|
|
[0.8500 0.3250 0.0980]
|
|
[0.9290 0.6940 0.1250]
|
|
[0.4940 0.1840 0.5560]
|
|
[0.4660 0.6740 0.1880]
|
|
[0.3010 0.7450 0.9330]
|
|
[0.6350 0.0780 0.1840]
|
|
Пример: 'StripeColor','r'
Пример: 'StripeColor','green'
Пример: 'StripeColor',[0 0.4470 0.7410]
Tag
— Пометьте, чтобы сопоставить с ROI''
(значение по умолчанию) | вектор символов | строковый скалярПометьте, чтобы сопоставить с ROI в виде вектора символов или строкового скаляра. Используйте значение тега, чтобы найти объект ROI в иерархии объектов с помощью findobj
функция.
UserData
— Данные, чтобы сопоставить с ROIДанные, чтобы сопоставить с ROI в виде любых данных MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, строку, символьный массив, таблицу или структуру. Rectangle
объект не использует эти данные.
Vertices
— Местоположения точек, в напряжении из прямоугольникаЭто свойство доступно только для чтения.
Местоположения точек на углах ROI, возвращенного как 4 2 числовая матрица.
Visible
— Видимость ROI'on'
(значение по умолчанию) | 'off'
| логическое значение включения - выключенияВидимость ROI в виде 'on'
или 'off'
, или как числовой или логический 1
(TRUE) или 0
ложь. Значение 'on'
эквивалентно истине и 'off'
эквивалентно лжи. Значение хранится как логическое значение включения - выключения типа OnOffSwitchState
.
Значение | Описание |
---|---|
'on' | Отобразите ROI. |
'off' | Скройте ROI, не удаляя его. Все еще можно получить доступ к свойствам невидимого ROI. |
addlistener | Создайте прослушиватель события, связанный с источником события |
beginDrawingFromPoint | Начните чертить ROI от заданной точки |
bringToFront | Перенесите ROI на передний план порядка размещения Осей |
createMask | Создайте бинарный рисунок маски из ROI |
draw | Начните чертить ROI в интерактивном режиме |
inROI | Запросите, расположены ли точки в ROI |
wait | Блокируйте командную строку MATLAB, пока операция ROI не будет закончена |
Считайте изображение в рабочую область и отобразите его.
I = imread('baby.jpg');
figure
imshow(I)
Создайте прямоугольный ROI на изображении, с помощью Position
параметр, чтобы задать его местоположение и размер. Пример также указывает, что ребро прямоугольника является чередуемой линией. Для программно созданных ROI, если вы хотите ROI, чертивший в определенные оси, необходимо указать что оси как входной параметр. В противном случае, экземпляр images.roi.Rectangle
класс создан, но не отображен. В этом примере задайте текущую систему координат (gca
) чертить ROI на изображении в этом оси.
h = images.roi.Rectangle(gca,'Position',[500,500,1000,1000],'StripeColor','r');
Считайте изображение в рабочую область.
I = imread('cameraman.tif');
Отобразите изображение.
imshow(I);
Чертите Прямоугольный ROI на изображении. Поскольку этот пример задает длину и местоположение ROI, вы не должны вызывать draw
метод, чтобы включить интерактивный рисунок.
roi = images.roi.Rectangle(gca,'Position',[80,45,80,100]);
Настройте прослушиватели для ROI движущиеся события. Когда вы перемещаете его, ROI отправляет уведомления об этих событиях и выполняет функцию обратного вызова, которую вы задаете.
addlistener(roi,'MovingROI',@allevents); addlistener(roi,'ROIMoved',@allevents);
allevents
функция обратного вызова отображает в командной строке предыдущее положение и текущее положение ROI.
function allevents(src,evt) evname = evt.EventName; switch(evname) case{'MovingROI'} disp(['ROI moving Previous Position: ' mat2str(evt.PreviousPosition)]); disp(['ROI moving Current Position: ' mat2str(evt.CurrentPosition)]); case{'ROIMoved'} disp(['ROI moved Previous Position: ' mat2str(evt.PreviousPosition)]); disp(['ROI moved Current Position: ' mat2str(evt.CurrentPosition)]); end end
Чтобы получить уведомление от ROI, когда определенные события произойдут, настройте listeners для этих событий. Можно задать функцию обратного вызова, которая выполняется, когда одно из этих событий имеет место. Когда ROI уведомляет ваше приложение через прослушиватель, это возвращает данные, характерные для события. Посмотрите на класс событий для определенного события, чтобы видеть то, что возвращено.
Для примера смотрите Настроенные Прослушиватели для Прямоугольных Событий ROI.
EventName | Триггер | Данные о событиях | Атрибуты события |
---|---|---|---|
DeletingROI | ROI собирается быть в интерактивном режиме удаленным. | event.EventData |
|
DrawingStarted | ROI собирается в интерактивном режиме чертиться. | event.EventData |
|
DrawingFinished | ROI в интерактивном режиме чертился. | event.EventData |
|
MovingROI | Форма ROI или местоположение в интерактивном режиме изменяются. | images.roi.RectangleMovingEventData |
|
ROIMoved | Форма ROI или местоположение были в интерактивном режиме изменены. | images.roi.RectangleMovingEventData |
|
ROIClicked | По ROI кликнули. | images.roi.ROIClickedEventData |
|
Чертить ROI в интерактивном режиме с помощью draw
или drawrectangle
функция, расположите курсор на оси и перетаскивание, чтобы создать форму. Чтобы закончить ROI, отпустите кнопку мыши.
ROI поддерживает следующую интерактивность, включая горячие клавиши.
Поведение | Горячая клавиша |
---|---|
Отмена, чертящая ROI. | Нажмите Esc. Функция возвращает допустимый объект ROI с пустым Position свойство. |
Измените размер (изменяют) ROI. | Расположите курсор над вершиной и затем перетащите. Прямоугольник имеет вершины в каждом углу и в средней точке каждой стороны. Чтобы сохранить соотношение сторон при изменении размеров, нажмите клавишу Shift. Чтобы заблокировать соотношение сторон, используйте Fix Aspect Ratio в контекстном меню щелчка правой кнопкой. |
Переместите ROI. | Расположите курсор над ROI. Курсор превращается в форму fleur. Перетащите ROI. |
Удалите ROI. | Расположите указатель на прямоугольник, щелкните правой кнопкой и выберите Delete Rectangle из контекстного меню. Можно также удалить ROI программно с помощью delete функция. |
Для получения информации об использовании ROI в приложении, созданном с App Designer, смотрите Используя ROI в Приложениях, Созданных с App Designer.
UIContextMenu
свойство не рекомендуетсяНе рекомендуемый запуск в R2020a
Запуск в R2020a, использование UIContextMenu
свойство присвоить контекстное меню графическому объекту или компоненту пользовательского интерфейса не рекомендуется. Используйте ContextMenu
свойство вместо этого. Значения свойств являются тем же самым.
Нет никаких планов удалить поддержку UIContextMenu
свойство в это время. Однако UIContextMenu
свойство больше не появляется в списке, возвращенном путем вызова get
функция на графическом объекте или компоненте пользовательского интерфейса.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.