exponenta event banner

AssistedFreehand

Регион, представляющий интерес

Описание

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

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

Создание

Описание

Создание AssistedFreehand объект, используйте images.roi.AssistedFreehand функция создания. После создания объекта вызовите draw функция объекта для начала рисования. В качестве удобства вы также можете использовать drawassisted для создания функции AssistedFreehand ОКУПАЕМОСТЬ ИНВЕСТИЦИЙ. drawassisted создает объект ROI и вызывает draw объектная функция для вас.

пример

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

roi = images.roi.AssistedFreehand(ax) создает ROI на осях, указанных ax.

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

Входные аргументы

развернуть все

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

Свойства

развернуть все

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

Цвет окупаемости инвестиций, указанный как MATLAB ®ColorSpec (Color Specification).

Пример: 'green'

Пример: 'g'

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

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

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

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

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

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

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

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

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

Изображение, на котором требуется нарисовать ROI, указанное как маркер к Image объект.

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

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

Метка ROI, заданная как символьный вектор или строка. По умолчанию ROI не имеет метки ('').

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

Цвет текста метки, заданный как MATLAB ColorSpec (Color Specification). Интенсивности должны находиться в диапазоне [0,1].

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

СтоимостьОписание
'on'Метка отображается при отображении ROI и Label свойство nonempty (по умолчанию).
'hover'Метка отображается только при наведении курсора мыши на ROI.
'off'Метка не видна.

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

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

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

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

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

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

Пример: 'green'

Пример: 'g'

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

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

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

Пример: 'green'

Пример: 'g'

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

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

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

roi = images.roi.AssistedFreehand;

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

draw(roi);

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

I = imread('cameraman.tif');

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

img = imshow(I);

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

roi = images.roi.AssistedFreehand(img);
draw(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 поддерживает следующую интерактивность, включая сочетания клавиш.

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

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

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

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

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

    Изменение размера (изменение формы) ROI.

    Наведите указатель на ППМ, а затем щелкните и перетащите. В этом режиме отсутствует помощь (привязка к кромкам).

    Добавьте ППМ.

    Поместите указатель на кромку ROI, щелкните правой кнопкой мыши и выберите «Добавить ППМ». Можно также разместить указатель на кромке ROI и дважды щелкнуть мышью.

    Удалите ППМ.

    Поместите указатель на ППМ, щелкните правой кнопкой мыши и выберите «Удалить ППМ».

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

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

развернуть все

Не рекомендуется начинать с R2020a

Представлен в R2018b