数据滤波

Python下opencv使用笔记(图像频域滤波与傅里叶变换)

空扰寡人 提交于 2019-12-02 12:50:34
https://blog.csdn.net/anqijiayou/article/details/79835853 Python下opencv使用笔记(图像频域滤波与傅里叶变换) 2018-04-06 19:07:26 一只程序喵 阅读数 980 更多 分类专栏: python+opencv 本文转载自 https://blog.csdn.net/on2way/article/details/46981825 首先谢谢原创博主了,这篇文章对我帮助很大,记录下方便再次阅读。 Python下opencv使用笔记(图像频域滤波与傅里叶变换) 前面曾经介绍过空间域滤波,空间域滤波就是用各种模板直接与图像进行卷积运算,实现对图像的处理,这种方法直接对图像空间操作,操作简单,所以也是空间域滤波。 频域滤波说到底最终可能是和空间域滤波实现相同的功能,比如实现图像的轮廓提取,在空间域滤波中我们使用一个拉普拉斯模板就可以提取,而在频域内,我们使用一个高通滤波模板(因为轮廓在频域内属于高频信号),可以实现轮廓的提取,后面也会把拉普拉斯模板频域化,会发现拉普拉斯其实在频域来讲就是一个高通滤波器。 既然是频域滤波就涉及到把图像首先变到频域内,那么把图像变到频域内的方法就是傅里叶变换。关于傅里叶变换,感觉真是个伟大的发明,尤其是其在信号领域的应用,对于傅里叶变换的理解,要是刚接触这个东西

FFmpeg libavfilter使用方法及音视频倍速

[亡魂溺海] 提交于 2019-12-02 12:19:32
背景: 本文介绍FFmpeg中libavfilter的使用方法,并以其实现音视频倍速功能。 libavfilter介绍: libavfilter是FFmpeg提供的滤波器类,可以用其做一些音视频处理,如音视频倍速、水平翻转、裁剪、加方框、叠加文字等功能。 例如之前介绍过的音频重采样,视频的像素格式转换,本质上也是滤波,所以libavfilter也可以实现libswresample、libswscale提供的对音视频格式变换的功能。 1、基本概念: libavfilter结构类似于directShow,可以同时存在多个filter(滤波器)。 1、每个filter具有input及output端口,经过filter后,音视频数据会根据滤波器特性进行相应处理。 2、一个filter的output可以和另一个filter的input link起来,多个filter组合后统一到libavfilter的Graph(滤波器组图表)之中。第一个滤波器称为src,它只有output端口,最后一个滤波器称为sink,它只有input端口。 3、整合后提交整个Graph 4、使用时,用户将数据放入src中,经过多个filter处理后,从sink获取处理后的数据。 2、基本结构: 一整个滤波的流程称为滤波过程。下面是一个滤波过程的结构 结构体AVFilterGraph 用于统合这整个滤波过程的结构体

基于记忆性的中值滤波O(r)与O(1)复杂度的算法实现

南楼画角 提交于 2019-12-01 06:16:21
   本文参考博客: https://www.cnblogs.com/Imageshop/archive/2013/04/26/3045672.html   原生的中值滤波是基于排序算法的,这样的算法复杂度基本在O(r 2 )左右,当滤波半径较大时,排序算法就显得很慢。对此有多种改进算法,这里介绍经典 的Huang算法与O(1)算法,两者都是基于记忆性的算法,只是后者记性更强。   排序算法明显的一个不足之处就是无记忆性。当核向右移动一列后,只是核的最左和最右列数据发生了变化,中间不变的数据应当被存储起来,而排序算法 并没有做到这点。Huang算法的思想是建立一个核直方图,来统计核内的各灰度的像素数。当核向右移动时,就将新的一列所有数据加入到直方图中,同时将最 左列的旧数据从直方图中删除,如下图所示。这样做使得大部分数据能够被记忆,减少重复操作。当直方图更新完毕后,就可以通过从左到右累计像素来找到中值。                  下面是算法具体实现步骤与代码:   1.每行开始都将直方图、像素计数、中值变量清零,将核覆盖的所有像素加到直方图中。   2.计算中值,sumcnt为小于中值灰度的像素数和。如果当前sumcnt大于等于阈值,则表明,实际中值比当前median小,则直方图向左减去像素数,同时median    也减小,直到sumcnt小于阈值

