Opencv2系列学习笔记8(图像滤波)
来源:互联网 发布:c 五子棋源码 编辑:程序博客网 时间:2024/06/18 13:59
一:概念:
滤波是信号处理机图像处理中的一个基本操作。滤波去除图像中的噪声,提取感兴趣的特征,允许图像重采样。
图像中的频域和空域:空间域指用图像的灰度值来描述一幅图像;而频域指用图像灰度值的变化来描述一幅图像。而低通滤波器和高通滤波器的概念就是在频域中产生的。
低通滤波器指去除图像中的高频成分,而高通滤波器指去除图像中的低频成分。
后面将介绍低通滤波器—均值和高斯滤波器;中值滤波器—非线性滤波器;高通滤波器—sobel算子(方向滤波器)和拉普拉斯变换(二阶导数)。其中利用方向滤波器和拉普拉斯变换可以对图像的边缘进行检测。
二:低通滤波器
<1>cv::blur函数:每个像素替换为相邻矩形内像素的平均值
<2>cv::GaussianBlur函数:通过高斯核来进行替换
Code:
Result:
sourceImage:
BlurResult:
GaussianBlur:
低通滤波器的效果是对图像进行模糊和平滑,减弱了物体边缘可见的快速变化。它是一种线性滤波器,原理是与核进行卷积运算,此时的核内定,当我们需要指定核函数进行卷积时可以用filter2D函数,它的使用见blog:http://blog.csdn.net/lu597203933/article/details/16811851。
三:中值滤波器
中值滤波器是非线性滤波器,它的原理是仅仅计算这组数的中值,并用中值替换当前的像素值。因此对于去除椒盐噪点非常有用。
Code:
Result:
三:方向滤波器—sobel算子
Sobel算子就是通过卷积操作来计算图像的一阶导数,由于边缘处图像灰度变化率较大,因此可以用sobel算子来进行边缘检测。Sobel算子的核定义为:
y坐标轴:
x坐标轴:
Sobel函数:Sobel(InputArray src, OutputArray dst, int ddepth,
int dx, int dy, int ksize=3,
doublescale=1, double delta=0,
int borderType=BORDER_DEFAULT );
其中ddepth为图像类型, (dx,dy) = (1,0)为x方向导数,(dx,dy) = (0,1)为y方向导数,scale和delta的作用是再保存前可以对图像进行缩放,公式为:dst =dst * scale + delta.
Code:
Result:
当然除了sobel算子,还有其它的算子,如Scharr算子,它更精确、快。它的核为:
Sobel(image, sobelX, CV_16S, 1, 0,CV_SCHARR);
或者:
Scharr(image, scharrX, CV_16S, 1, 0, 3);
四:拉普拉斯变换
拉普拉斯变化时基于图像导数的高通滤波器,计算二阶导数以衡量图像的弯曲度
Code:
Result:
作者:小村长 出处:http://blog.csdn.net/lu597203933 欢迎转载或分享,但请务必声明文章出处。 (新浪微博:小村长zack, 欢迎交流!)
- Opencv2系列学习笔记8(图像滤波)
- Opencv2系列学习笔记8(图像滤波)
- opencv2.x学习笔记(七)图像滤波操作
- OpenCV2学习笔记(五):图像滤波基础
- Opencv2系列学习笔记1(图像的基本操作)
- Opencv2系列学习笔记2(图像的遍历)
- Opencv2系列学习笔记2_2(图像的其它操作)
- Opencv2系列学习笔记7(图像形态学运算)
- Opencv2系列学习笔记2(图像的遍历)
- Opencv2系列学习笔记1(图像的基本操作)
- Opencv2系列学习笔记2(图像的遍历)
- Opencv2系列学习笔记2_2(图像的其它操作)
- Opencv2系列学习笔记7(图像形态学运算)
- OpenCV2:图像滤波基础
- OpenCV2学习笔记(十九):Kalman滤波算法
- opencv2学习笔记:4.2计算图像直方图
- OpenCv2 学习笔记(2) Mat图像显示
- 图像处理 非线性滤波 学习笔记
- 从C语言的角度出发理解C++的封装继承和多态
- c++
- 高斯消元模板
- 乱序检查
- Java:基本类型和字符串的转换
- Opencv2系列学习笔记8(图像滤波)
- uva129回朔法
- code hunt JAVA01
- 用phpcms如何将静态页面制作成企业网站(中)
- 操作系统——进程和线程管理一节总结(1)
- R语言中package ‘xxxx’ is not available (for R version 3.2.5)解决
- 工作三年后对自己的告诫-
- 数据结构 最短路径之—迪杰斯特拉算法
- Ubuntu-unable to resolve host