Crosshair

Необходимая область перекрестия

Описание

Crosshair объект является видимой областью (ROI) перекрестия.

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

Создание

Описание

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

пример

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

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

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

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

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

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

Свойства

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

Цвет ROI в виде MATLAB® ColorSpec (Color Specification).

Пример: 'green'

Пример: 'g'

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

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

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

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

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

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

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

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

ЗначениеОписание
'all'ROI является полностью межигровым (значение по умолчанию).
'none'ROI не является межигровым, и никакие не перетаскивают точки, отображаются.

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

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

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

Видимость метки ROI в виде одного из этих значений:

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

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

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

Положение ROI в виде 1 2 числового массива формы [x y]. Значения x и y задайте x - и y - координаты местоположения, где горизонтальная линия пересекает вертикальную линию в ROI перекрестия. Это значение изменяется автоматически, когда вы чертите или перемещаете ROI.

Состояние выбора 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 чередует в виде MATLAB ColorSpec (Color Specification) значение. По умолчанию ребро ROI твердо окрашенный. Если вы задаете StripeColor, ребро ROI чередуется. Чередование состоит из комбинации значения, заданного 'Color' и это значение.

Пример: 'green'

Пример: 'g'

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

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

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

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

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

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

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

Примеры

свернуть все

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

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

Поместите ROI перекрестия в изображение программно. Когда вы задаете положение ROI, необходимо задать оси.

h = images.roi.Crosshair(gca,'Position',[100,100]);

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

img = imread('coins.png');

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

hAx = gca;
imObj = imshow(img,'Parent',hAx);
imObj.Parent.Visible = 'on';

Создайте ROI перекрестия на изображении.

h = images.roi.Crosshair('Parent',hAx,'Position',[50 50],'LineWidth',1,'Color','y');

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

addlistener(h,'MovingROI',@(src,data)displayInfo(src,data,hAx,img));

Задайте displayInfo функция вызвана прослушивателем когда 'MovingROI' событие имеет место.

function displayInfo(~,data,hAx,img)
pos = ceil(data.CurrentPosition);
title(hAx,['Pixel Value: ',num2str(img(pos(2),pos(1)))])
end

Внешний вид изображения с заголовком во время интерактивного перемещения ROI Перекрестия.

Больше о

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

Советы

  • Эта таблица описывает, как выполнить общие задачи с Crosshair ROI.

    ЗадачаОписание
    Отмените операцию рисования.Нажмите Esc. Функция возвращает допустимый объект ROI с пустым Position поле .
    Переместите ROI.Расположите курсор над центром ROI перекрестия (где эти два креста линий), и перетащите перекрестие. Другой способ переместить ROI перекрестия состоит в том, чтобы расположить курсор где угодно на одну из этих двух линий и нажатия кнопки. Другая линия на прицеле переходит к новой позиции центра перекрестия.
    Удалите ROI.Расположите курсор над ROI, щелкните правой кнопкой, и затем выберите Delete Crosshair из контекстного меню. Можно также удалить ROI программно при помощи delete объектная функция.
  • Для получения информации об использовании ROI в приложении, созданном с App Designer, смотрите Используя ROI в Приложениях, Созданных с App Designer.

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

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

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

Введенный в R2019b