matlab 图像 卷积滤波,利用二维卷积做图像噪声滤波

本文介绍了如何使用MATLAB进行图像的卷积滤波,以去除二维数据中的噪声。主要内容包括均值滤波和中值滤波的原理,以及MATLAB代码实现。通过实验,对于高斯噪声,两种方法都有较好效果,而中值滤波在处理椒盐噪声时表现出色。
摘要由CSDN通过智能技术生成

前言

不论是野外数据采集,还是图像处理,实际二维数据都会存在噪声!用卷积对二维数据降噪是十分常用的一种方法!其原理还是利用卷积可以改变原始数据矩阵中的数值大小。本文主要介绍两种最为常见的二维卷积滤波方法:"均值滤波"与"中值滤波"。

均值滤波与中值滤波原理

原理一句话:原来卷积是两个小矩阵的"点乘再相加(卷积神经网络里的操作)",现在是"点乘相加后求平均(均值滤波)"和"点乘后取中值(中值滤波)"。图1非常明显易懂:

cf69d2bf62b6

图1:均值滤波与中值滤波原理图

了解了原理,可以很简单的用matlab实现二维卷积滤波的程序。

噪声例子

本文主要使用两种常见的、matlab自带的:"高斯随机噪声"和"椒盐黑白噪声"。直接使用一条语句就可以为原始图像加噪声:

data = imread('zxc.jpg'); % 数据——最好比卷积核的尺寸大

data = im2double(data); % 原图像进来是uint8,矩阵运算时double 故要转一下

data = rgb2grey(data); % 转为灰度图像方便

noise_data1 = imnoise(data, 'gaussian', 0.2); % 加入高斯噪声的命令

noise_data2 = imnoise(data, 'salt & pepper', 0.3);

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值