OpenCV开发学习之算法基础之线性滤波对比-方框、均值、高斯滤波_第1页
OpenCV开发学习之算法基础之线性滤波对比-方框、均值、高斯滤波_第2页
OpenCV开发学习之算法基础之线性滤波对比-方框、均值、高斯滤波_第3页
OpenCV开发学习之算法基础之线性滤波对比-方框、均值、高斯滤波_第4页
OpenCV开发学习之算法基础之线性滤波对比-方框、均值、高斯滤波_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、三种线性滤波器比较方柜驱菠使曲模板内的歸世厅巻駅滤澄蛊接型星杰仗里均污滤菠是冃桓腹内带有逮刪三览垣代潜廩忑4:病!融蛊世,均谊滤觴方狂潘皮島晰主.唾=岳刊不訖赛消醸疋戸口苣轻为一种持蘇刑式疋癖礙声高口建慝是杆崭人数幻岳空一*頰青点与敲i内蛭迸兌釈运岂阳匿像邙域軒图曦逆行平湄岳巨可.巨对影良多的闻国图内慷歪进行年涓时.邻城内不可宙腥歪蜩予不冋的权营愫的总休衣商歸I椒盐噪声椒盐噪声也称为脉冲噪声,是图像中经常见到的一种噪声,它是一种随机出现的白点或者黑点,可能是亮的区域有黑色像素或是在暗的区域有白色像素(或是两者皆有)。椒盐噪声的成因可能是影像讯号受到突如其来的强烈干扰而产生、类比数位转换器或位元

2、传输错误等。例如失效的感应器导致像素值为最小值,饱和的感应器导致像素值为最大值。脉冲噪声脉冲噪声(pulsenoise)在通信中出现的离散型噪声的统称。它由时间上无规则出现的突发性干扰组成。脉冲噪声(impulsivenoise)是非连续的,由持续时间短和幅度大的不规则脉冲或噪声尖峰组成。产生脉冲噪声的原因多种多样,其中包括电磁干扰以及通信系统的故障和缺陷,也可能在通信系统的电气开关和继电器改变状态时产生。脉冲噪声对模拟数据一般仅是小麻烦。但在数字式数据通信中,脉冲噪声是出错的主要原因。脉冲噪声,它的持续时间小于1秒、噪声强度峰值比其均方根值大于10dB,而重复频率又小于10Hz的间断性噪声。

3、脉冲噪声:突然爆发又很快消失,举个例子:持续时间W0.5s,间隔时间1s,声压有效值变化40dB(A)的噪声。Demo源码voidOpenCVManager:testBoxAndBlurAndGaussianBlurFilter()QStringfileNamel=E:/qtProject/openCVDemo/openCVDemo/modules/openCVManager/images/l.jpg;cv:MatsrcMat=cv:imread(fileNamel.toStdString();cv:StringwindowName=_windowTitle.toStdString();cvu

4、i:init(windowName);cv:resize(srcMat,srcMat,cv:Size(400,300);qDebug()_FILE_LINE_srcMat.rowssrcMat.cols;if(!srcMat.data)qDebug()_FILE_LINE_Failedtoloadimage:fileNamel;return;cv:MatdstMat;dstMat=cv:Mat:zeros(srcMat.size(),srcMat.type();cv:MatwindowMat=cv:Mat(cv:Size(srcMat.cols*3,srcMat.rows*3),srcMat.

5、type();boolisBoxFilter=true;intksize=3;/核心大小intanchor=-1;/锚点,正数的时候必须小于核心大小,即:-1=anchorksizeintksize2=3;/核心大小intanchor2=-1;/锚点,正数的时候必须小于核心大小,即:-1=anchor=ksize)anchor=ksize-1;cvui:printf(windowMat,500,180,anchor);cvui:trackbar(windowMat,500,190,200,&anchor,-1,ksize-1);/方框滤波cv:boxFilter(srcMat,dstMat,-

6、1,cv:Size(ksize,ksize),cv:Point(anchor,anchor),isBoxFilter);/效果图copy到右边/注意:rang从位置1到位置2,不是位置1+宽度cv:MatrightMat=windowMat(cv:Range(0,srcMat.rows),cv:Range(srcMat.cols*2,srcMat.cols*3);cv:addWeighted(rightMat,0.0f,dstMat,1.0f,0.0f,rightMat);/原图先copy到左边cv:MatleftMat=windowMat(cv:Range(srcMat.rows*1,src

7、Mat.rows*2),cv:Range(0,srcMat.cols);cv:addWeighted(leftMat,0.0f,srcMat,1.0f,0.0f,leftMat);/中间为调整滤波参数的相关设置cvui:printf(windowMat,500,100+300,ksize);cvui:trackbar(windowMat,500,110+300,200,&ksize2,1,10);if(anchor2=ksize2)anchor2=ksize2-1;cvui:printf(windowMat,500,160+300,anchor);cvui:trackbar(windowMat

8、,500,170+300,200,&anchor2,-1,ksize2-1);/均值滤波:方框滤波比均值滤波多了颜色深度的参数cv:blur(srcMat,dstMat,cv:Size(ksize2,ksize2),cv:Point(anchor2,anchor2);/效果图copy到右边/注意:rang从位置1到位置2,不是位置1+宽度cv:MatrightMat=windowMat(cv:Range(srcMat.rows*1,srcMat.rows*2),cv:Range(srcMat.cols*2,srcMat.cols*3);cv:addWeighted(rightMat,0.0f,

9、dstMat,1.0f,0.0f,rightMat);/原图先copy到左边cv:MatleftMat=windowMat(cv:Range(srcMat.rows*2,srcMat.rows*3),cv:Range(0,srcMat.cols);cv:addWeighted(leftMat,O.Of,srcMat,l.Of,0.0f,leftMat);/中间为调整滤波参数的相关设置cvui:printf(windowMat,500,60+600,ksize=size*2+1);cvui:trackbar(windowMat,500,70+600,200,&ksize3,0,10);cvui:

10、printf(windowMat,500,120+600,sigmaX);cvui:trackbar(windowMat,500,130+600,200,&sigmaX,0,100);cvui:printf(windowMat,500,180+600,sigmaY);cvui:trackbar(windowMat,500,190+600,200,&sigmaY,0,100);/高斯滤波cv:GaussianBlur(srcMat,dstMat,cv:Size(ksize*2+1,ksize*2+1),sigmaX/10.f,sigmaY/10.f);/效果图copy到右边/注意:rang从位置1到位置2,不是位置1+宽度cv:MatrightMat=windowMat(cv:Range(srcMat.rows*2,srcMat.rows*3),cv:Range(srcMat.co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论