imref2d

Ссылочное 2D изображение к мировым координатам

Описание

Объект imref2d инкапсулирует отношение между внутренними координатами, привязанными на строках и столбцах 2D изображения и пространственном местоположении тех же местоположений строки и столбца в системе мировой координаты.

Изображение регулярно выбирается в плоской мировой-x и мировой-y системе координат, таким образом, что внутренние-x значения выравниваются с мировыми-x значениями, и внутренние-y значения выравниваются с мировыми-y значениями. Разрешение в каждой размерности может отличаться.

Создание

Синтаксис

R = imref2d
R = imref2d(imageSize)
R = imref2d(imageSize,pixelExtentInWorldX,pixelExtentInWorldY)
R = imref2d(imageSize,xWorldLimits,yWorldLimits)

Описание

R = imref2d создает объект imref2d с настройками свойства по умолчанию.

R = imref2d(imageSize) устанавливает дополнительное свойство ImageSize.

пример

R = imref2d(imageSize,pixelExtentInWorldX,pixelExtentInWorldY) устанавливает дополнительный ImageSize, PixelExtentInWorldX и свойства PixelExtentInWorldY.

пример

R = imref2d(imageSize,xWorldLimits,yWorldLimits) устанавливает дополнительный ImageSize, XWorldLimits и свойства YWorldLimits.

Свойства

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

Промежуток изображения в x - размерность в системе мировой координаты, заданной в виде числа. Объект imref2d устанавливает это значение как PixelExtentInX * ImageSize(2).

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

Промежуток изображения в y - размерность в системе мировой координаты, заданной в виде числа. Объект imref2d устанавливает это значение как PixelExtentInY * ImageSize(1).

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

Число элементов в каждой пространственной размерности, заданной как двухэлементный положительный вектор - строка. ImageSize является той же формой как возвращенный функцией size.

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

Размер одного пикселя в x - размерность, измеренная в системе мировой координаты, заданной как положительная скалярная величина.

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

Размер одного пикселя в y - размерность, измеренная в системе мировой координаты, заданной как положительная скалярная величина.

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

Пределы изображения в мировом x - размерность, заданная как двухэлементная строка числовой векторный [xMin xMax].

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

Пределы изображения в мировом y - размерность, заданная как двухэлементный числовой вектор - строка [yMin yMax].

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

Пределы изображения во внутренних модулях в x - размерность, заданная как двухэлементный вектор - строка [xMin xMax]. Для m-by-n изображение (или m-by-n-by-p изображение), XIntrinsicLimits равняется [0.5, n+0.5].

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

Пределы изображения во внутренних модулях в y - размерность, заданная как двухэлементный вектор - строка [yMin yMax]. Для m-by-n изображение (или m-by-n-by-p изображение), YIntrinsicLimits равняется [0.5, m+0.5].

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

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

containsОпределите, содержит ли изображение точки в системе мировой координаты
intrinsicToWorldПреобразуйте от внутреннего до мировых координат
sizesMatchОпределите, совместимы ли объект и изображение с размером
worldToIntrinsicПреобразуйте от мира до внутренних координат
worldToSubscriptПреобразуйте мировые координаты в индексы строки и столбца

Примеры

свернуть все

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

A = imread('pout.tif');

Создайте объект imref2d, задав размер и мировые пределы изображения, сопоставленного с объектом.

xWorldLimits = [2 5];
yWorldLimits = [3 6];
RA = imref2d(size(A),xWorldLimits,yWorldLimits)
RA = 
  imref2d with properties:

           XWorldLimits: [2 5]
           YWorldLimits: [3 6]
              ImageSize: [291 240]
    PixelExtentInWorldX: 0.0125
    PixelExtentInWorldY: 0.0103
    ImageExtentInWorldX: 3
    ImageExtentInWorldY: 3
       XIntrinsicLimits: [0.5000 240.5000]
       YIntrinsicLimits: [0.5000 291.5000]

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

figure
imshow(A,RA);

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

m = dicominfo('knee1.dcm');
A = dicomread(m);

Создайте объект imref2d, задав размер и разрешение пикселей. Файл DICOM содержит поле метаданных PixelSpacing, который задает разрешение изображения в каждой размерности в миллиметрах на пиксель.

RA = imref2d(size(A),m.PixelSpacing(2),m.PixelSpacing(1))
RA = 
  imref2d with properties:

           XWorldLimits: [0.1562 160.1562]
           YWorldLimits: [0.1562 160.1562]
              ImageSize: [512 512]
    PixelExtentInWorldX: 0.3125
    PixelExtentInWorldY: 0.3125
    ImageExtentInWorldX: 160
    ImageExtentInWorldY: 160
       XIntrinsicLimits: [0.5000 512.5000]
       YIntrinsicLimits: [0.5000 512.5000]

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

figure
imshow(A,RA,'DisplayRange',[0 512])

Сравните ширину изображения в мировых координатах и внутренних координатах. Эта ширина изображения во внутренних координатах, с модулями пикселей:

RA.ImageSize(1)
ans = 512

Ширина изображения в мировых координатах, с модулями миллиметров:

RA.ImageExtentInWorldX
ans = 160

Больше о

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

Советы

  • Можно создать объект imref2d для изображения RGB. Если вы создаете объект, задающий свойство ImageSize как трехэлементный вектор (такой как возвращенный функцией size), только первые два элемента используются, чтобы установить ImageSize.

Расширенные возможности

Введенный в R2013a

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