Freehand

Freehand необходимой области

Описание

Freehand является объектом, нарисованным вручную, представляющим интерес (ROI).

Чтобы нарисовать информация только для чтения, установите курсор на изображении и щелкните и перетащите мышью, чтобы нарисовать форму ROI. Чтобы завершить информация только для чтения, отпустите кнопку мыши. Для получения дополнительной информации об использовании информации только для чтения freehand, включая горячие клавиши, смотрите Советы.

Создание

Описание

Как создать Freehand объект, используйте images.roi.Freehand функция создания. После создания объекта вызовите draw функция объекта для начала рисования. Для удобства можно также использовать drawfreehand функция для создания Freehand Информация только для чтения. drawfreehand функция создает объект информация только для чтения и вызывает draw функция объекта для вас.

пример

roi = images.roi.Freehand создает образец images.roi.Freehand класс со свойствами по умолчанию.

roi = images.roi.Freehand(ax) создает информация только для чтения в осях, заданных ax.

roi = images.roi.Freehand(___,Name,Value) устанавливает свойства с помощью пар "имя-значение". Для примера, images.roi.Freehand('Color','y') устанавливает цвет Freehand объект желтый. Можно задать несколько пары "имя-значение". Заключайте каждое имя свойства в одинарные кавычки.

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

расширить все

Родительский элемент информация только для чтения, заданный как Axes объект или UIAxes объект. Для получения информации об использовании информация только для чтения в UIAxes, включая важные ограничения, смотрите Использование ROI в приложениях, созданных с помощью App Designer.

Свойства

расширить все

Закройте информацию только для чтения freehand, заданную как логическое значение true или false. Если true (по умолчанию), images.roi.Freehand автоматически закрывает информация только для чтения путем соединения последней точки, нарисованной к первой точке, нарисованной при указании на завершенный чертеж.

Информация только для чтения, заданный как MATLAB® ColorSpec (Color Specification).

Пример: 'green'

Пример: 'g'

Пример: [0 1 0]

Контекстное меню, заданное как ContextMenu объект. Используйте это свойство для отображения пользовательского контекстного меню при щелчке правой кнопкой мыши по информация только для чтения. Вы можете создать пользовательское контекстное меню с помощью uicontextmenu а затем конфигурирование свойств контекстного меню.

Информация только для чтения может быть удален в интерактивном режиме через контекстное меню, заданное как true или false. Когда значение true (по умолчанию), можно удалить информация только для чтения через контекстное меню. Чтобы отключить этот элемент контекстного меню, задайте для этого свойства значение false. Когда значение установлено в false, вы все еще можете удалить информация только для чтения, позвонив в delete функция, указывающая указатель на информация только для чтения в качестве входов.

Область осей, в которой можно в интерактивном режиме разместить информация только для чтения, заданную в качестве одного из значений в этой таблице.

ЗначениеОписание
'auto'Область рисования является текущими системами координат (по умолчанию).
'unlimited'Область рисования не имеет контуров, и ROI можно рисовать или перетаскивать, чтобы выйти за пределы осей.
[x,y,w,h]Область рисования ограничена прямоугольной областью, начинающейся в (x, y) и продолжающейся до w ширины и h высоты.

Прозрачность информации только для чтения грани, заданная в виде числового скаляра значения в область значений [0 1]. Когда значение 1, ROI лицо полностью непрозрачно. Когда значение 0, ROI лицо полностью прозрачно.

Информация только для чтения может захватывать нажатия кнопки, заданные как true или false. Когда true (по умолчанию), информация только для чтения захватывает клики мыши. Когда false, информации только для чтения лицо не захватывает клики мыши.

Видимость указателя информация только для чтения в Children свойство родительского элемента, заданное как одно из значений в этой таблице.

ЗначениеОписание
'on'Указатель на объект всегда отображается (по умолчанию).
'off'Указатель на объект всегда скрыт.
'callback' Указатель на объект виден из коллбэков или функций, вызываемых коллбэками, но не из функций, инициируемых из командной строки.

Интерактивность информация только для чтения, заданная как одно из значений в этой таблице.

ЗначениеОписание
'all'Информация только для чтения полностью интерактивен (по умолчанию).
'none'Информация только для чтения не является интерактивным, и точки перетаскивания не видны.
'translate'Информация только для чтения может быть переведен (перемещен) в пределах области рисования, но не изменен.
'reshape'Информация только для чтения может быть изменен, но не переведен.

Информация только для чтения, заданная как вектор символов или строка. По умолчанию информация только для чтения не имеет метки ('').

