1.理想高通滤波

高通滤波与低通滤波正好相反,是频率图像的高频部分通过抑制低频部分。在图像中图像的边缘对应高频分量,因此高通滤波的效果图是图像锐化。同样是最简单的高通滤波是理想的高通滤波器。通过设置一频率阈值,将高于阈值的频率通过,而低于预知的低频部分设置为0.

2.代码

#include "Test.h"
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);#include <vtkSmartPointer.h>
#include <vtkJPEGReader.h>
#include <vtkImageFFT.h>
#include <vtkImageIdealHighPass.h>
#include <vtkImageRFFT.h>
#include <vtkImageCast.h>
#include <vtkImageExtractComponents.h>
#include <vtkRenderer.h>
#include <vtkImageActor.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkInteractorStyleImage.h>int main(int argc, char* argv[])
{vtkSmartPointer<vtkJPEGReader> reader =vtkSmartPointer<vtkJPEGReader>::New();reader->SetFileName("data/Lena.jpg");reader->Update();vtkSmartPointer<vtkImageFFT> fftFilter =vtkSmartPointer<vtkImageFFT>::New();fftFilter->SetInputConnection(reader->GetOutputPort());fftFilter->Update();vtkSmartPointer<vtkImageIdealHighPass> highPassFilter =vtkSmartPointer<vtkImageIdealHighPass>::New();highPassFilter->SetInputConnection(fftFilter->GetOutputPort());highPassFilter->SetXCutOff(0.1);highPassFilter->SetYCutOff(0.1);highPassFilter->Update();vtkSmartPointer<vtkImageRFFT> rfftFilter =vtkSmartPointer<vtkImageRFFT>::New();rfftFilter->SetInputConnection(highPassFilter->GetOutputPort());rfftFilter->Update();vtkSmartPointer<vtkImageExtractComponents> ifftExtractReal =vtkSmartPointer<vtkImageExtractComponents>::New();ifftExtractReal->SetInputConnection(rfftFilter->GetOutputPort());ifftExtractReal->SetComponents(0);vtkSmartPointer<vtkImageCast> castFilter =vtkSmartPointer<vtkImageCast>::New();castFilter->SetInputConnection(ifftExtractReal->GetOutputPort());castFilter->SetOutputScalarTypeToUnsignedChar();castFilter->Update();//vtkSmartPointer<vtkImageActor> originalActor =vtkSmartPointer<vtkImageActor>::New();originalActor->SetInputData(reader->GetOutput());vtkSmartPointer<vtkImageActor> erodedActor =vtkSmartPointer<vtkImageActor>::New();erodedActor->SetInputData(castFilter->GetOutput());//double leftViewport[4] = { 0.0, 0.0, 0.5, 1.0 };double rightViewport[4] = { 0.5, 0.0, 1.0, 1.0 };vtkSmartPointer<vtkRenderer> leftRenderer =vtkSmartPointer<vtkRenderer>::New();leftRenderer->AddActor(originalActor);leftRenderer->SetViewport(leftViewport);leftRenderer->SetBackground(1.0, 1.0, 1.0);leftRenderer->ResetCamera();vtkSmartPointer<vtkRenderer> rightRenderer =vtkSmartPointer<vtkRenderer>::New();rightRenderer->AddActor(erodedActor);rightRenderer->SetViewport(rightViewport);rightRenderer->SetBackground(1.0, 1.0, 1.0);rightRenderer->ResetCamera();//vtkSmartPointer<vtkRenderWindow> rw =vtkSmartPointer<vtkRenderWindow>::New();rw->SetSize(640, 320);rw->AddRenderer(leftRenderer);rw->AddRenderer(rightRenderer);rw->SetWindowName("IdealHighPassExample");vtkSmartPointer<vtkRenderWindowInteractor> rwi =vtkSmartPointer<vtkRenderWindowInteractor>::New();vtkSmartPointer<vtkInteractorStyleImage> style =vtkSmartPointer<vtkInteractorStyleImage>::New();rwi->SetInteractorStyle(style);rwi->SetRenderWindow(rw);rwi->Start();return 0;
}

3.运行结果


同低频滤波一样,首先将读入图像vtkImageFFT转换到频率空间,定义 vtkImageIdealHighPass对象,并通过SetCutOff()和SetYOff()设置X和Y方向的截止频率。然后通过vtkImageRFFT将处理后的图像转换到空域中,得到高通滤波图像。为了显示的需要,还需要提取图像分量和数据类型的转换。

