imdistline

Описание

Объект imdistline является типом imline, который инкапсулирует инструмент Distance, который состоит из интерактивной строки по изображению, соединенному с текстовой меткой, которая отображает расстояние между конечными точками строки.

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

Создание

Синтаксис

h = imdistline
h = imdistline(hparent)
h = imdistline(___,x,y)

Описание

пример

h = imdistline создает инструмент Distance на текущей системе координат. Функция возвращает h, указатель на объект imdistline.

h = imdistline(hparent) создает перемещаемый инструмент Distance на объекте, заданном hparent.

пример

h = imdistline(___,x,y) создает инструмент Distance с конечными точками в положениях, заданных x и y.

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

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

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

x- конечных точек, заданных как числовой вектор с 2 элементами.

Пример: h = imdistline(gca,[10 100],[20 40]); устанавливает первую конечную точку в (x, y) координата (10, 20) и вторую конечную точку в координате (100, 40).

y- конечных точек, заданных как числовой вектор с 2 элементами.

Пример: h = imdistline(gca,[10 100],[20 40]); устанавливает первую конечную точку в (x, y) координата (10, 20) и вторую конечную точку в координате (100, 40).

Свойства

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

ROI может быть удален, задан как true или false.

Типы данных: логический

Использование

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

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

Поведение инструмента расстоянияЭлемент контекстного меню
Экспортируйте конечную точку и данные о расстоянии к рабочей областиВыберите Export to Workspace из контекстного меню.
Переключите метку расстояния вкл\выкл.Выберите Show Distance Label из контекстного меню.
Задайте горизонтальные и вертикальные ограничения перетаскиванияВыберите Constrain Drag из контекстного меню.
Изменитесь цвет раньше отображал строку.Выберите Set Color из контекстного меню.
Удалите объект инструмента DistanceВыберите Delete из контекстного меню.

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

addNewPositionCallbackДобавьте ново-позиционный коллбэк в объект ROI
createMaskСоздайте маску в изображении
deleteУдалите объект указателя
getAngleFromHorizontalВозвратите угол между инструментом Distance и горизонтальной осью
getColorДоберитесь цвет раньше чертил объект ROI
getDistanceВозвратите расстояние между конечными точками инструмента Distance
getLabelHandleВозвратите указатель на текстовую метку инструмента Distance
getLabelTextFormatterВозвратите формат текстовой метки инструмента Distance
getLabelVisibleВозвратите видимость текстовой метки инструмента Distance
getPositionВозвратите текущее положение объекта ROI
getPositionConstraintFcnВозвратите указатель на функцию в ограничительную функцию текущего положения
removeNewPositionCallbackУдалите ново-позиционный коллбэк из объекта ROI
resume(Не рекомендуемый) выполнение Резюме командной строки MATLAB
setColorВыберите цвет, используемый, чтобы чертить объект ROI
setConstrainedPositionУстановите объект ROI на новое положение
setLabelTextFormatterУстановите формат, используемый, чтобы отобразить текстовую метку инструмента Distance
setLabelVisibleУстановите видимость текстовой метки инструмента Distance
setPositionПереместите объект ROI в новое положение
setPositionConstraintFcnУстановите ограничительную функцию положения объекта ROI
wait(Не рекомендуемый), командная строка MATLAB Блока, пока создание ROI не закончено

Примечание

Каждая функция, которая принимает imline также, принимает imdistline. Эти объекты задают положение таким же образом.

Примеры

Вставьте инструмент расстояния в изображение

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

imshow('pout.tif');
h = imdistline;
fcn = makeConstrainToRectFcn('imline',...
                              get(gca,'XLim'),get(gca,'YLim'));
setDragConstraintFcn(h,fcn);   

Конечные точки положения инструмента расстояния

Конечные точки положения инструмента Distance в заданных местоположениях.

imshow('pout.tif');
h = imdistline(gca,[10 100],[10 100]);

Удалите инструмент Distance.

delete(h)

Используйте инструмент расстояния с пространственной ссылкой

Используйте инструмент Distance с XData и YData связанного изображения в непиксельных модулях. Этот пример требует изображения boston.tif от программного обеспечения Mapping Toolbox™, которое включает материал, защищенный авторским правом GeoEye™, все права защищены.

start_row = 1478;
end_row = 2246;
meters_per_pixel = 1;
rows = [start_row meters_per_pixel end_row];
start_col = 349;
end_col = 1117;
cols = [start_col meters_per_pixel end_col];
img  = imread('boston.tif','PixelRegion',{rows,cols});
figure; 
hImg = imshow(img);
title('1 meter per pixel');

Задайте исходное положение инструмента расстояния на Харвард-Бридж.

hline = imdistline(gca,[271 471],[108 650]);
setLabelTextFormatter(hline,'%02.0f meters');

Повторите процесс, но работайте с выбранным изображением 2 метров за пиксель. Проверьте, что то же расстояние получено.

meters_per_pixel = 2;
rows = [start_row meters_per_pixel end_row];
cols = [start_col meters_per_pixel end_col];
img  = imread('boston.tif','PixelRegion',{rows,cols});
figure;    
hImg = imshow(img);
title('2 meters per pixel');

Преобразуйте XData и YData к метрам с помощью коэффициента преобразования.

XDataInMeters = get(hImg,'XData')*meters_per_pixel; 
YDataInMeters = get(hImg,'YData')*meters_per_pixel;

Установите XData и YData изображения отражать желаемые модули.

set(hImg,'XData',XDataInMeters,'YData',YDataInMeters);    
set(gca,'XLim',XDataInMeters,'YLim',YDataInMeters);

Задайте исходное положение инструмента расстояния на Харвард-Бридж.

hline = imdistline(gca,[271 471],[108 650]);
setLabelTextFormatter(hline,'%02.0f meters');        

Советы

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

Смотрите также

| |

Представлено до R2006a