博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数字图像处理之图像滤波
阅读量:6964 次
发布时间:2019-06-27

本文共 2173 字,大约阅读时间需要 7 分钟。

hot3.png

滤波的原理,将空间域模板用于图像处理,通常称为空间滤波。空间滤波可分为线性平滑滤波(邻域平均法)和非线性平滑滤波(中值滤波法)两种。邻域平均法的基本原理是用于当前图像像素点(x,y)邻域的几个像素颜色的平均值来代替其像素颜色值。g(x,y)=1/Nf(i,j),对每个点求和处理。中值滤波法是先选取当前像素点的邻域,但它是用这些邻域像素点颜色的中间值来代替当前素点颜色值。邻域平均法能比较有效的抑制噪声,但是也易引起图像模糊。中值滤波法特别适宜抑制孤立点类型的椒盐噪声,且可保护图像边缘。

  //滤波            public  static void Filter(Bitmap sourceBitmap)            {                if (sourceBitmap != null)                {                    Color c = new Color();                    int rr, gg, bb, r1, g1, b1, i, j, rx, gx, bx, k1, k2;                    for (i = 1; i < sourceBitmap.Width - 1; i++)                    {                        for (j = 1; j < sourceBitmap.Height - 1; j++)                        {                            rx = gx = bx = 0;                            for (k1 = -1; k1 <= 1; k1++)                            {                                for (k2 = -1; k2 <= 1; k2++)                                {                                    if (i + k1 != 0 || i + k2 != 0)                                    {                                        c = sourceBitmap.GetPixel(i + k1, j + k2);                                        r1 = c.R;                                        g1 = c.G;                                        b1 = c.B;                                        rx += r1;                                        gx += g1;                                        bx += b1;                                    }                                }                            }                            rr = (int)(rx / 8);                            gg = (int)(gx / 8);                            bb = (int)(bx / 8);                            if (rr > 255) rr = 255;                            if (gg > 255) gg = 255;                            if (bb > 255) bb = 255;                            Color cl = Color.FromArgb(rr, gg, bb);                            sourceBitmap.SetPixel(i, j, cl);                        }                    }                }                else                {                    MessageBox.Show("无图形可处理", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);                }            }

转载于:https://my.oschina.net/RabbitXiao/blog/348705

你可能感兴趣的文章
谷歌Quickoffice现免费面向所有用户
查看>>
我的友情链接
查看>>
Mvc Html.BeginForm 方式提交Form前验证
查看>>
初探KVM-第一个虚拟机
查看>>
Tomcat的安装和配置
查看>>
Lync Server 2010标准版系列PART5:安装部署
查看>>
Provisioning Services 7.6 入门到精通系列之一:PVS前期规划
查看>>
log4j MDC NDC详解
查看>>
更改文件内容并保存
查看>>
你真的不懂protected
查看>>
我经常需要安装的Eclipse插件
查看>>
前端——css3动画总结
查看>>
ELP界的苹果:太奇pad开创教育电子产品新时代
查看>>
利用Groovy实现动态加载Bean
查看>>
记录新机房建设。20130711
查看>>
主Makefile分析
查看>>
Java RMI之HelloWorld篇
查看>>
一张图看懂跨境电商的前世今生(附XMIND整理)
查看>>
NFS简要安装步骤与配置(debian/ubuntu)
查看>>
温度传感器+I2C+串口+PC上位机(pyserial)例子
查看>>