VTK高通滤波器

5.6.3 高通滤波

1.理想高通滤波器

高通滤波与低通滤波正好相反,是让频域图像的高频部分通过而抑制低频部分。图像的边缘对应高频分量,因此高通滤波的效果是图像锐化。同样,最简单的高通滤波器是理想高通滤波器。其基本思想是通过设置一个频率阈值,让高于该阈值的频率部分通过,而低于阈值的低频部分设置为0。下述代码演示了VTK 中理想高通滤波vtkImageIdealHighPass 的应用:
 

 
 
  1. vtkSmartPointer<vtkImageIdealHighPass> highPassFilter =  
  2. vtkSmartPointer<vtkImageIdealHighPass>::New();  
  3. highPassFilter->SetInputConnection(fftFilter->GetOutputPort());  
  4. highPassFilter->SetXCutOff(0.1);  
  5. highPassFilter->SetYCutOff(0.1);  
  6. highPassFilter->Update(); 

同低通滤波一样,通过SetXCutOff()和SetYCutOff()设置X 和Y 方向的截止频率。图 5-42 是理想高通滤波的运行结果。从结果可以看出,理想高通滤波后图像得到锐化处理,图像仅剩下边缘。

2.巴特沃斯高通滤波器

理想高通滤波器不能通过电子元器件来实现,而且存在振铃现象。在实际应用中,最常使用的高通滤波器是巴特沃斯高通滤波器。该滤波器的转移函数为

D(u,v)表示频域中点到频域平面的距离,D0 是截止频率。当D(u,v)大于D0 时,对应的H(u,v)逐渐接近1,从而使得高频部分得以通过;而当D(u,v)小于D0 时,H(u,v)逐渐接近0,实现低频部分过滤。巴特沃斯高通滤波器在VTK 中对应的类是vtkImageButterworthHighPass类,代码如下:

 
 
  1. vtkSmartPointer<vtkImageButterworthLowPass> lowPassFilter =  
  2. vtkSmartPointer<vtkImageButterworthLowPass>::New();  
  3. lowPassFilter->SetInputConnection(fftFilter->GetOutputPort());  
  4. lowPassFilter->SetXCutOff(0.05);  
  5. lowPassFilter->SetYCutOff(0.05);  
  6. lowPassFilter->Update(); 

vtkImageButterworthHighPass 的使用方法与理想高通滤波一致。这里也需要设置X 和Y轴的截止频率,为了便于比较,其截止频域与理想高通滤波设置一致。图5-43 为其运行结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值