Прозрачность текстового фона, заданная как скалярное значение в области значений [0 1]. Когда установлено значение 1, текстовый фон полностью непрозрачен. Когда установлено значение 0, текстовый фон полностью прозрачен.

Пометьте цвет текста, заданный как MATLAB ColorSpec (Color Specification). Интенсивность должна быть в области значений [0,1].

Видимость метки информация только для чтения, заданная как одно из следующих значений:

ЗначениеОписание
'on'Метка видна, когда информация только для чтения виден и Label свойство непусто (по умолчанию).
'hover'Метка видна только при наведении указателя мыши на информация только для чтения.
'off'Метка не отображается.

Ширина ребра информация только для чтения, заданная как положительный числовой скаляр в точках. Значение по умолчанию втрое превышает число точек на пиксель экрана.

Размер маркера, заданный как положительное числовое скалярное значение в точках.

Управление стилем чертежа freehand во время интерактивного размещения, заданным как логическое значение true или false. Когда значение false (по умолчанию), нажатий кнопки и перетаскивание жеста завершает ROI freehand. Когда значение true, несколько жестов клика и перетаскивания могут быть объединены с прямыми ребрами, чтобы сделать более сложную форму ROI freehand.

Информация только для чтения родительский элемент, заданный как Axes или UIAxes объект. Для получения информации об использовании информация только для чтения в UIAxes, включая важные ограничения, смотрите Использование ROI в приложениях, созданных с помощью App Designer.

Положение информация только для чтения, заданное как n-на-2 числовой массив вида [x1 y1;...;xn yn], где n является числом точек. Каждая строка задает положение точки, определяющей информация только для чтения. Freehand генерирует эти точки при рисовании информации только для чтения формы. Чтобы работать с меньшим количеством точек, используйте reduce функция объекта.

Состояние выбора информация только для чтения, заданное как логическое значение true или false. Вы также можете задать это свойство в интерактивном режиме. Например, нажатие на информация только для чтения выбирает информация только для чтения и устанавливает это свойство на true. Точно так же нажатие клавиши Ctrl и щелчок по информация только для чтения отменяет выбор информация только для чтения и устанавливает значение этого свойства равным false.

Цвет ROI, заданный как MATLAB ColorSpec (Color Specification). Интенсивность должна быть в области значений [0,1]. Если 'SelectedColor' установлено в 'none', затем значение Color определяет цвет ROI для всех выбранных состояний или нет.

Пример: 'green'

Пример: 'g'

Пример: [0 1 0]

Сглаживайте ребро информация только для чтения во время интерактивного размещения, заданный как неотрицательный скаляр. The Freehand объект использует стандартное отклонение Гауссова сглаживающего ядра, чтобы фильтровать x и y координаты информация только для чтения. Этот параметр определяет размер фильтра как в этом уравнении: 2*ceil(2*Smoothing) + 1. Необходимо задать параметр перед интерактивным рисованием информация только для чтения. Эффект сглаживания можно увидеть только после завершения чертежа.

Цвет полосы информация только для чтения, заданный как MATLAB ColorSpec (Color Specification) значение. По умолчанию ребро информация только для чтения является твердым окрашенным. Если вы задаете StripeColor, информация только для чтения ребра полосатый. Чередование состоит из комбинации значений, заданных как 'Color' и это значение.

Пример: 'green'

Пример: 'g'

Пример: [0 1 0]

Тег для связи с информация только для чтения, заданный как вектор символов или строка. Используйте значение тега для поиска объекта информация только для чтения в иерархии объектов с помощью findobj функция.

Данные для связи с информация только для чтения, заданные как любые данные MATLAB. Для примера можно задать скаляр, вектор, матрицу, массив ячеек, строку, символьный массив, таблицу или структуру. MATLAB не использует эти данные.

Видимость информация только для чтения, заданная как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

ЗначениеОписание
'on'Отобразите информация только для чтения (по умолчанию).
'off'Скрыть информация только для чтения, не удаляя его. Вы по-прежнему можете получить доступ к свойствам невидимого информация только для чтения.

Управляющие точки, используемые для изменения формы ROI, заданные как n -by-1 логический массив той же длины, что и Position свойство. Элементы в Waypoints со значением true идентифицируйте точки в Position массив, которые являются путевыми точками. По умолчанию Freehand генерирует все точки, которые определяют информация только для чтения, и делает точки только в местах повышенной кривизны в путевые точки. Можно превратить все точки или некоторое подмножество точек в путевые точки с помощью кода, подобного roi.Waypoints(1:4:end) = true;.

