学习opencv之各种基本平滑处理
来源:互联网 发布:域名的好处 编辑:程序博客网 时间:2024/06/05 11:38
归一化块滤波器:
输出像素值是核窗口内像素值的均值 ( 所有像素加权系数相等)
blur(src, dst, ksize, anchor, borderType)
src: 输入图像
dst: 输出图像
Size( w,h ): 定义内核大小( w 像素宽度, h 像素高度)
Point(-1, -1): 指定锚点位置(被平滑点), 如果是负值,取核的中心为锚点,如果是缺省也是这个
高斯滤波器:
void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT ) ;
src和dst当然分别是输入图像和输出图像
Ksize为高斯滤波器模板大小
sigmaX和sigmaY分别为高斯滤波在横向和竖向的滤波系数
borderType为边缘扩展点插值类型
中值滤波器:
medianBlur(InputArray src, OutputArray dst, int ksize)
src和dst当然分别是输入图像和输出图像
Ksize为中值滤波器模板大小
双边滤波器:
双边滤波器会依据每个像素及其领域构造一个加权平均值,加权计算包括两部分,
其中第一部分加权方式与高斯平滑中的相同,
第二部分也属于高斯加权,但不是基于中心像素与其他像素的空间距离之上的加权,而是基于其他像素与中心像素的亮度差值的加权。
可以将高斯模糊视为高斯平滑,对相似的像素赋予较高的权重,不相似的像素赋予较小的权重。
bilateralFilter(InputArray src, OutputArray dst, int d, double sigmaColor, double sigmaSpace,int borderType=BORDER_DEFAULT )
src和dst当然分别是输入图像和输出图像。
d为每个像素领域的直径,
sigmaColor为颜色空间的标准偏差,
sigmaSpace为坐标空间的标准偏差。
borderType为边缘点插值类型。
代码演示如下:
// 1.1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include"opencv243.h"using namespace std;using namespace cv;Mat dst;//归一化块滤波器void blurs(Mat image){blur(image,dst,Size(5,5));}//高斯滤波void Gblur(Mat image){GaussianBlur(image,dst,Size(5,5),0,0);}//中值滤波器void Mblur(Mat image){medianBlur(image,dst,5);}//双边滤波void Bblur(Mat image){bilateralFilter(image,dst,10,40,150);}int _tmain(int argc, _TCHAR* argv[]){Mat image=imread("C:\\Users\\sony\\Desktop\\Lena.jpg");if(image.empty()) return -1;/*blurs(image);imshow("Normalized Box Filter",dst);*//*Gblur(image);imshow("Gaussian filter",dst);*//*Mblur(image);imshow("Median Filter",dst);*/Bblur(image);imshow("Bilteral Filter",dst);waitKey(0);return 0;}
- 学习opencv之各种基本平滑处理
- OpenCv学习笔记之图像平滑处理
- Opencv学习笔记-平滑处理
- OpenCV学习笔记-平滑处理
- OPENCV的学习:平滑处理
- OpenCV之图像平滑处理
- OpenCV学习之图像平滑
- 【OpenCV】OpenCV 2.4版本 图像各种平滑(模糊)处理
- OpenCV图像处理篇之图像平滑
- OpenCV中的平滑处理
- 【opencv】图像平滑处理
- opencv图像平滑处理
- opencv图像平滑处理
- opencv:平滑处理
- 学习OpenCV范例(十)——图像平滑处理
- opencv学习笔记6 图像平滑处理cvSmooth
- opencv学习笔记(六)-平滑处理图像
- 学习opencv(4)——平滑处理 cvSmoooth()
- Android手势滑动GestureDetector和OnGestureListener(二)
- 详解之android动画interpolator插补器
- Android开发常见问题备忘
- SPOOL
- C语言中没有定义bool类型
- 学习opencv之各种基本平滑处理
- 苹果发布了QuickTime Windows版本的安全升级补丁
- c++基础---之C语言运算符优先级及结合性
- 整合Struts2.3.12+hibernate4.2.0+spring3.2.2
- Android手势滑动GestureDetector和OnGestureListener(一)
- 博客启用
- Android 4.0新增WiFiDirect功能
- 免费的Android UI库及组件推荐
- 机器学习中的算法(2)-支持向量机(SVM)基础