主要内容

blockedImageDatastore

用于块的数据存储blockedImage对象

    描述

    一个blockedImageDatastore对象管理属于一个或多个图像块的集合blockedImage对象。一个blockedImageDatastore类似于imageDatastore,它管理一个不相关的图像集合。

    创建

    描述

    例子

    bimds = blockedImageDatastore(图片创建一个blockedImageDatastore对象,该对象管理一个或多个图像块的集合blockedImage对象,图片

    如果图片则包含具有多个分辨率级别的对象blockedImageDatastore只选择最佳分辨率级别的块。的BlockSize中的第一个元素的属性图片默认的数据存储块大小。

    bimds = blockedImageDatastore(来源从指定的文件创建一个数据存储来源

    bimds = blockedImageDatastore(___名称,值还使用名称-值对来设置一个或多个属性,除了图片而且TotalNumBlocks.可以指定多个名称-值对。将每个属性名用引号括起来。

    输入参数

    全部展开

    被阻止的图像文件的名称,指定为字符向量、字符串标量或单元格数组文件集对象。的blockedImageDatastore对象将文件中的图像转换为阻塞图像,并将这些图像设置为图片财产。

    属性

    全部展开

    要包含在数据存储中的块,指定为blockLocationSet对象。对象指定要从被阻塞的图像中包含哪些块智能化系统.您可以重复或省略单个块。获取默认值blockedImageDatastore调用selectBlockLocations函数。

    你不能改变BlockLocationSet属性。blockedImageDatastore

    块大小,指定为1 × -D数字向量,其中D第一个被阻塞图像的维数是多少图片,在第一个分辨率水平水平

    你不能改变BlockSize属性。blockedImageDatastore

    每个维度中附加块边界元素的大小,用1 × -表示D数字向量,其中D第一个被阻塞图像的维数是多少图片,在第一个分辨率水平水平.默认值为0 (1 D)

    控件提供块的块图像blockedImageDatastore的数组指定blockedImage对象。所有元素图片必须具有相同的维数和相同的类型。

    你不能改变图片属性。blockedImageDatastore

    用于填充不完整块的方法,指定为本表中的值之一。属性的值默认填充数值块InitialValue块图像数组中第一个块图像的属性,图片

    价值

    意义

    数字标量

    用指定的标量值填充不完整的块。值的类型取决于ClassUnderlying的阻塞图像图片

    “复制”

    通过重复数组的边界元素来填充。

    填充存在于边缘上的部分块,指定为逻辑标量真正的.当真正的,所阻塞的图像数据存储根据中指定的填充方法添加填充PadMethod财产。

    对象的每次调用中返回的块数函数,指定为正整数。每次调用函数最多读取ReadSize

    此属性是只读的。

    可用块的总数,指定为数值标量。

    对象的功能

    结合 组合来自多个数据存储的数据
    countEachLabel 为每个类计算像素标签的数量
    hasdata 返回真正的如果有更多的数据blockedImageDatastore
    numpartitions 数据存储分区数
    分区 返回的分区部分blockedImageDatastore
    预览 预览数据存储中的数据子集
    读取数据和元数据blockedImageDatastore
    readall 中读取所有数据blockedImageDatastore
    重置 将数据存储重置为初始状态
    洗牌 Shuffle数据存储中的数据
    子集 创建数据存储或文件集的子集
    变换 变换数据存储

    例子

    全部折叠

    创建一个blockedImage。

    bim = blockedImage(“tumor_091R.tif”);

    创建一个数据存储,指定分辨率级别和块大小。

    bls = selectBlockLocations(bim,“水平”2,“BlockSize”(512、512));bimds = blockedImageDatastore(bim,“BlockLocationSet”美国劳工统计局);

    读取数据存储中的所有块。

    B = readall(bimds)
    b =9×1单元格数组{512×512×3 uint8} {512×512×3 uint8} {512×512×3 uint8} {512×512×3 uint8} {512×512×3 uint8} {512×512×3 uint8} {512×512×3 uint8} {512×512×3 uint8} {512×512×3 uint8}

    显示阻塞图像

    蒙太奇(b)

    创建一个文件集对象,包含多个PNG文件格式的图像文件。

    fs = matlab.io.datastore.FileSet(...fullfile (matlabroot“工具箱”“图片”“imdata”),...“FileExtensions”“使用”);

    创建一个blockedImage对象,指定适配器。这样就不需要检查每个文件来选择合适的适配器,从而节省了时间。

    readAdapter = images.blocked.GenericImage;bims = blockedImage(fs,“适配器”, readAdapter);

    所有图像必须具有相同的维数,因此只保留RGB图像。

    bims = bims([bims. numdimensions]==3);bimds = blockedImageDatastore(bims,“BlockSize”(300 500),...“PadMethod”“复制”);

    中显示的所有块blockedImageDatastore

    蒙太奇(readall (bimds),“边界”2,“写成BackgroundColor”“w”);

    图中包含一个轴对象。axis对象包含一个image类型的对象。

    创建一个blockedImage

    bim = blockedImage(“tumor_091R.tif”);

    指定重叠块。

    blockSize = [512 512];overlapPct = 0.5;blockoffset = round(blockSize.* overlpct);bls = selectBlockLocations(bim,...“BlockSize”blockSize,...“BlockOffSets”blockOffsets,...“ExcludeIncompleteBlocks”,真正的);

    创建blockedImageDatastore

    bimds = blockedImageDatastore(bim,“BlockLocationSet”美国劳工统计局);

    显示重叠的块。

    bimds。ReadSize = 6;Blocks = read(bimds);蒙太奇(块,“BorderSize”5,“写成BackgroundColor”“b”);

    图中包含一个轴对象。axis对象包含一个image类型的对象。

    创建一个blockedImage。

    bim = blockedImage(“tumor_091R.tif”);

    创建一个最粗糙的蒙版。

    bmask = apply(bim, @(bs)~ imbinalize (im2gray(bs. data)),“水平”3);

    创建一个blockedImageDatastore对于在蒙版所定义的染色区域中至少有90%像素“亮”的块。

    mbls = selectBlockLocations(bim,...“水平”, 1...“面具”bmask,“InclusionThreshold”, 0.90,...“BlockSize”, [256 256]);bimds = blockedImageDatastore(bim,“BlockLocationSet”, mbls);

    读取块并显示它们。

    bimds。ReadSize = 5;Blocks = read(bimds);蒙太奇(块,“BorderSize”5,“写成BackgroundColor”“b”

    图中包含一个轴对象。axis对象包含一个image类型的对象。

    从数值和标记数据创建阻塞图像。

    bim = blockedImage(“yellowlily.jpg”“BlockSize”, [512 512]);lbim = blockedImage(“yellowlily-segmented.png”“BlockSize”, [512 512]);

    创建blockedImageDatastore对象用于每个阻塞图像。

    bimds = blockedImageDatastore(bim);lbimds = blockedImageDatastore(lbim);

    将标记的数值数据转换为分类数据。

    变换(lbimds,...@(bs){categorical(bs{1}, [0,1,2,3], [“未知”“花”“叶”“背景”])});

    结合原文blockedImageDatastore使用分类数据存储。

    Cbimds = combine(bimds,catbimds);

    从数据存储中读取数据并显示它。第一个单元格是图像数据,第二个单元格是分类标签。

    数据=读取(cbimds);imshow (labeloverlay(数据{1},{2}));

    图中包含一个轴对象。axis对象包含一个image类型的对象。

    R2021a中引入