Точки пути появляются как округлые фигуры на ребре информация только для чтения. Можно использовать путевые точки для изменения формы ROI, нажав и перетащив путевую точку мышью. Перемещение путевых точек изменяет нарисованную свободным путем область между захваченной путевой точкой и ближайшими соседними путевыми точками.

Функции объекта

addlistenerСоздайте прослушиватель событий, привязанный к источнику событий
beginDrawingFromPointНачните рисование информация только для чтения из заданной точки
bringToFrontПриведите информацию только для чтения к Оси порядка размещения
createMaskСоздайте двухкомпонентное изображение маски из информация только для чтения
drawНачните рисование информация только для чтения в интерактивном режиме
inROIЗапросите, расположены ли точки в информация только для чтения
reduceУменьшите плотность точек в информация только для чтения
waitБлокируйте командную строку MATLAB до завершения операции ROI

Примеры

свернуть все

Прочтите изображение в рабочую область и отобразите его.

I = imread('baby.jpg');
figure
imshow(I)

Figure contains an axes. The axes contains an object of type image.

Создайте информацию только для чтения freehand на изображении, используя Position свойство для задания вершин информация только для чтения. Для программно созданных ROI, если необходимо нарисовать информацию только для чтения в определенных осях, необходимо задать эту ось как входной параметр. В противном случае образец images.roi.Freehand класс создается, но не отображается. В этом примере задайте текущие системы координат (gca), чтобы нарисовать информация только для чтения на изображении в этих осях.

h = images.roi.Freehand(gca,'Position',[100 150;200 250;300 350;150 450]);

Figure contains an axes. The axes contains 2 objects of type image, images.roi.freehand.

Чтение изображения в рабочую область.

I = imread('cameraman.tif');

Отобразите изображение.

imshow(I);

Нарисуйте freehand ROI на изображении. Поскольку этот пример задает размер и местоположение информация только для чтения, вы не должны вызывать draw метод включения интерактивного рисования.

roi = images.roi.Freehand(gca,'Position',[10 15;100 50;100 150;15 145]);

Настройка прослушивателей для движущихся событий информация только для чтения. Когда вы перемещаете его, информация только для чтения отправляет уведомления об этих событиях и выполняет указанную вами функцию обратного вызова.

addlistener(roi,'MovingROI',@allevents);
addlistener(roi,'ROIMoved',@allevents);

The allevents функция обратного вызова отображает в командной строке предыдущее положение и текущее положение Freehand Информация только для чтения.

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

Подробнее о

расширить все

Совет

  • Эта информация только для чтения поддерживает следующую интерактивность, включая горячие клавиши.

    ПоведениеГорячая клавиша
    Отмена рисования информация только для чтения.Нажмите Esc. Функция возвращает допустимый объект информация только для чтения с пустым Position поле.
    Завершите рисование (закройте) информация только для чтения.

    Дважды кликните, который добавляет точку в положение указателя и рисует линию, соединяющую эту точку с первой нарисованной точкой, закрывая информация только для чтения.

    Щелкните правой кнопкой мыши, чтобы нарисовать линию, соединяющую последнюю точку с первой нарисованной точкой.

    Наведите указатель мыши на первую точку и щелкните мышью.

    Нажмите кнопку Enter, которая рисует линию, соединяющую последнюю точку с первой нарисованной точкой.

    Измените размер (измените форму) информация только для чтения.

    Наведите указатель мыши на путевую точку, а затем щелкните и перетащите мышью. В этом режиме отсутствует помощь (привязка к ребрам).

    Добавьте путевую точку.

    Поместите указатель мыши на ребро информация только для чтения, щелкните правой кнопкой мыши и выберите Add Waypoint. Можно также расположить указатель мыши на краю информация только для чтения и дважды щелкнуть мышью.

    Удалите путевую точку.

    Поместите указатель мыши на путевую точку, щелкните правой кнопкой мыши и выберите Remove Waypoint.

    Переместите информация только для чтения.Наведите указатель мыши на информация только для чтения. Указатель изменяется на форму fleur. Щелкните и перетащите мышью, чтобы переместить информация только для чтения.
    Удаление информация только для чтения.Поместите указатель мыши на информация только для чтения (не на вершине), щелкните правой кнопкой мыши и выберите Delete Freehand из контекстного меню. Можно также программно удалить информация только для чтения с помощью delete метод объекта.
  • Для получения информации об использовании информация только для чтения в приложении, созданном с помощью App Designer, смотрите Использование ROI в приложениях, созданных с помощью App Designer.

Вопросы совместимости

расширить все

Не рекомендуемый запуск в R2020a

Введенный в R2018b