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. The axes 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
    Для просмотра документации необходимо авторизоваться на сайте