axes2pix

Преобразуйте координаты осей в пиксельные

Описание

пример

pixelCoord = axes2pix(n,extent,axesCoord) преобразует координату осей в внутреннюю («пиксельную») координату.

Примечание

The imref2d объект имеет несколько методов, которые облегчают преобразование между внутренними координатами, мировыми координатами и индексами массива.

Примеры

свернуть все

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

h = imshow('pout.tif');

Figure contains an axes. The axes contains an object of type image.

Получите размер изображения.

[nrows,ncols] = size(get(h,'CData'));

Получите изображение XData и YData.

xdata = get(h,'XData')
xdata = 1×2

     1   240

ydata = get(h,'YData')
ydata = 1×2

     1   291

Преобразуйте координату осей в внутреннюю координату для размерностей x и y.

px = axes2pix(ncols,xdata,30)
px = 30
py = axes2pix(nrows,ydata,30)
py = 30

Прочитайте изображение и отобразите его. Получите размер изображения.

I = imread('pout.tif');
[nrows,ncols] = size(I)
nrows = 291
ncols = 240

Создайте пространственный объект привязки для этого изображения с настройками свойств по умолчанию. По умолчанию верхний левый угол изображения имеет внутреннюю координату (1,1).

RI = imref2d(size(I));
h = imshow(I,RI);

Figure contains an axes. The axes contains an object of type image.

xData = get(h,'XData')
xData = 1×2

     1   240

yData = get(h,'YData')
yData = 1×2

     1   291

В иллюстративных целях задайте произвольную степень изображения в направлениях x - и y. Этот пример смещает изображение на 20 пикселей и вправо на 400 пикселей. Пример также смещает изображение вправо на 100 пикселей и сжимает изображение горизонтально в 2 раза.

xWorldLimits = 0.5*xData + 400;
yWorldLimits = yData - 20;
RA = imref2d(size(I),xWorldLimits,yWorldLimits); 
imshow(I,RA)

Figure contains an axes. The axes contains an object of type image.

Выберите пиксель, например, пиксель рядом с носом дочернего элемента. Этот пиксель происходит вокруг координат осей (x, y) = (450, 90) в измененном изображении.

Преобразуйте координату осей в внутреннюю координату.

px = axes2pix(ncols,xWorldLimits,450)
px = 100
py = axes2pix(nrows,yWorldLimits,90)
py = 110

Внутренняя координата точки находится на (100, 110). Это согласуется с расположением носа в оригинальное изображение.

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

свернуть все

Количество строк или столбцов изображений в виде положительного целого числа. n - количество столбцов изображений для координат X или количество строк изображений для координат Y.

Область мира изображений, заданная как 2-элементный числовой вектор. extent возвращается по get(image_handle,'XData') или get(image_handle,'YData').

Координата Оси для преобразования в внутренние координаты, заданная в виде числового вектора.

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

свернуть все

Внутренние координаты, возвращенные как числовой вектор.

Типы данных: double

Совет

  • axes2pix выполняет минимальную проверку валидности n, axesCoord, или extent аргументы. Для примера, axes2pix может экстраполироваться из extent для возврата отрицательной координаты. Вызов функции axes2pix несет ответственность за проверку ошибок.

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте