blockLocationSet

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

Описание

A blockLocationSet объект обеспечивает местоположение блоков, используемых для обработки, балансировку классов в семантической сегментации и рабочие процессы обучения обнаружению объектов. Используется в blockedImageDatastore и boxLabelDatastore объекты для задания местоположения блоков для чтения данных.

Создание

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

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

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

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

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

Описание

пример

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

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

Свойства

расширить все

Количество изображений в файлах изображений, содержащих блоки read, заданное как вектор N-на-1 положительных целых чисел, где N количество блоков, заданное blockLocationSet. Значения не могут превышать количество заблокированных изображений в blockedImageDatastore.

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

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

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

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

Размер блока, заданный как 1-байт- N вектор положительных целых чисел вида [numrows, numcols,...]. Размер блока одинаковый для всех блоков в blockLocationSet. N соответствует NumDimensions свойство blockedImage объект.

Уровень разрешения каждого blockedImage в blockedImageDatastore, заданный как положительное целое число или вектор положительных целых чисел.

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

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

Пример: [1 1 2 2 1] задает, что blockedImageDatastore содержит пять blockedImage объекты считывают блоки на первом уровне разрешения с первого, второго и пятого blockedImage объекты и блоки на втором уровне разрешения от третьего и четвертого blockedImage объекты.

Примеры

свернуть все

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

bim = blockedImage('tumor_091R.tif');
bigimageshow(bim)

Поскольку все блоки из одного изображения, imageNumber Значение 1 для всех блоков. Для уровня разрешения выберите лучшее разрешение. Задайте местоположения блоков в координатах x, y .

imageNumber = [1, 1, 1, 1]';
levels = 1;
xyLocations = [[20 30 1]; [30 40 1]; [40 50 1]; [50 60 1]]
xyLocations = 4×3

    20    30     1
    30    40     1
    40    50     1
    50    60     1

blockSize = [300,300, 3];
locationSet = blockLocationSet(imageNumber,xyLocations,blockSize,levels);

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

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

Считывайте два блока за раз из blockedImageDatastore.

bimds.ReadSize = 2;
while hasdata(bimds)
    blocks = read(bimds)
end
blocks=2×1 cell array
    {300×300×3 uint8}
    {300×300×3 uint8}

blocks=2×1 cell array
    {300×300×3 uint8}
    {300×300×3 uint8}

Отобразите блоки read.

montage(blocks,'BorderSize',5,'BackgroundColor','b');

Совет

  • blockLocationSet объект не считывает и не хранит данные из заблокированных файлов изображений.

См. также

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

Введенный в R2020a