A implementation of boxfilter

boxfilter 是均值滤波的一种改进。在以下这篇blog里面有介绍。

http://www.cnblogs.com/easymind223/archive/2012/11/13/2768680.html

这里我使用matlab对其进行实现。

可是这里边界问题没有处理好,假设viewer有好的意见欢迎告诉我

% % *********************************************************
% code writer : EOF
% code file : my_boxfilter.m
% code date : 2014.10.21
% e-mail : jasonleaster@gmail.com
%
% Code description :
% Here is my implementation of boxfilter :)
% It work correctly in the region where is not close to
% the end boundary but will meet problem on some where
% close to the image end boundary.
% ********************************************************* function Filted_Img = my_boxfilter(Image) if size(Image,3) ~= 1
fprintf('ERROR Imput-Image must be ##ONE## channel image\n');
return;
end Height_Img = size(Image,1);
Width_Img = size(Image,2); Buffer = zeros(1,Width_Img);
Filted_Img = zeros(Height_Img,Width_Img); % treat this varible as a constant
SEARCH_WIN_HEIGHT = 10;
SEARCH_WIN_WIDTH = 10; for row = 1: Height_Img
for col = 1: Width_Img sum_value = 0;
if (row + SEARCH_WIN_HEIGHT) < Height_Img for temp = row : (row + SEARCH_WIN_HEIGHT)
sum_value = sum_value + Image(temp,col);
end
else for temp = row : Height_Img
sum_value = sum_value + Image(temp,col);
end
end Buffer(col) = sum_value;
end for col = 1:Width_Img if (col + SEARCH_WIN_WIDTH) < Width_Img for temp = col : col + SEARCH_WIN_WIDTH
Filted_Img(row,col) = Filted_Img(row,col) + Buffer(temp);
end
else
for temp = col : Width_Img
Filted_Img(row,col) = Filted_Img(row,col) + Buffer(temp);
end
end
end end Filted_Img = Filted_Img./(SEARCH_WIN_HEIGHT * SEARCH_WIN_WIDTH);
end

版权声明:本文博客原创文章,博客,未经同意,不得转载。

