在图像处理或者计算机视觉应用中,在正式对图像进行分析处理前一般需要一个预处理的过程。预处理是对图像作一些诸如降维、降噪的操作,主要是为后续处理提供一个体积合适的、只包含所需信息的图像。这里通常会用到一些滤波处理手法。滤波,实际上是信号处理里的一个概念,而图像本身也可以看成是一个二维的信号,其中像素点灰度值的高低代表信号的强弱。对应的高低频的意义:高频:图像中灰度变化剧烈的点,一般是图像轮廓或者是噪声。低频:图像中平坦的,灰度变化不大的点,图像中的大部分区域。根据图像的高频与低频的特征,我们可以设计相应的高通与低通滤波器,高通滤波可以检测图像中尖锐、变化明显的地方;低通滤波可以让图像变得光滑,滤除图像中的噪声。OpenCV中提供的低通滤波有:线性的均值滤波器、高斯滤波器,非线性的双边滤波器、中值滤波器;高通滤波有基于Canny,Sobel等各种边缘滤波。这里大家可以看到低通滤波和高通滤波其实是相互矛盾的,但很多时候在做边缘检测前我们又需要进行低通滤波来降噪,这里就需要调节参数在保证高频的边缘不丢失的前提下尽可能的多去除图片的噪点。线性滤波器线性滤波器可以看做是用一个矩阵(滤波器的核)完整扫过源图片得到新图像,其中扫描的方式称为卷积。这里先介绍下核和卷积这两个概念。核 说白了就是一个固定大小的数值矩阵。该数组带有一个锚点 ,一般位于矩阵中央,如下图的-4。核可以是OpenCV已经定义好的均值滤波器核和高斯滤波器核,也可以自定义核。卷积 的计算方法其实也很简单:

  1. 将核的锚点放在该特定位置的像素上,同时,核内的其他值与该像素邻域的各像素重合;
  2. 将核内各值与相应像素值相乘,并将乘积相加;
  3. 将所得结果放到与锚点对应的像素上;
  4. 对图像所有像素重复上述过程。

用公式表示上述过程如下:下图为例,核锚点在中央,锚点放在源图红色区96的位置,分别相乘后求和,得到92为滤波后图像的值。这里对比结果图和源图,可以发现源图四周一圈的像素点已经丢失了,这里OpenCV提供的函数会自动帮我们补齐周围一圈使得源图和结果图尺寸一样。知道原理之后,再来看看常用的滤波和如何自定义线性滤波器吧。均值滤波

blur( src, dst, size, anchor = Point(-1,-1), borderType);

这个滤波是一个平滑图像的滤波器,它用一个点邻域内像素的平均灰度值来代替该点的灰度,看它的核就很容易理解了:高斯滤波

cv::GaussianBlur(src, dst, cv::Size(5,5), 1.5);

上面的均值滤波的平滑原理是用邻域内的平均值来代替当前的灰度值,但是我们往往希望越靠近该像素的点提供越高的权重,这样就产生了高斯模糊滤波。它的核是一个高斯分布的二维矩阵,中间大,向四周逐渐减小。自定义线性滤波器我们还可以自己设计核来完成个性化的滤波需求,根据原理我们也可以自己编程遍历图像像素做卷积求得结果,但更安全方便的方法是使用OpenCV函数 filter2D 创建自己的线性滤波器。

filter2D(src, dst, ddepth , kernel, anchor, delta, BORDER_DEFAULT );

前面的滤波都是模糊处理的,比如现在需要锐化图像,那可以很简单的设置一个核为即可。非线性滤波中值滤波中值滤波将图像的每个像素用邻域 (以当前像素为中心的正方形区域)像素的中值代替。比如上图源图的红色区域里,中值是96,所以结果图中该点的值为96。非双边滤波双边滤波是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。具有简单、非迭代、局部的特点。这个滤波器相对复杂,具体原理可以看这.http://blog.csdn.net/abcjennifer/article/details/7616663

