AssistedFreehand

Ассистируемый freehand необходимой области

Описание

AssistedFreehand представляет собой объект, представляющий интерес для нарисованной вручную видимой области (ROI), где линия, нарисованная автоматически, следует за ребрами в базовом изображении.

Чтобы нарисовать информация только для чтения, расположите указатель мыши на изображении, щелкните и отпустите, чтобы разместить первую вершину (путевую точку). Затем переместите указатель мыши, чтобы нарисовать линию. При рисовании линия автоматически следует за ребрами объектов на изображении. Дважды кликните, чтобы закончить информация только для чтения. Для получения дополнительной информации об использовании этой информации только для чтения, включая горячие клавиши, см. «Советы».

Создание

Описание

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

пример

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

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

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

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

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

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

Свойства

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

Закройте информацию только для чтения freehand, заданную как логическое значение true или false. Если true (по умолчанию), 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' Указатель на объект виден из коллбэков или функций, вызываемых коллбэками, но не из функций, инициируемых из командной строки.

Изображение, на котором можно нарисовать информация только для чтения, заданное как указатель на Image объект.

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример: 'green'

Пример: 'g'

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

Сглаживайте ребро информация только для чтения во время интерактивного размещения, заданный как неотрицательный скаляр. The AssistedFreehand объект использует стандартное отклонение Гауссова сглаживающего ядра, чтобы фильтровать 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 массив, которые являются путевыми точками. По умолчанию AssistedFreehand генерирует все точки, которые определяют информация только для чтения, и делает точки только в местах повышенной кривизны в путевые точки. Можно превратить все точки или некоторое подмножество точек в путевые точки с помощью кода, подобного roi.Waypoints(1:4:end) = true;.

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

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

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

Примеры

свернуть все

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

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

Создайте образец images.roi.AssistedFreehand класс. По умолчанию класс создает информация только для чтения на текущей системе координат. Обратите внимание, что оси должны содержать изображение.

roi = images.roi.AssistedFreehand;

Вызовите draw метод, задающий AssistedFreehand объект как аргумент. Указатель изменяется на форму поперечных волос, когда вы перемещаете его по изображению. Вы можете рисовать информация только для чтения. Обратите внимание, что при перемещении указателя линия, которую вы рисуете, следует за ребрами на базовом изображении. Щелкните, чтобы добавить вершины вдоль ребра во время рисования.

draw(roi);

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

I = imread('cameraman.tif');

Отобразите изображение. Используйте imshow синтаксис, который возвращает отображаемый объект изображения.

img = imshow(I);

Создайте AssistedFreehand Информация только для чтения на изображении. Вызовите draw функция объекта для включения интерактивного рисования формы ROI. Обратите внимание, что линия ROI автоматически следует ребра на базовом изображении.

roi = images.roi.AssistedFreehand(img);
draw(roi)

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

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

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

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