PCL1.8.1 滤波

蹲街弑〆低调 提交于 2019-11-28 13:16:33
直通滤波器 指定点云中特定字段域的数字范围,保留或剔除操作 http://pointclouds.org/documentation/tutorials/passthrough.php#passthrough #include <iostream> #include <pcl/point_types.h> #include <pcl/filters/passthrough.h> pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>); pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered (new pcl::PointCloud<pcl::PointXYZ>); // Create the filtering object pcl::PassThrough<pcl::PointXYZ> pass; pass.setInputCloud (cloud); //设置pcl::PointXYZ中字段域z pass.setFilterFieldName ("z"); pass.setFilterLimits (0.0, 1.0); //默认是false,表示保留z字段是0.0-1.0的点云数据 true:不保留 pass

基于XC2V1000型FPGA的FIR抽取滤波器的设计

99封情书 提交于 2019-11-28 02:37:45
http://hi.baidu.com/hieda/blog/item/3613b6bf6f4dd00e18d81f78.html 基于XC2V1000型FPGA的FIR抽取滤波器的设计 摘要 :介绍XC2V1000型现场可编程门阵列(FPGA)的主要特性和FIR抽取滤波器的工作原理,重点阐述用XC2V1000实现FIR抽取滤波器的方法,并给出仿真波形和设计特点。 关键词 :FIR抽取滤波器;流水线操作;XC2V1000;现场可编程门阵列 1 引言 抽取滤波器广泛应用在数字接收领域,是数字下变频器的核心部分。目前,抽取滤波器的实现方法有3种:单片通用数字滤波器集成电路、DSP和可编程逻辑器件。使用单片通用数字滤波器很方便,但字长和阶数的规格较少,不能完全满足实际需要。使用DSP虽然简单,但程序要顺序执行,执行速度必然慢。现场可编程门阵列(FPGA)有着规整的内部逻辑阵列和丰富的连线资源,特别适用于数字信号处理,但长期以来,用FPGA实现抽取滤波器比较复杂,其原因主要是FPGA中缺乏实现乘法运算的有效结构。现在,FPGA集成了乘法器,使FPGA在数字信号处理方面有了长足的进步。本文介绍用Xilinx公司的XC2V1000型FPGA实现FIR抽取滤波器的设计方法。 2 XC2V1000简介 Virtex-Ⅱ系列是Xilinx公司近几年研发的具有高性能、高速度和低功耗特点的新一代FPGA

Tuner工作原理详解

你。 提交于 2019-11-27 20:31:49
Tuner是什么? 为了提高电视信号的传输效率,减少于扰,电视信号通常都采用射频(RF)信号传输方式,即把要传输的视频或音频信号调制(作幅度调制AM或频率调制FM)到频率较高的射频载波上,从发信端发送出去; 在收信端,为了使观众或听众原原本本地看到和听到原来的图象和声音,接收机要将载有我们所希望的图象和声音的载频信号从大量的射频信号中选择出来,然后还要对其进行一系列的处理。 在接收端我们使用到的芯片就是Tuner,也就是调谐器,实现 Cable信号的接收、滤波、放大、增益控制 等功能。 如下为Tuner的框图: 以上框图包含的引脚(Tuner一般都含有的引脚电源与地除外): RFIN:射频输入引脚; LT:RF环通输出引脚; XTAL:晶体引脚,1输入1输出; IFOUT:零中频输出信号,一般是差分输出; AGC:自动增益控制; IIC:内部控制接口,IIC; AS:IIC地址控制; CP:电荷泵输出,用于内部锁相环; XTALINSEL:参考时钟配置; GPIO:其他控制口。 以上框图中包含的电路功能块: (1)输入滤波(也可能在外部自行添加): 因为我们输入的为射频信号,但同时也会包含高频的/低频的一些干扰信号,为了去掉(衰减)这些干扰信号,我们使用带通滤波器来选择有用的信号,衰减干扰信号;但是我们的滤波器设计时可能会影响到输入的S11参数,所以需要加入S11参数调整网络。