中值滤波_图像处理之低通滤波相关推荐

  1. matlab 对图像进行低通滤波,matlab图像处理实现低通滤波

    matlab图像处理实现低通滤波 matlab图像处理实现低通滤波 clc; clear all; img=imread('lena.jpg'); img_noise = imnoise(img, ' ...

  2. 均值滤波计算_图像处理之低通滤波

    在图像处理或者计算机视觉应用中,在正式对图像进行分析处理前一般需要一个预处理的过程.预处理是对图像作一些诸如降维.降噪的操作,主要是为后续处理提供一个体积合适的.只包含所需信息的图像.这里通常会用到一 ...

  3. MATLAB图像处理--高斯低通滤波、高斯高通滤波(代码及示例)

    本文目录 常用的滤波器 高斯低通滤波器 matlab代码 高斯高通滤波器 Butterworth 低通滤波器 常用的滤波器 常用的滤波器有以下几种: 频域滤波器 频域平滑滤波器 理想低通滤波器 巴特沃 ...

  4. 用matlab编程实现数字图像理想低通滤波、高斯低通滤波和巴特沃斯低通滤波去噪算法

    1 理想低通滤波 %理想低通 I = imread('fig.png'); I=rgb2gray(I); figure(1); subplot(221),imshow(I); title('原图像') ...

  5. python理想低通滤波、巴特沃斯低通滤波、高斯低通滤波实现

    代码 代码如下(示例): import numpy as np import cv2 as cv image = cv.imread('2.PNG') # print(image.shape) ima ...

  6. 图像处理之Mean Shift滤波(边缘保留的低通滤波)

    一:Mean Shift算法介绍 Mean Shift是一种聚类算法,在数据挖掘,图像提取,视频对象跟踪中都有应用.本文 重要演示Mean Shift算法来实现图像的低通边缘保留滤波效果.其处理以后的 ...

  7. 图像处理------Mean Shift滤波(边缘保留的低通滤波)

    一:Mean Shift算法介绍 Mean Shift是一种聚类算法,在数据挖掘,图像提取,视频对象跟踪中都有应用.本文 重要演示Mean Shift算法来实现图像的低通边缘保留滤波效果.其处理以后的 ...

  8. matlab常见的图像增强技术(包括基于幂次变换,对图像进行均衡化处理,巴特沃斯低通,理想低通,梯形低通滤波, 均值滤波,中值滤波,最大,最小值滤波,修正后的阿尔法滤波器)

    1.基于幂次变换中的r值,比较不同r 值下图像增强的效果 代码 : I = imread('D:\图片\TH.JFIF');subplot (1,4,1);imshow(I);title('原始图像' ...

  9. 《OpenCv视觉之眼》Python图像处理七 :Opencv图像处理之高通滤波和低通滤波原理及构造

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

最新文章

  1. Leetcode 252, 253. Meeting Rooms
  2. ubuntu编译linux报错/bin/sh: 1: mkimage: not found
  3. IDEA mybatis-generator 逆向工程
  4. JavaSript实现调用google地图输入经度,纬度移动到该点,同时对点做标记
  5. VC6中使用高版本系统API的方法
  6. BZOJ 3731: Gty的超级妹子树
  7. 【算法分析与设计】找到最重的球
  8. PHP生成zip压缩包
  9. 【心电信号】基于matlab GUI心电信号数字滤波处理【含Matlab源码 484期】
  10. tl-wdr5620千兆版设置虚拟服务器,TL-WDR5620路由器如何设置 TL-WDR5620路由器上网设置步骤【介绍】...
  11. 深度访谈: 怎样玩转天猫?看这九本书就够了
  12. 锐浪HTML5报表实际应用方法,解决锐浪Grid++报表在谷歌等浏览器不兼容的尴尬局面
  13. 王心凌的「爱你」,我们用Python跳起来!
  14. win7下安装网络共享打印机 hp LaserJet 1010
  15. 半定制器件课程设计——基于FPGA的PS2键盘人机输入显示系统
  16. windwos使用代理软件的问题
  17. Android实用小代码
  18. 对象存储Minio 客户端工具类,实现文件上传、图像压缩、图像添加水印
  19. 一条sql语句添加多个字段
  20. matlab curve fitting工具箱,[matlab工具箱] 曲线拟合Curve Fitting

热门文章

  1. Win7的常用快捷键以及设置
  2. 常见的SAS接口类型、接口连接器外观详细解读
  3. 《算法图解》——广度优先探索与队列
  4. linux php添加扩展zip libzip ZipArchive功能
  5. windows系统bat批处理 网络设置大全 设置静态、动态IP地址
  6. cesium 球体半倾斜角度
  7. ubuntu执行python脚本_在启动时运行python脚本作为守护进程(Ubuntu)
  8. python list find函数_对python中list的五种查找方法说明
  9. python apply函数_8 个 Python 高效数据分析的技巧
  10. php 5.6.6.tar.gz.asc,Signature Checking Using GnuPG