boxfilter 实现的更多相关文章

  1. 机器学习进阶-阈值与平滑-图像平滑操作(去噪操作) 1. cv2.blur(均值滤波) 2.cv2.boxfilter(方框滤波) 3. cv2.Guassiannblur(进行高斯滤波) 4. cv2.medianBlur(进行中值滤波)

    1.cv2.blur(img, (3, 3))  进行均值滤波 参数说明:img表示输入的图片, (3, 3) 表示进行均值滤波的方框大小 2. cv2.boxfilter(img, -1, (3, ...

  2. opencv3.2.0图像处理之方框滤波boxFilter API函数

    /*.1.方框滤波:boxFilter函数(注:均值滤波是归一化后的方框滤波)*/ /*函数原型: void boxFilter(InputArray src, OutputArray dst, in ...

  3. 图像处理之滤波---滤波在游戏中的应用boxfilter

    http://www.yxkfw.com/?p=7810 很有意思的全方位滤波应用 https://developer.nvidia.com/sites/default/files/akamai/ga ...

  4. 【计算机视觉】极限优化:Haar特征的另一种的快速计算方法—boxfilter

    这种以Boxfilter替代integral image 的方法很难使用到haar.LBP等特征检测中,因为像下面说的,它不支持多尺度,也就是说所提取的特征必须是同一个大小,最起码同一个宽高比的,这一 ...

  5. boxFilter in opencv

    , -),bool normalize=true,int borderType=BORDER_DEFAULT) Smoothes image using box filter Parameters: ...

  6. opencv —— boxFilter、blur、GaussianBlur、medianBlur、bilateralFilter 线性滤波(方框滤波、均值滤波、高斯滤波)与非线性滤波(中值滤波、双边滤波)

    图像滤波,指在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像与处理中不可缺少的操作. 邻域算子,指利用给定像素及其周围的像素值,决定此像素的最终输出值的一种算子.线性邻域滤波器就是一种常 ...

  7. 积分图(三) - Boxfilter 的实现过程分析

    Boxfilter 快速计算 它可以使复杂度为O(MN)的求和,求方差等运算降低到O(1)或近似于O(1)的复杂度,它的缺点是不支持多尺度. Boxfilter 的原理有点类似 Integral Im ...

  8. 学习 opencv---(8)非线性滤波:中值滤波,双边滤波

    正如我们上一篇文章中讲到的,线性滤波可以实现很多种不同的图像变换.然而非线性滤波,如中值滤波器和双边滤波器,有时可以达到更好的实现效果. 邻域算子的其他一些例子还有对 二值图像进行操作的形态学算子,用 ...

  9. 学习 opencv---(7) 线性邻域滤波专场:方框滤波,均值滤波,高斯滤波

    本篇文章中,我们一起仔细探讨了OpenCV图像处理技术中比较热门的图像滤波操作.图像滤波系列文章浅墨准备花两次更新的时间来讲,此为上篇,为大家剖析了"方框滤波","均值滤 ...

随机推荐

  1. siwft初学(一)

    今天刚開始学习swift语言.首先须要下载xcode6 beta版本号.正式版本号然后会公布.自己学习总结一下,假设有误.请大家指出. 创建project的时候.language选择swift语言. ...

  2. 观察者模式(Observer Patterns)

    今天学习了观察者模式,做个总结,方便以后回想. 首先是定义:观察者模式就是定义对象之间一对多的依赖关系,当一个对象状态发生改变时,全部依赖他的对象都收到推送消息并自己主动更新做出改变. 我的理解:生活 ...

  3. CodeBlocks暴力恢复默认设置

    昨天,我不知道怎么去CodeBlocks干净的界面使自己都不知道怎么走.然后找到默认设置恢复方法,找不到.然后,我用了一个恢复方法暴力,卸载重装,有一点须要注意.卸载后CodeBlocks的配置文件还 ...

  4. Python 清理HTML标签相似PHP的strip_tags函数功能(二)

    没有发现Python 有现成的类似功能模块,所以昨天写了个简单的 strip_tags 但还有些问题,今天应用到採集上时进行了部分功能的完好, 1. 对自闭和标签处理 2. 以及对标签參数的过滤 fr ...

  5. AndroidAnnotations说明—AndroidAnnotations它是如何工作的?

    AndroidAnnotations它的工作原理很easy,它使用标准java注塑加工工具,自己主动加她一个额外的步骤生成源代码编译.         源代码是什么?每个增强的类.比方每个用@EAct ...

  6. WebCollector 2.x 新手教程

    WebCollector爬虫官网:https://github.com/CrawlScript/WebCollector 技术讨论群:250108697 WebCollector 2.x教程列表 We ...

  7. C/C++:C++友元类

    C++友元类: 正常情况下,一个类是訪问不到还有一个类的私有成员的. 就像以下这个: #include <iostream> class A{ private: int a; public ...

  8. FPGA 时序问题

    近期 做一个项目------4个 1080p(1920 x 1080) 合成 一个 4K(3840 x 2160,297M)的接口板.当 1080p 进去, 1080p出来的时候,视频正常 播放出来. ...

  9. 玩转Web之JavaScript(二)-----javaScript语法总结(二) 涉及Date与数组的语法

    Date: document.write(document.lastModified)  网页最后一次更新时间 a=new Date();  //创建 a 为一个新的时期象 y=a.getY ear( ...

  10. 具体的了解“&gt;/dev/null 2&gt;&amp;1”

    Linux系统中不管是crontab里面.还是平时使用的命令.常常会碰到">/dev/null 2>&1".比方说:在Crontab Job里面,假设不想发送邮 ...