exponenta event banner

blockLocationSet

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

Описание

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

Создание

Можно создать 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. Значения не могут превышать количество заблокированных изображений в blockedImageDatastore.

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

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

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

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

Размер блока, заданный как 1-by-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}

Отображение блоков чтения.

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

Совет

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

См. также

| | | (Панель инструментов компьютерного зрения) | (Панель инструментов компьютерного зрения) | (Панель инструментов компьютерного зрения)

Представлен в R2020a