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