blockLocationSet

Список местоположений блока в больших изображениях

Описание

blockLocationSet объектно-ориентированная память размер и местоположение блоков, которые будут считаны a bigimageDatastore. Если у вас есть Computer Vision Toolbox™, то можно использовать blockLocationSet объект задать блоки, которые будут считаны boxLabelDatastore (Computer Vision Toolbox).

Создание

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

  • selectBlockLocations — Выберите блоки из целого большого изображения или в маскированной области большого изображения. Опционально задайте перекрытие и располагающий с интервалами между блоками.

  • balancePixelLabels (Computer Vision Toolbox) — Выберите блоки из помеченных больших изображений с данными о пиксельных метках (требует Computer Vision Toolbox). Используйте эту функцию, чтобы выполнить класс, балансирующийся в рабочих процессах семантической сегментации.

  • balanceBoxLabels (Computer Vision Toolbox) — Выберите блоки из помеченных больших изображений с данными об ограничительной рамке (требует Computer Vision Toolbox). Используйте эту функцию, чтобы выполнить класс, балансирующийся в рабочих процессах обнаружения объектов.

  • blockLocationSet функция описана здесь. Используйте эту функцию, когда вы будете знать координаты блоков в больших изображениях.

Описание

пример

locationSet = blockLocationSet(ImageNumber,BlockOrigin,BlockSize) создает blockLocationSet возразите, что хранит местоположения BlockOrigin и размер BlockSize из блоков, которые будут считаны из набора больших файлов изображений, индексированных ImageNumber.

locationSet = blockLocationSet(ImageNumber,BlockOrigin,BlockSize,Levels) также задает уровень разрешения, на котором можно считать блоки из больших изображений.

Свойства

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

Номер изображения файлов изображений, содержащих чтение, блокирует в виде n-by-1 вектор из положительных целых чисел, где n является количеством блоков, заданных blockLocationSet. Значения не могут превысить количество bigimages в bigimageDatastore.

Пример: [1 1 1 2] указывает что bigimageDatastore чтения четыре общих количества блоков, с первыми тремя блоками, прибывающими из первого bigimage и четвертый блок, прибывающий из второго bigimage в datastore.

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

Блокируйте источник в виде n-by-2 числовая матрица, где n является количеством блоков, заданных blockLocationSet. Каждая строка задает [x y] координата левого верхнего угла блока.

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

Размер блока в виде вектора 1 на 2 положительных целых чисел формы [numrows numcols]. Размер блока является тем же самым для всех блоков в blockLocationSet.

Уровень разрешения каждого bigimage в bigimageDatastoreВ виде положительного целого числа или вектора из положительных целых чисел.

  • Когда вы задаете Levels как положительный целочисленный скаляр, bigimageDatastore чтения все блоки из того же уровня разрешения.

  • Когда вы задаете Levels как вектор из положительных целых чисел, каждый элемент указывает на уровень разрешения в который bigimageDatastore чтения блокируются от соответствия bigimage. Длина Levels должен равняться количеству bigimages в bigimageDatastore.

Пример: [1 1 2 2 1] указывает что bigimageDatastore содержа пять bigimages читает блоки на первом уровне разрешения сначала, во-вторых, и пятом bigimage и блоки на втором уровне разрешения от третьего и четвертого bigimage.

Примеры

свернуть все

Создайте bigimage использование модифицированной версии изображения "tumor_091.tif" от набора данных CAMELYON16. Оригинальное изображение является учебным изображением лимфатического узла, содержащего ткань опухоли. Оригинальное изображение имеет восемь уровней разрешения, и самый прекрасный уровень имеет разрешение 53760 61440. Модифицированное изображение имеет только три крупных уровня разрешения. Пространственная ссылка модифицированного изображения была настроена, чтобы осуществить сопоставимое соотношение сторон и указать функции на каждом уровне.

bim = bigimage('tumor_091R.tif');

Отобразите целый bigimage на самом прекрасном уровне разрешения.

bshow = bigimageshow(bim);

Задайте четыре [x y] местоположения блока от самого прекрасного уровня. Первые два блока перекрываются в вертикальном направлении. Вторые два блока смежны горизонтально.

xyLocations = [ ...
    2800 1300; ...
    2800 1400; ...
    1500 2400; ...
    1800 2400];
blockSize = [300,300];

Все блоки от того же изображения. Задайте номер изображения как 1 для всех блоков.

imageNumber = [1 1 1 1]';

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

locationSet = blockLocationSet(imageNumber,xyLocations,blockSize);

Создайте bigimageDatastore возразите, что чтения блокируют от большого изображения bim в местоположениях, заданных blockLocationSet объект.

bimds = bigimageDatastore(bim,'BlockLocationSet',locationSet);

Считайте два блока за один раз из datastore и отобразите их в монтаже.

bimds.ReadSize = 2;
while hasdata(bimds)
    figure
    blocks = read(bimds);
    montage(blocks,'BorderSize',5,'BackgroundColor','b');
end

Создайте bigimage использование модифицированной версии изображения "tumor_091.tif" от набора данных CAMELYON16. Оригинальное изображение является учебным изображением лимфатического узла, содержащего ткань опухоли. Оригинальное изображение имеет восемь уровней разрешения, и самый прекрасный уровень имеет разрешение 53760 61440. Модифицированное изображение имеет только три крупных уровня разрешения. Пространственная ссылка модифицированного изображения была настроена, чтобы осуществить сопоставимое соотношение сторон и указать функции на каждом уровне.

bim = bigimage('tumor_091R.tif');

Задайте размер блоков, чтобы читать.

blockSize = [1024 512];

Задайте расстояние смещения блока как 1.5 раза размер блока.

blockOffsets = 1.5*blocksize;

Задайте местоположение полных блоков в изображении с помощью размера блока и расстояния смещения блока. Получившийся blockLocationSet объект имеет 21 блок.

bls = selectBlockLocations(bim,...
      'BlockSize',blockSize,...
      'BlockOffSets',blockOffsets,...
      'ExcludeIncompleteBlocks',true);

Визуализируйте местоположения блока как прямоугольные ROI, наложенные на большом изображении.

bigimageshow(bim)
blockWH = fliplr(bls.BlockSize);
for ind = 1:size(bls.BlockOrigin,1)
    drawrectangle('Position',[bls.BlockOrigin(ind,:),blockWH]);
end

Создайте bigimageDatastore это читает блоки из местоположений, заданных в blockLocationSet объект.

numBlocks = length(bls.BlockOrigin);
bimds = bigimageDatastore(bim,'BlockLocationSet',bls, ...
    'ReadSize',numBlocks);

Считайте все блоки в datastore и отобразите блоки как монтаж. Данные о блоке соглашаются с ROI местоположения блока, наложенными на bigimage.

blocks = read(bimds);
figure
montage(blocks,'Size',[3 7],'BorderSize',5,'BackgroundColor','k');

Советы

  • blockLocationSet функция и объект не читают или хранят данные от больших файлов изображений.

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

| | | | (Computer Vision Toolbox) | (Computer Vision Toolbox) | (Computer Vision Toolbox)

Введенный в R2020a