drawcrosshair

Создайте настраиваемый перекрестный информация только для чтения

Описание

пример

roi = drawcrosshair создает Crosshair объект и позволяет проводить интерактивное рисование представляющей интерес перекрестной видимой области (ROI) на текущей системе координат. Поперечная информация только для чтения состоит из двух перпендикулярных линий, которые являются полной шириной и высотой осей.

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

Примечание

drawcrosshair является функцией удобства для создания перекрестного объекта информация только для чтения. Если вы создаете объект информация только для чтения непосредственно, путем вызова Crosshair, вы должны вызвать draw функция объекта для включения интерактивного рисования информация только для чтения. Напротив, drawcrosshair функция создает объект информация только для чтения и вызывает draw функция объекта для вас. После создания информация только для чтения с помощью любой из опций, для настройки ее внешнего вида и поведения необходимо использовать свойства объекта, функции объекта и уведомления о событиях. Дополнительные сведения об использовании этих возможностей см. в разделе Советы.

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

пример

roi = drawcrosshair(___,Name,Value) настраивает внешний вид и поведение информация только для чтения с помощью одной или нескольких пар "имя-значение". Для не заданных пар "имя-значение" задано значение по умолчанию.

Примеры

свернуть все

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

Создайте перекрестные информации только для чтения

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

figure;
imshow('pears.png')

Создайте перекрестный информация только для чтения на изображении с помощью drawcrosshair интерактивная функция. Наведите курсор на изображение в любом месте и щелкните, чтобы нарисовать информация только для чтения. Щелкните на ROI Center (точка пересечения горизонтальной линии с вертикальной линией), чтобы переместить информация только для чтения на изображение.

h = drawcrosshair();

Создайте перекрестный информация только для чтения программно

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

figure;
imshow('pears.png')

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

h = drawcrosshair('Position',[100 100]);

Изменение перекрестия информации только для чтения внешнего вида с помощью свойств

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

figure;
imshow('pears.png')

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

h = drawcrosshair('Position',[100 100]);

Используйте свойства объекта Crosshair, чтобы изменить линии в информация только для чтения, которые будут разделены полоской. Функция drawcrosshair возвращает Crosshair объект, который поддерживает многие свойства. Используйте StripeColor свойство для задания цвета полосы.

h.StripeColor = 'green';

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

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

Создайте перекрестный информация только для чтения.

h = drawcrosshair('Parent',hAx,'Position',[50 50],'LineWidth',1,'Color','y');

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

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

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

function displayInfo(src,data,hAx,img)
pos = ceil(data.CurrentPosition);
pixval = img(pos(2),pos(1));
src.Label = mat2str(pixval);
title(mat2str(pos));
end

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

свернуть все

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

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: roi = drawcrosshair(gca,'Position',[1000 1000]);

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

Пример: 'green'

Пример: 'g'

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

Контекстное меню, заданное как разделенная разделенными запятой парами, состоящая из 'ContextMenu' и a ContextMenu объект. Задайте эту пару "имя-значение", чтобы отобразить пользовательское контекстное меню при щелчке правой кнопкой мыши по информация только для чтения. Чтобы создать пользовательское контекстное меню, создайте ContextMenu объект, при помощи uicontextmenu а затем сконфигурируйте свойства контекстного меню.

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

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

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

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

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

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

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

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

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

Пометьте цвет текста, заданный как разделенная разделенными запятой парами, состоящая из 'LabelTextColor' и MATLAB ColorSpec (Color Specification) значение. Значения интенсивности должны находиться в области значений [0,1].

Видимость метки информация только для чтения, заданная как разделенная разделенными запятой парами, состоящая из 'LabelVisible' и одно из этих значений.

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

Метка видна только при наведении указателя мыши на информация только для чтения.

'off'Метка не отображается.

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

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

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

Состояние выбора информация только для чтения, заданное как разделенная разделенными запятой парами, состоящая из 'Selected' и true или false. Это значение можно также задать в интерактивном режиме. Для примера клик по информации только для чтения выбирает его и устанавливает это значение равным true. Точно так же, если вы Ctrl-click информация только для чтения, отменяет его выбор и устанавливает это значение на false.

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

Пример: 'green'

Пример: 'g'

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

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

Пример: 'green'

Пример: 'g'

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

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

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

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

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

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

свернуть все

Перекрестный информация только для чтения, возвращенный как Crosshair объект.

Совет

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

    ЗадачаОписание
    Отмена операции рисования.Начните рисование информация только для чтения и нажмите Esc перед выпуском мыши. Функция возвращает допустимый объект информация только для чтения с пустым Position свойство.
    Переместите информация только для чтения.Наведите указатель мыши на информация только для чтения. Указатель изменяется на гибкую форму. Щелкните и перетащите мышью, чтобы переместить информация только для чтения.
    Удалите информация только для чтения.Наведите указатель мыши на информация только для чтения и щелкните правой кнопкой мыши, чтобы просмотреть его контекстное меню. Выберите Delete Crosshair из меню. Вы также можете удалить информация только для чтения с помощью delete функция объекта.
  • The drawcrosshair функция возвращает Crosshair Объект информация только для чтения. После создания используйте эти возможности объекта, чтобы настроить внешний вид и поведение информация только для чтения.

    • Свойства объекта - объекты информация только для чтения поддерживают свойства, которые изменяют их внешний вид или поведение. Например, чтобы изменить цвет roi в желтый цвет, установите его Color свойство, roi.Color = 'yellow'.

    • Функции объекта - объекты информация только для чтения поддерживают набор функций объекта, которые работают с ROIs. Например, если вы хотите приостановить командную строку MATLAB после создания информация только для чтения, вызовите wait функция объекта.

    • Уведомления о событиях - объекты информация только для чтения могут уведомлять ваш код, когда определенные события, такие как перемещение или клик, происходят с информация только для чтения. Чтобы получать эти уведомления, используйте addlistener объект для настройки listeners для определенных событий. В прослушиватель задайте событие, например 'ROIMoved', и функцию обратного вызова, которая выполняется, когда событие происходит. Когда информация только для чтения уведомляет ваше приложение через прослушиватель, он возвращает данные, характерные для события. Для примера, с 'ROIMoved' событие, объект информация только для чтения возвращает свою предыдущую позицию и текущую позицию.

    Для примера использования прослушивателей событий с Crosshair объект, см. «Отображаемое значение пикселя, заданное Crosshair ROI». Для получения дополнительной информации об этих возможностях смотрите Crosshair документация по объекту.

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

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

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

Введенный в R2019b