world2sub

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

Описание

пример

pixelsub = world2sub(bim,world) преобразует мировые координаты, world, к соответствующим пиксельным индексам, pixelsub. Мировые координаты должны быть в том же порядке как пиксельные индексы.

pixelsub = world2sub(bim,world,'Level',L) дополнительно задает уровень разрешения, чтобы использовать в изображении мультиразрешения. По умолчанию, Level 1.

Примеры

свернуть все

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

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

bim = blockedImage('tumor_091R.tif');

Задайте необходимую область на самом прекрасном уровне разрешения в пиксельных индексах.

level1PixelSubStart = [1700, 1550 1];
level1PixelSubEnd = [2100, 2000 3];

Получите данные изображения от необходимой области на изображении уровня 1 разрешения.

imr = getRegion(bim, level1PixelSubStart, level1PixelSubEnd, "Level", 1);
size(imr)
ans = 1×3

   401   451     3

Преобразуйте пиксельные индексы, которые задают необходимую область в мировые координаты. По умолчанию, sub2world преобразует координаты на уровне 1, самом прекрасном разрешении.

worldRegion = sub2world(bim,[level1PixelSubStart; level1PixelSubEnd]);

Вычислите бинарную маску на самом грубом уровне.

bbw = apply(bim, @(bs)imbinarize(im2gray(bs.Data)), "Level", 3);

Преобразуйте мировые координаты необходимой области к пиксельным индексам маски. Обратите внимание на то, что маска имеет только две размерности.

worldRegion = worldRegion(:,1:2);
maskPixelSubs = world2sub(bbw,worldRegion);

Соответствующая область маски.

bwr = getRegion(bbw, maskPixelSubs(1,:), maskPixelSubs(2,:));
size(bwr)
ans = 1×2

    51    58

Просмотрите оригинальное изображение и маску.

montage({imr,bwr})

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

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

свернуть все

Блокированное изображение в виде blockedImage объект.

Мировые координаты в виде K-by-N числовая матрица, где K является количеством векторов мировой координаты и N, являются количеством размерностей blockedImage.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

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

свернуть все

Пиксельные индексы, возвращенные как K-by-N матрица с целочисленным знаком, где N является количеством размерностей и K, являются количеством координат.

Советы

  • Мировые координаты являются теоретически непрерывными значениями домена, представленными числами с плавающей точкой. Индексы являются дискретными целочисленными значениями, которые могут использоваться, чтобы индексировать в основной массив. Расчет с плавающей точкой и округление могут заставить небольшие изменения в мировых координатах вокруг ребра пикселей сопоставлять с различными соседними районами индекса. world2sub окружает значения мировой координаты на ребре двух пикселей, за исключением пикселей на границе, где это округляет в меньшую сторону до последнего пикселя.

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

|

Введенный в R2021a