Threshold

Threshold[data]
通过将接近零的值替换为零,对 data 进行阈值处理.

Threshold[data,tspec]
使用阈值规范 tspecdata 进行阈值处理.

Threshold[image,]
对图像进行阈值处理.

Threshold[sound,]
对声音对象进行阈值处理.

更多信息更多信息

  • Threshold 可用于三维图像以及二维图像,也可用于任意维数的数据数组.
  • Threshold[data] 等同于 Threshold[data,{"Hard",10-10}].
  • 阈值规范 tspec 的格式可以为 {tfun,pars}.
  • 可能的 tfun 名称和选项包括:
  • {"Hard",δ}0 TemplateBox[{x}, Abs]<=delta; x TemplateBox[{x}, Abs]>delta
    {"Soft",δ} 0 TemplateBox[{x}, Abs]<=delta; sgn(x) (TemplateBox[{x}, Abs]-delta) TemplateBox[{x}, Abs]>delta;
    {"Firm",δ,r,p} 0 TemplateBox[{x}, Abs]<=delta-delta p r; (sgn(x) (delta+delta r-delta p  r) (TemplateBox[{x}, Abs]-delta+delta p r))/(delta r) delta-delta p r<TemplateBox[{x}, Abs]<=delta+delta (-p) r+delta r; x TemplateBox[{x}, Abs]>delta+delta (-p) r+delta r;
    {"PiecewiseGarrote",δ}0 TemplateBox[{x}, Abs]<=delta; x-(delta^2)/x TemplateBox[{x}, Abs]>delta
    {"SmoothGarrote",δ,n}
    {"Hyperbola",delta} 0 TemplateBox[{x}, Abs]<=delta; sgn(x) sqrt(x^2-delta^2) TemplateBox[{x}, Abs]>delta;
    {"LargestValues",k}保留最大的 k 个数据点
  • 在所有情况下 delta 被假设为一个正数或用一个阈值函数 tfunc 来计算 delta. 每个 tfunc[data] 应返回一个正数.
  • "Firm" 的参数条件是 r 是正实数,p 是0到1之间的正实数.
  • "SmoothGarrotte" 的参数条件是使 n 为正实数.
  • 阈值 delta 可以使用以下方法自动计算:
  • {"BlackFraction",b}将占所有像素比例为 b 的部分像素变为黑色
    "Cluster"聚类方差最大化(大津-Otsu 算法)
    "Entropy"直方图熵最小化(Kapur 方法)
    "Mean"使用均值作为阈值
    "Median"使用中位数像素级作为阈值
    "MinimumError"KittlerIllingworth 最小误差阈值方法

范例范例打开所有单元关闭所有单元

基本范例  (3)基本范例  (3)

将非常接近零的元素舍为零:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=

对一个图像进行聚类阈值处理:

In[1]:=
Click for copyable input
Out[1]=

使用 "Soft" 阈值处理函数:

In[2]:=
Click for copyable input
Out[2]=

保留 5 个最大的 data 值:

In[1]:=
Click for copyable input
Out[1]=
2010年引入
(8.0)
| 2012年更新
(9.0)