77范文网 - 专业文章范例文档资料分享平台

opencv几种常见滤波器使用方法(2)

来源:网络收集 时间:2020-03-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

代入x,y 值可以算出F(X,Y)的值。

2.2 非线性滤波器

1.中值滤波:像素点 邻域灰度值的中值代替该像素点的灰度值。 2.双边滤波:基于空间分布的高斯滤波函数,比高斯滤波多一个sigma-d的高斯方差。

2.2.1 Opencv中提供的非线性滤波函数 1.中值滤波:medianBlur函数

函数原型:void medianBlur(InputArray src,OutputArray dst,int ksize) 参数说明:InputArray,输入图像src。 OutputArray ,输出图像dst.

int类型ksize,孔径的线性尺寸,这个参数必须是大于1的奇数

2.双边滤波:bilateralFilter(InputArray src,OutputArray dst, int d,

double sigmaColor,double sigmaSpace,

int borderType=BORDER_DEFAULT) 参数说明:InputArray,输入图像src。 OutputArray ,输出图像dst.

Int类型的d,表示过滤过程每个像素邻域的直径 double类型的sigmaColor,表示颜色滤波器的sigma值 Double类型的sigmaSpace,表示坐标空间的sigma值 Int类型boderType,推断图像外部像素的某种边界模式。默认值BORDER_DEFAULT。

)

三. 几种滤波器的使用

本示例在opencv3.0+VS2012运行环境下测试,不管利用opencv或者VS什么版本其实程序都是一样的。只不过在包含头文件时注意位置就好了。

#include using namespace cv; using namespace std;

#define WINDOWS_NAME1 \【原图】\ #define WINDOWS_NAME2 \【方框滤波】\ #define WINDOWS_NAME3 \【均值滤波】\ #define WINDOWS_NAME4 \【高斯滤波】\ #define WINDOWS_NAME5 \【中值滤波】\ #define WINDOWS_NAME6 \【双边滤波】\ int main() {

system(\);//把dos框背景颜色改变,只是看看效果,

默认dos框背景为黑色。

Mat srcImage=imread(\图片

\\\\Example4.jpg\);//读入原图

if (!srcImage.data) {

cout<<\读取srcImage错误~!\<

流,头文件要加“using namespace std;” }

//创建5个Mat矩阵用来存放滤波数据,利用clone函数使其大return false;

小和原图大小相同

Mat box_Image=srcImage.clone();

Mat blur_Image=srcImage.clone(); Mat gaussian_Image=srcImage.clone(); Mat median_Image=srcImage.clone(); Mat bilateral_Image=srcImage.clone();

//=================显示原图=================== namedWindow(WINDOWS_NAME1,1); imshow(WINDOWS_NAME1,srcImage);

//=================方框滤波=================== namedWindow(WINDOWS_NAME2,1);

boxFilter(srcImage,box_Image,-1,Size(3,3),Point(-1,-1),false,B

ORDER_DEFAULT);

imshow(WINDOWS_NAME2,box_Image);

//=================均值滤波=================== namedWindow(WINDOWS_NAME3,1);

blur(srcImage,blur_Image,Size(3,3),Point(-1,-1),BORDER_DE

FAULT);

imshow(WINDOWS_NAME3,blur_Image);

//=================高斯滤波=================== namedWindow(WINDOWS_NAME4,1);

GaussianBlur(srcImage,gaussian_Image,Size(3,3),0,0,BORDE

R_DEFAULT);

imshow(WINDOWS_NAME4,gaussian_Image);

//=================中值滤波=================== namedWindow(WINDOWS_NAME5,1); medianBlur(srcImage,median_Image,7); imshow(WINDOWS_NAME5,median_Image);

//=================双边滤波=================== namedWindow(WINDOWS_NAME6,1);

bilateralFilter(srcImage,bilateral_Image,25,25*2,25/2,BORDE

R_DEFAULT);

imshow(WINDOWS_NAME6,bilateral_Image); cvWaitKey(0); return 0; }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库opencv几种常见滤波器使用方法(2)在线全文阅读。

opencv几种常见滤波器使用方法(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/908022.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: