imref2d

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

Описание

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

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

Создание

Можно создать imref2d объект этими способами.

  • affineOutputView — Сохраните пространственную степень изображения, которое деформировано 2D аффинным геометрическим преобразованием.

  • imref2d функция описана здесь

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

Пределы изображения во внутренних модулях в y - размерность в виде вектора-строки с 2 элементами [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);

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

Считайте 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])

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

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

RA.ImageSize(1)
ans = 512

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

RA.ImageExtentInWorldX
ans = 160

Больше о

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

Советы

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

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

Введенный в R2013a