adaptthresh
使用局部一阶统计的自适应图像阈值
描述
例子
找到阈值和分割明亮的米粒从黑暗的背景
将图像读入工作区。
我= imread (“rice.png”);
使用adaptthresh
确定在二值化操作中使用的阈值。
T = adaptthresh(I, 0.4);
将图像转换为二值图像,指定阈值。
BW = imbinarize (T);
显示原始图像与二进制版本,并排。
图imshowpair (BW,我“蒙太奇”)
从明亮的背景中找到阈值和分割暗文本
将图像读入工作区。
我= imread (“printedtext.png”);
使用adaptthresh
计算自适应阈值,并显示本地阈值图像。这表示对平均背景照明的估计。
T = adaptthresh(我,0.4,“ForegroundPolarity”,“黑暗”);图imshow (T)
利用局部自适应阈值对图像进行二值化
BW = imbinarize (T);图imshow (BW)
计算三维体积阈值
将3d体加载到工作区中。
负载mristack;V = mristack;
显示数据。
图片(双(V)、大小(V, 2) / 2,大小(V, 1) / 2,大小(V, 3) / 2) colormap灰色的阴影插值函数
计算阈值。
J = adaptthresh (V,“马嘶声”(3 3 3),“前”,“光明”);
显示的阈值。
图片(双(J),大小(J, 2) / 2,大小(J - 1) / 2,大小(J, 3) / 2) colormap灰色的阴影插值函数
输入参数
我
- - - - - -灰度图像或体积
二维数值矩阵|三维数值数组
灰度图像或体积,指定为2-D数字矩阵或3-D数字数组。
如果图像包含正
年代或南
S,行为adaptthresh
是未定义的。传播的正
年代或南
S可能并不局限于周围的社区正
或南
像素。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
灵敏度
- - - - - -确定哪些像素被阈值设置为前景像素
0.5
(默认)|[0,1]范围内的数字
确定哪些像素被阈值设置为前景像素,指定为范围为[0,1]的数字。高灵敏度值导致阈值更多像素作为前景,风险包括一些背景像素。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:T = adaptthresh(我,0.4,“ForegroundPolarity”、“黑暗”);
NeighborhoodSize
- - - - - -用于计算每个像素周围局部统计的邻域大小
2 *地板(大小(I) / 16) + 1
(默认)|积极的奇数|正奇整数的2元向量
用于计算每个像素周围局部统计量的邻域大小,指定为正奇数整数或正奇数整数的2元素向量。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
ForegroundPolarity
- - - - - -确定哪些像素被认为是前景像素
“光明”
(默认)|“黑暗”
确定哪些像素被认为是前景像素,使用以下之一指定:
价值 |
意义 |
---|---|
|
前景比背景更亮。 |
|
前景比背景暗 |
数据类型:字符
|字符串
统计
- - - - - -用于计算本地阈值的统计值
“的意思是”
(默认)|“中值”
|“高斯”
用于计算每个像素处的局部阈值的统计值,指定为以下之一:
价值 |
意义 |
---|---|
|
当地的平均强度。这种方法也被称为布莱德利方法[1]. |
|
当地的中位数。这个统计数据的计算可能很慢。考虑使用较小的社区规模,以获得更快的结果。 |
|
邻域内的高斯加权平均值。 |
数据类型:字符
|字符串
参考文献
[1]布拉德利,D. G.罗斯,“利用积分图像适应阈值化”,图形工具杂志.2007年第12卷第2期,第13 - 21页。
扩展功能
C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
adaptthresh
支持C代码的生成MATLAB®编码器™).请注意,如果您选择通用的MATLAB主机
目标平台,adaptthresh
生成使用预编译的特定于平台的共享库的代码。使用共享库可以保持性能优化,但限制了可以为其生成代码的目标平台。有关更多信息,请参见图像处理工具箱中支持代码生成的类型.的
ForegroundPolarity
而且统计
参数必须是编译时常量。
GPU的代码生成
使用GPU Coder™为NVIDIA GPU生成CUDA®代码。
使用注意事项和限制:
的ForegroundPolarity
而且统计
参数必须是编译时常量。
线程环境
在后台使用MATLAB®运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。有关更多信息,请参见在线程环境中运行MATLAB函数.
版本历史
介绍了R2016aR2022b:生成CUDA代码使用GPU编码器
adaptthresh
现在支持生成优化的CUDA®代码(需要GPU Coder™)。
R2021b:支持基于线程的环境
adaptthresh
现在支持基于线程的环境。
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。