VTK:频率处理——高通滤波(理想)相关推荐

  1. VTK:频率处理——高通滤波(巴特沃斯高通滤波)

    1.巴特沃斯高通滤波 理想的高通滤波不能通过电子元器件来实现,而存在振铃现象.在实际中最常见使用的高通滤波是巴特沃斯高通滤波器. D(u,v)表示频域中点到频域平面的距离,是截止频率.当D(u,v)大 ...

  2. c++ opencv数字图像处理:频率域滤波--高通滤波--理想高通滤波

    文章目录 前言 一.理想高通滤波器(IHPF) 二.代码 前言 数字图像处理c++ opencv(VS2019 opencv4.53)持续更新 一.理想高通滤波器(IHPF) 二.代码 主代码: #i ...

  3. 灰度图像的频率域滤波——理想低通滤波器(Matlab)

    clc; clear all; close all;%读入图像,并转换为double型 I=imread('D:\Gray Files\4-41.tif'); I_D=im2double(I); %获 ...

  4. VTK修炼之道42:频域处理_高通滤波(理想+巴特沃兹)

    1.理想高通滤波器 高通滤波与低通滤波正好相反,是频域图像的高频部分通过而抑制低频部分.在图像中图像的边缘对应高频分量,因此高通滤波的效果是图像锐化.同样最简单的高通滤波器是理想高通滤波器.通过设置一 ...

  5. 5.6.3 高通滤波(理想高通滤波+巴特沃斯高通滤波)

    1.理想高通滤波器 高通滤波与低通滤波正好相反,是频域图像的高频部分通过而抑制低频部分.在图像中图像的边缘对应高频分量,因此高通滤波的效果是图像锐化.同样最简单的高通滤波器是理想高通滤波器.通过设置一 ...

  6. VTK修炼之道41:频域处理_低通滤波(理想+巴特沃兹)

    1.低通滤波器 低通滤波是将频域图像中的高频部分滤除而通过低频部分.图像的边缘和噪声对应于频域图像中的高频部分,而低通滤波的作用即是减弱这部分的能量,从而达到图像平滑去噪的目的. 2.理想低通滤波器 ...

  7. 图像算法四:【图像增强--频率域】傅里叶变换、快速傅里叶变换、频域滤波、频域低通滤波、频域高通滤波

    频率域滤波与空间域滤波殊途同归,空间域图像增强与频率域图像增强是两种截然不同的技术,实际上在相当程度上说它们是在不同的领域做相同的事情,只是有些滤波更适合在空间域完成,而有些则更适合在频率域中完成. ...

  8. VTK:频域处理——低通滤波(理想+巴特沃斯)

    1.低通滤波器 低通滤波是将频域图像中的高频部分滤除而通过低频部分.图像的边缘和噪声对应于频域图像中的高频部分,而低频滤波的作用即是减弱这部分作用,从而达到图像平滑去噪的目的. 2.理想低通滤波器 最 ...

  9. OpenCV —— 频率域滤波(傅里叶变换,低通和高通滤波,带通和带阻滤波,同态滤波)

    频率域滤波 基本概念 傅里叶变换 二维离散的傅里叶变换 快速傅里叶变换 傅里叶幅度谱与相位谱 谱残差显著性检测 卷积与傅里叶变换的 频率域滤波 低通滤波和高通滤波 带通和带阻滤波 同态滤波 基本概念 ...

最新文章

  1. (2) 第二章 WCF服务与数据契约 服务契约详解(二)- 如何引用WCF提供的服务
  2. python类中方法的执行顺序-浅谈Python的方法解析顺序(MRO)
  3. 什么是SD-Branch的应用特性?—Vecloud微云
  4. vue-cli中的webpack配置
  5. php mysql 条件查询语句_where 查询条件-Medoo - 高效的轻量级PHP数据库框架, 提高开发效率!...
  6. Python: Python中的AttributeError错误
  7. React开发(140):react中ref为dom添加ref
  8. python md5加密数据
  9. java之sleep、wait、yield、join、notify乱解
  10. c语言运算符优先级结合,C语言运算符优先级和结合性
  11. Linux文件属性、权限设置
  12. python装饰器测试_python 装饰器
  13. Spark开发指南(0.8.1中文版)
  14. 别人都在谈降维攻击和下沉市场,而我却偏偏就要讲升维
  15. Excel 筛选 多表查找
  16. Android 10 默认输入法
  17. android源码编译1
  18. 抖音名字怎么改不了_抖音名字怎么改,抖音名字改不了,抖音名字已重置什么意思...
  19. Linux不是Windows(转)
  20. CUDA学习笔记(LU分解)

热门文章

  1. 广州铁路职业技术学院计算机基础证,广州铁路职业技术学院2012年自主招生中职计算机应用技术专业专业理论和技能考核大纲...
  2. php正则中不支持g修饰符吗,Pattern Modifiers – 规则表达式的修饰符(转载)发现PHP里有些正则表达式的应用和PERL里的不一样。。所…-PHP教程,PHP应用...
  3. RocketMq消息积压、消息重复、消息完整、消息顺序处理方案
  4. 贵州新华计算机学校图片,贵州新华电脑学院:第十届“新华杯”校园篮球联赛总决赛图片展...
  5. ubuntu9.10安装gmlive看网络电视 #ubuntu9.10 #gmlive #pplive #sopcast
  6. 【电大题酷】【1】4001建筑工程质量检验
  7. PyQt5学习(7):打印Qprinter
  8. JavaWeb项目使用BlazeDS整合Flex进行RemoteObject数据交互
  9. 合并完地下城服务器的显示,DNF公会合服玩法介绍 整合公会服务器操作设置一览...
  10. 创新声卡的设置和调试