• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

中值滤波C语言优化

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

图像平滑是图像预处理的基本操作,本文首先用不同的方法对一张图片做预处理比较它们效果的不同,然后针对中值滤波,实现了一种快速实现.(其实是copyopencv实现,呵呵).因为opencv的实现方法感觉太好了,今天就特别写下来.既有备忘的作用,同时如果谁看到这篇文章,也可以借鉴下opencv的实现.

 

 

1 原始图像

 

2 均值滤波图像

 

3 中值滤波图像

 

4 双边滤波图像

 

 

5高斯滤波图像

 

 

 

上图的代码

 

void CDialogTest2013Dlg::OnBnClickedMfcbutton1()

{

    char file[10]="e:\\1.jpg";

   

 

    IplImage *src = cvLoadImage(file,0);

    CvSize picSize;

    picSize.width = src->width;

    picSize.height = src->height;

 

    IplImage *dst_midian= cvCreateImage(picSize,8,1);

    IplImage *dst_blur = cvCreateImage(picSize,8,1);

    IplImage *dst_gaussian = cvCreateImage(picSize,8,1);

    IplImage *dst_bilateral = cvCreateImage(picSize,8,1);

 

 

    cvSmooth(src, dst_midian, CV_MEDIAN,3,3);

    cvSmooth(src, dst_blur, CV_BLUR,3,3);

    cvSmooth(src, dst_gaussian, CV_GAUSSIAN,3,3);

    cvSmooth(src, dst_bilateral, CV_BILATERAL,3,3);

   

 

}

 

均值滤波原理:把一个点周围点求均值,这个均值给这个点.

 

 

中值滤波原理:把一个点周围的点排序,把中位数给这个点.

 

 

双边滤波原理:这个一句话说不清楚,可以看这个博文 http://blog.csdn.net/bugrunner/article/details/7170471

 

 

高斯滤波原理:均值滤波对一个点周围点求和是每个点的权重都是1,高斯滤波的权重不是1,是一个类似高斯分布的权重分布,距离目标点

 

近的地方权重高点,距离目标点远的地方,权重低些.

 

 

中值滤波的opencv实现

 

template<class Op, class VecOp>

staticvoid

medianBlur_SortNet(const Mat& _src, Mat& _dst,int m )

{

    typedef typename Op::value_type T;

    typedef typename Op::arg_type WT;

    typedef typename VecOp::arg_type VT;

 

    const T* src =(const T*)_src.data;

    T* dst =(T*)_dst.data;

    int sstep =(int)(_src.step/sizeof(T));

    int dstep =(int)(_dst.step/sizeof(T));

    Size size = _dst.size();

    int i, j, k, cn = _src.channels();

    Op op;

    VecOp vop;

    volatile bool useSIMD = checkHardwareSupport(CV_CPU_SSE2);

 

    if( m ==3)

    {

        if


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c#项目使用webrtc的降噪模块方法发布时间:2022-07-13
下一篇:
vim阅读c++代码的快捷键发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap