应用
处理阻塞图像的块
语法
描述
例子
增强图像细节以更好地可视化区域边界
创建阻塞映像。
bim = blockedImage(“tumor_091R.tif”);
创建一个平滑过滤器,并将其应用于阻塞图像中的块。
平滑= 2000;
imguidedfilter
在默认的5像素邻域上操作。向输入添加边框以读取其他数据。这个边界像素自动从输出中修剪,因为它的大小与输入相同。
benh =应用(荡妇,...@ (bs) imguidedfilter (bs.Data bs.Data,“DegreeOfSmoothing”平滑)...“BorderSize”, [5 5]);
显示原始图像和增强图像。
Ha1 = subplot(1,2,1);bigimageshow(荡妇,“ResolutionLevel”1);Ha2 = subplot(1,2,2);bigimageshow (benh);linkaxes ((ha1, ha2));Xlim ([2100, 2600]) ylim([1800 2300])
利用掩码限制处理区域,提高效率
创建一个阻塞映像。
bim = blockedImage(“tumor_091R.tif”);
在最粗糙的层次上创建一个蒙版并显示它。
bmask = apply(bim, @(bs)rgb2gray(bs. data)<80,“水平”3);图bigimageshow (bmask)
方法调用处理的区域使用掩码来限制应用
对象的功能。
bls = selectBlockLocations(bim,“面具”bmask,“InclusionThreshold”, 0.005);benh = apply(bim, @(bs)imguidedfilter(bs. data,bs. data,“DegreeOfSmoothing”, 2000),...“BorderSize”, [5 5],...“BlockLocationSet”美国劳工统计局);
显示原始图像和增强图像。
图ha1 = subplot(1,2,1);bigimageshow(荡妇,“ResolutionLevel”1);Ha2 = subplot(1,2,2);bigimageshow (benh);linkaxes ((ha1, ha2));
阻塞图像的处理数组
在工具箱示例图像文件夹中创建一个包含所有JPEG图像的文件集。
fs = matlab.io.datastore.FileSet(...fullfile (matlabroot“工具箱”,“图片”,“imdata”),...“FileExtensions”,“jpg”);
从文件集中创建一个阻塞图像数组。
bims = blockedImage(fs);
创建一个适配器,将阻塞映像作为单个映像文件保存到磁盘。
outputFolder = tempname;outputAdapter = images.blocked.GenericImage;outputAdapter。扩展=“jpg”;
将映像转换为磁盘上的二进制映像。
bos = apply(bims, @(b) imbinalize (im2gray(b. data)),...“OutputLocation”outputFolder,“适配器”, outputAdapter);
使用Image Browser应用程序查看输出文件夹的内容:imageBrowser (outputFolder)
输入参数
荡妇
- - - - - -了图像
blockedImage
对象
被阻塞的图像,指定为blockedImage
对象。
智能化系统
- - - - - -屏蔽了图片
的数组blockedImage
对象
的数组指定的已阻止的图像blockedImage
对象。
fcn
- - - - - -处理函数
函数处理
处理函数,指定为函数句柄。有关更多信息,请参见创建函数句柄.处理函数fcn
必须接受bstruct
作为输入。要传递其他参数,请指定fcn
作为一个匿名函数。有关更多信息,请参见匿名函数.
bstruct
是一个结构体
使用这些字段:
场 | 描述 |
---|---|
数据 |
数据块荡妇 |
开始 |
块中第一个元素的下标。如果BorderSize 时,此下标可以超出边缘块的边界。 |
结束 |
块中最后一个元素的下标。如果BorderSize 时,此下标可以超出边缘块的边界。 |
Blocksub |
当前块的块下标 |
BorderSize |
的值BorderSize 参数。 |
BlockSize |
的值BlockSize 参数。注意:大小(数据) 边界块可以小于此值时PadPartialValue 是假的。 |
BatchSize |
的值BatchSize 参数 |
ImageNumber |
索引荡妇 数组用于当前图像。 |
水平 |
正在从中读取数据的分辨率级别。 |
这个函数fcn
通常返回一个块的结果。结果可以是数值,a结构体
,或分类
.
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“水平”,3
适配器
- - - - - -用于写入阻塞图像数据的适配器
适配器对象
用于写入阻塞图像数据的适配器,指定为适配器对象。要为不同的输出指定不同的适配器,请使用单元格数组。标量值展开。
此表列出了工具箱中包含的适配器。
适配器 | 描述 |
---|---|
BINBlocks |
将每个块存储为一个文件夹中的二进制文件 |
GenericImage |
在单个图像中存储块 |
GenericImageBlocks |
将每个块存储为一个文件夹中的图像文件 |
H5 |
存储块在单个HDF5图像 |
H5Blocks |
将每个块存储为一个文件夹中的HDF5文件 |
InMemory |
将块存储在主存的变量中 |
JPEGBlocks |
将每个块存储为一个文件夹中的JPEG文件 |
MATBlocks |
将每个块作为一个MAT文件存储在一个文件夹中 |
PNGBlocks |
将每个块存储为一个文件夹中的PNG文件 |
TIFF |
将块存储在单个TIFF文件中 |
您还可以指定一个执行自定义写入操作的自定义适配器。有关更多信息,请参见images.blocked.Adapter
.
BatchSize
- - - - - -提供给的块数fcn
1
(默认)|数字标量
提供给处理函数的块数fcn
在每个批处理中,指定为数字标量。的BatchSize
最后一个维度的输入是fcn
.的所有输出fcn
最后一个维度必须等于BatchSize
.BatchSize
大于1有助于在应用深度学习推理调用时优化gpu负载。当BatchSize
大于1,PadPartialBlocks
必须真正的
.
BlockLocationSet
- - - - - -要处理的块集
所有非重叠BlockSize
份块(默认)|blockLocationSet
对象
要处理的块的集合,指定为blockLocationSet
对象。的ImageNumber
物业指数分为智能化系统
数组中。指定要处理的块可以通过限制处理的块的数量来提高效率。例如,使用selectBlockLocations
使用掩码来限制将处理功能应用到某些区域。包含的块必须在一个规则的网格上。
BlockSize
- - - - - -块大小
的价值BlockSize
阻塞图像的属性(默认)|整数值向量
块大小,指定为长度等于NumDimensions
的属性荡妇
.指定作为输入提供的块的大小fcn
.如果BlockSize
包含较少的元素应用
对象中的元素填充缺失的维度大小
财产。
BorderSize
- - - - - -边界大小
0
(默认)|整数值向量
边框大小,指定为长度等于的整数值向量NumDimensions
的属性荡妇
.指定来自邻近区域的要包含在块中的附加数据。对于边缘块,应用
对象函数使用“PadMethod”
.如果BorderSize
包含较少的元素应用
对象函数用0填充边界。
DisplayWaitbar
- - - - - -显示等待栏
真正的
(默认)|假
显示等待栏,指定为逻辑标量。当设置为真正的
,应用
对象函数显示长时间运行的操作的等待栏。如果取消等待栏,则应用
对象函数返回部分输出(如果可用)。
数据类型:逻辑
ExtraLevels
- - - - - -分辨率水平
整数向量
分辨率级别,指定为长度相同的整数向量“ExtraImages”
.每个值指定从相应的值中使用的分辨率级别blockedImage
对象ExtraImages
.
水平
- - - - - -使用的分辨率级别
1
(默认)|整数标量
要使用的分辨率级别,指定为整数标量。对于多分辨率blockedImage
对象时,此值确定用于获取要处理的块的分辨率级别。
OutputLocation
- - - - - -输出文件夹的位置
字符
向量|字符串
标量
输出文件夹的位置,指定为字符串
标量或字符
向量。如果只有一个输出,则应用
对象函数直接将其写入此位置。对于多个输出,使用应用
对象函数创建该格式的子文件夹< N > /输出
为N的输出。如果输入是数组,则应用
对象的函数派生输出名称源
对应元素的属性。如果输入在内存中,则应用
对象函数使用数值索引。当UseParallel属性是真正的
,OutputLocation
应该是客户端会话上的有效路径。使用AlternateFileSystemRoots属性指定工作者会话所需的映射。所有输出都继承这个值。
PadMethod
- - - - - -垫的方法
“复制”
(默认)|数字标量|字符串
标量|字符
向量
不完整边缘块的填充方法,指定为这些值之一。该方法指定如何获取填充像素“BorderSize”
或者是“PadPartialBlocks”
参数。
价值 |
意义 |
---|---|
数字标量 |
类型指定的常量类型的元素填充数值数组 |
|
通过重复数组的边界元素来填充。 |
重新开始
- - - - - -从上次运行停止的地方继续处理
假
(默认)|真正的
从指定为逻辑标量的前一次运行停止的位置继续处理。如果真正的
,以及指定的“OutputLocation”
具有前一次运行的内容,则当前运行将从前一次运行停止的位置继续处理。这种支持取万博1manbetx决于所使用的输出适配器。如果假
,应用
对象函数删除先前的内容。
UseParallel
- - - - - -使用并行处理
假
(默认)|真正的
使用并行处理,指定为逻辑标量。确定是否应该使用新的或现有的并行池。如果没有活动的并行池,则会根据默认的并行设置打开新的并行池。属性指定的所有适配器适配器
属性必须支持并行处理。万博1manbetx必须指定有效的OutputLocation
.此参数需要并行计算工具箱™。
数据类型:逻辑
输出参数
想
-新的屏蔽图像
blockedImage
对象
新建的块图像,返回为blockedImage
对象。
提示
的
应用
对象函数通过处理第一个块来确定输出大小。如果处理第一个块产生与输入相同大小的输出块,则将最终输出大小设置为与输入匹配。否则,处理最后一个块以确定最终输出大小。第一个块不能是部分块。的
应用
对象函数设置InitialValue
基于输出类型的输出属性:数字或逻辑输出-
InitialValue
设置为0
.分类输出-
InitialValue
设置为<定义>
对应类型的值。结构体
输出-InitialValue
派生自第一个块的输出。所有字段都设置为空。
版本历史
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。