图像滤波器系列(1):冲击滤波器,shock_filter

解决的问题

属于图像增强方法,主要增强边缘,减少图像边缘扩散,更便于边缘提取等操作。

算法功能
  • 在图像边缘产生强的不连续性,
  • 在一个区段内(包含一个最大影响区和一个最小影响区的范围简称为区段)图像是分段常数

用下图解释什么时最大最小影响区域:

  1. 首先定义最大-最小影响区域:
    最大影响区域就二阶偏微分为负数的区域,最小影响区域二阶偏微分为正数的区域
    在这里插入图片描述
  2. 然后:
    一个区段即最大和最小影响区域组成的区段,shock_filter使此区域内是分段常数的,即下图实线:
    在这里插入图片描述
算法起源及思想

第一个冲击滤波器shock filter最初在1975年,由Kramer和Bruckner提出来的。基于在最大影响区域进行灰度膨胀操作,在最小影响区域进行灰度腐蚀操作,像素到底位于最大还是最小影响区域通过二阶偏微分来决定,迭代以上操作直到在最小最大影响区域交界处产生一个尖锐的shock。
"冲击滤波"术语是由Osher和Rudin于1990年提出的。他们提出了一类基于偏微分方程的连续滤波器。halcon中shock_filter就是按里面的公式实现的

如何解决提到的问题
如何增强边缘
  • 将扩散的边缘,变为阶梯式强的不连续边缘
如何保证区段内产生常数的分割(是分段常数)
  • 灰度腐蚀和灰度膨胀操作
数学推导求解

在这里插入图片描述
上面最后两行相当于腐蚀和膨胀操作,这点我暂未明白,期待后续在补补。

halcon函数
shock_filter(Image : SharpenedImage : Theta, Iterations, Mode, Sigma : )
// Theta:即Δt
// Iterations:迭代次数
// Mode:可选canny或laplacian, 二维微分算子
// Sigma:平滑参数,为了使边缘提的更鲁棒,Sigma是高斯平滑的标准差
工业应用实例

博主在工业质检项目中,用作计算线状缺陷的宽度的预处理,原因是,缺陷较小,相机分辨率又不够,以及其他成像特点,总之缺陷边界容易模糊,给后续提边缘,设阈值带来了很多困惑,就能用到这种保边增强的滤波器,冲击滤波器;
在这里插入图片描述
在这里插入图片描述
上图第一张是原图,边界模糊不清晰,并且线里面不是完全均匀的,最开始直接提取时,区域总是提得少了,导致线宽计算过小,而漏检。下面图时经过冲击滤波,迭代10次,Δt取0.5滤后得图,边界清晰,里外像素分解明显,适合下一步计算

限制点

效率可能是制约点

参考资料
  • Coherence-Enhancing Shock Filters (Joachim Weickert)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章