Инструмент расстояния
Система координат imdistline
объект инкапсулирует инструмент Distance, который состоит из интерактивной линии над изображением, в паре с текстовой меткой, которая отображает расстояние между конечными точками линии.
Размер и положение линии можно настроить при помощи мыши. У линия также есть контекстное меню, которое управляет аспектами его внешнего вида и поведения. Для получения дополнительной информации см. раздел Использование.
создает инструмент «Расстояние» для текущей системы координат. Функция возвращается h
= imdistlineh
, указатель на imdistline
объект.
создает перетаскиваемый инструмент «Расстояние» для объекта, заданного как h
= imdistline(hparent
)hparent
.
Чтобы переместить инструмент «Расстояние», поместите указатель мыши над линией, форма изменится на fleur,. Кликните и перетащите линию мышью. Чтобы изменить размер инструмента «Расстояние», наведите указатель мыши на любую из конечных точек линии, форма изменяется на указательный палец. Щелкните мышью и перетащите конечную точку линии.
Линия также поддерживает контекстное меню, которое позволяет управлять различными аспектами ее функционирования и внешнего вида. Щелкните правой кнопкой мыши по линии для доступа к контекстному меню.
Поведение инструмента Distance Tool | Элемент контекстного меню |
---|---|
Экспорт данных о конечной точке и расстоянии в рабочую область | Выберите Export to Workspace из контекстного меню. |
Включите/отключите метку расстояния. | Выберите Show Distance Label из контекстного меню. |
Задайте горизонтальные и вертикальные ограничения перетаскивания | Выберите Constrain Drag из контекстного меню. |
Измените цвет, используемый для отображения линии. | Выберите Set Color из контекстного меню. |
Удалите объект инструмента Distance | Выберите Delete из контекстного меню. |
addNewPositionCallback | Добавьте коллбэк с новой позицией к объекту информация только для чтения |
createMask | Создайте маску в изображении |
delete | Удалить указатель объекта |
getAngleFromHorizontal | Угол возврата между инструментом «Расстояние» и горизонтальной осью |
getColor | Получите цвет, используемый для рисования объекта информация только для чтения |
getDistance | Расстояние возврата между конечными точками инструмента «Расстояние» |
getLabelHandle | Возврат указателя на текстовую метку инструмента «Расстояние» |
getLabelTextFormatter | Формат возврата текстовой метки инструмента «Расстояние» |
getLabelVisible | Возвращает видимость текстовой метки инструмента «Расстояние» |
getPosition | Возврат текущей позиции объекта информация только для чтения |
getPositionConstraintFcn | Возвращает указатель на функцию ограничения текущего положения |
removeNewPositionCallback | Удалите коллбэк с новой позицией из объекта информация только для чтения |
resume | (Не рекомендуемый) Возобновить выполнение командной строки MATLAB |
setColor | Установите цвет, используемый для рисования объекта информация только для чтения |
setConstrainedPosition | Установите объект информация только для чтения в новое положение |
setLabelTextFormatter | Установите формат, используемый для отображения текстовой метки инструмента «Расстояние» |
setLabelVisible | Установите видимость текстовой метки инструмента «Расстояние» |
setPosition | (Не рекомендуемый) Переместить объект информация только для чтения в новое положение |
setPositionConstraintFcn | Установите функцию ограничения положения объекта информация только для чтения |
wait | (Не рекомендуемый) Блокируйте командную строку MATLAB до завершения создания информация только для чтения |
Вставьте инструмент «Расстояние» в изображение. Использование makeConstrainToRectFcn
чтобы задать функцию ограничения перетаскивания, которая препятствует перетаскиванию инструмента «Расстояние» за пределы области изображения. Щелкните правой кнопкой мыши инструмент «Расстояние» и исследуйте опции контекстного меню.
imshow('pout.tif') h = imdistline; fcn = makeConstrainToRectFcn('imline',get(gca,'XLim'),get(gca,'YLim')); setDragConstraintFcn(h,fcn);
Разместите конечные точки инструмента «Расстояние» в заданных местоположениях.
imshow('pout.tif')
h = imdistline(gca,[10 100],[10 100]);
Удалите инструмент «Расстояние».
delete(h)
Используйте инструмент «Расстояние» с 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
функция, пределы осей автоматически расширяются, чтобы соответствовать перемещению линии.
Можно также использовать Line
Объект информация только для чтения для создания интерактивного настраиваемого инструмента расстояния. Для получения примера смотрите Измерение расстояний в Изображение.