- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【OpenCV】邻域滤波:方框、高斯、中值、双边滤波 2012-07-26 10:52 30236人阅读 评论(35) 收藏举报分类: 【图像处理】(43) 作者同类文章X版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]邻域滤波卷积方框滤波代码实验结果高斯滤波代码实验结果非线性滤波中值滤波代码中值滤波实验双边滤波双边滤波源码双边滤波调用双边滤波实验参考文献转载请注明出处httpblogcsdnnetxiaowei_cquarticledetails7785365邻域滤波(卷积)邻域算子值利用给定像素周围像素的值决定此像素的最终输出。如图左边图像与中间图像卷积禅城右边图像。目标图像中绿色的像素由原图像中蓝色标记的像素计算得到。通用线性邻域滤波是一种常用的邻域算子,输入像素加权得到输出像素:其中权重核???为“滤波系数”。上面的式子可以简记为:【方框滤波】最简单的线性滤波是移动平均或方框滤波,用 窗口中的像素值平均后输出,核函数为:其实等价于图像与全部元素值为1的核函数进行卷积再进行尺度缩放。代码OpenCV中的 blur函数是进行标准方框滤波:[cpp] view plaincopyprint?void?cv::blur(?InputArray?src,?OutputArray?dst,?????????????Size?ksize,?Point?anchor,?int?borderType?)??{??????boxFilter(?src,?dst,?-1,?ksize,?anchor,?true,?borderType?);??}??void cv::blur( InputArray src, OutputArray dst, Size ksize, Point anchor, int borderType ){ boxFilter( src, dst, -1, ksize, anchor, true, borderType );}而boxFilter函数源码如下:[cpp] view plaincopyprint?cv::Ptrcv::FilterEngine?cv::createBoxFilter(?int?srcType,?int?dstType,?Size?ksize,??????????????????????Point?anchor,?bool?normalize,?int?borderType?)??{??????int?sdepth?=?CV_MAT_DEPTH(srcType);??????int?cn?=?CV_MAT_CN(srcType),?sumType?=?CV_64F;??????if(?sdepth?=?CV_32S??(!normalize?||??????????ksize.width*ksize.height?=?(sdepth?==?CV_8U???(123)?:??????????????sdepth?==?CV_16U???(1??15)?:?(1??16)))?)??????????sumType?=?CV_32S;??????sumType?=?CV_MAKETYPE(?sumType,?cn?);????????PtrBaseRowFilter?rowFilter?=?getRowSumFilter(srcType,?sumType,?ksize.width,?anchor.x?);??????PtrBaseColumnFilter?columnFilter?=?getColumnSumFilter(sumType,??????????dstType,?ksize.height,?anchor.y,?normalize???1./(ksize.width*ksize.height)?:?1);????????return?PtrFilterEngine(new?FilterEngine(PtrBaseFilter(0),?rowFilter,?columnFilter,?????????????srcType,?dstType,?sumType,?borderType?));??}??cv::Ptrcv::FilterEngine cv::createBoxFilter( int srcType, int dstType, Size ksize, Point anchor, bool normalize, int borderType ){ int sdepth = CV_MAT_DEPTH(srcType); int cn = CV_MAT_CN(srcType), sumTyp
您可能关注的文档
最近下载
- xsb-1显示仪表说明书.docx VIP
- 乡村振兴乡村旅游-浙江省乡村旅游设计方案.pdf VIP
- DELTA台达VFD-ME300精巧简易型向量控制变频器使用手册调试说明.pdf
- 眼附属器的解剖ppt参考课件.ppt
- 土壤及地下水采样实施实施方案gp.docx
- 小学科学新教科版三年级上册全册思维导图(共三个单元)(2025秋).doc VIP
- 1415地面流水地质作用.pptx VIP
- Unit1GrowingUpUnderstandingideasTheageofmajority课件高中英语选择性.pptx VIP
- 写文章的软件4篇.docx VIP
- GB 50026-2020 工程测量标准.docx
原创力文档


文档评论(0)