VTK:频率处理——高通滤波(理想)
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:频率处理——高通滤波(理想)相关推荐
- VTK:频率处理——高通滤波(巴特沃斯高通滤波)
1.巴特沃斯高通滤波 理想的高通滤波不能通过电子元器件来实现,而存在振铃现象.在实际中最常见使用的高通滤波是巴特沃斯高通滤波器. D(u,v)表示频域中点到频域平面的距离,是截止频率.当D(u,v)大 ...
- c++ opencv数字图像处理:频率域滤波--高通滤波--理想高通滤波
文章目录 前言 一.理想高通滤波器(IHPF) 二.代码 前言 数字图像处理c++ opencv(VS2019 opencv4.53)持续更新 一.理想高通滤波器(IHPF) 二.代码 主代码: #i ...
- 灰度图像的频率域滤波——理想低通滤波器(Matlab)
clc; clear all; close all;%读入图像,并转换为double型 I=imread('D:\Gray Files\4-41.tif'); I_D=im2double(I); %获 ...
- VTK修炼之道42:频域处理_高通滤波(理想+巴特沃兹)
1.理想高通滤波器 高通滤波与低通滤波正好相反,是频域图像的高频部分通过而抑制低频部分.在图像中图像的边缘对应高频分量,因此高通滤波的效果是图像锐化.同样最简单的高通滤波器是理想高通滤波器.通过设置一 ...
- 5.6.3 高通滤波(理想高通滤波+巴特沃斯高通滤波)
1.理想高通滤波器 高通滤波与低通滤波正好相反,是频域图像的高频部分通过而抑制低频部分.在图像中图像的边缘对应高频分量,因此高通滤波的效果是图像锐化.同样最简单的高通滤波器是理想高通滤波器.通过设置一 ...
- VTK修炼之道41:频域处理_低通滤波(理想+巴特沃兹)
1.低通滤波器 低通滤波是将频域图像中的高频部分滤除而通过低频部分.图像的边缘和噪声对应于频域图像中的高频部分,而低通滤波的作用即是减弱这部分的能量,从而达到图像平滑去噪的目的. 2.理想低通滤波器 ...
- 图像算法四:【图像增强--频率域】傅里叶变换、快速傅里叶变换、频域滤波、频域低通滤波、频域高通滤波
频率域滤波与空间域滤波殊途同归,空间域图像增强与频率域图像增强是两种截然不同的技术,实际上在相当程度上说它们是在不同的领域做相同的事情,只是有些滤波更适合在空间域完成,而有些则更适合在频率域中完成. ...
- VTK:频域处理——低通滤波(理想+巴特沃斯)
1.低通滤波器 低通滤波是将频域图像中的高频部分滤除而通过低频部分.图像的边缘和噪声对应于频域图像中的高频部分,而低频滤波的作用即是减弱这部分作用,从而达到图像平滑去噪的目的. 2.理想低通滤波器 最 ...
- OpenCV —— 频率域滤波(傅里叶变换,低通和高通滤波,带通和带阻滤波,同态滤波)
频率域滤波 基本概念 傅里叶变换 二维离散的傅里叶变换 快速傅里叶变换 傅里叶幅度谱与相位谱 谱残差显著性检测 卷积与傅里叶变换的 频率域滤波 低通滤波和高通滤波 带通和带阻滤波 同态滤波 基本概念 ...
最新文章
- (2) 第二章 WCF服务与数据契约 服务契约详解(二)- 如何引用WCF提供的服务
- python类中方法的执行顺序-浅谈Python的方法解析顺序(MRO)
- 什么是SD-Branch的应用特性?—Vecloud微云
- vue-cli中的webpack配置
- php mysql 条件查询语句_where 查询条件-Medoo - 高效的轻量级PHP数据库框架, 提高开发效率!...
- Python: Python中的AttributeError错误
- React开发(140):react中ref为dom添加ref
- python md5加密数据
- java之sleep、wait、yield、join、notify乱解
- c语言运算符优先级结合,C语言运算符优先级和结合性
- Linux文件属性、权限设置
- python装饰器测试_python 装饰器
- Spark开发指南(0.8.1中文版)
- 别人都在谈降维攻击和下沉市场,而我却偏偏就要讲升维
- Excel 筛选 多表查找
- Android 10 默认输入法
- android源码编译1
- 抖音名字怎么改不了_抖音名字怎么改,抖音名字改不了,抖音名字已重置什么意思...
- Linux不是Windows(转)
- CUDA学习笔记(LU分解)
热门文章
- 广州铁路职业技术学院计算机基础证,广州铁路职业技术学院2012年自主招生中职计算机应用技术专业专业理论和技能考核大纲...
- php正则中不支持g修饰符吗,Pattern Modifiers – 规则表达式的修饰符(转载)发现PHP里有些正则表达式的应用和PERL里的不一样。。所…-PHP教程,PHP应用...
- RocketMq消息积压、消息重复、消息完整、消息顺序处理方案
- 贵州新华计算机学校图片,贵州新华电脑学院:第十届“新华杯”校园篮球联赛总决赛图片展...
- ubuntu9.10安装gmlive看网络电视 #ubuntu9.10 #gmlive #pplive #sopcast
- 【电大题酷】【1】4001建筑工程质量检验
- PyQt5学习(7):打印Qprinter
- JavaWeb项目使用BlazeDS整合Flex进行RemoteObject数据交互
- 合并完地下城服务器的显示,DNF公会合服玩法介绍 整合公会服务器操作设置一览...
- 创新声卡的设置和调试