当前位置:   article > 正文

基于MATLAB的均值滤波算法实现

matlab如何对一个矩阵使用加权均值滤波算法

  在图像采集和生成中会不可避免的引入噪声,图像噪声是指存在于图像数据中的不必要的或多余的干扰信息,这对我们对图像信息的提取造成干扰,所以要进行去噪声处理,常见的去除噪声的方法有均值滤波、中值滤波、高斯滤波等,这一篇要实现的是均值滤波。

  均值滤波的方法是将图像数据生成3x3的矩阵或是5x5等其他模板,然后对这个矩阵模板进行处理。在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围 8 个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。说白了就是对这九个数求个平均值代替中间的那个数。在FPGA中我们为了简便运算只将目标像素周围八个点求和然后除以8,取代目标像素点。

 

    MATLAB对数字图像处理有各种函数支持,各种滤波和边缘检测都可以之间用几行函数实现,但是博主本着学习算法的基本原理,所以不用函数自己根据滤波原理写代码。本设计是在上一篇RGB转Gray后的灰度图进行滤波处理。

添加噪声污染函数

g = imnoise(I,type,parameters)

g=imnoise(f,'salt & pepper',d)用椒盐噪声污染图像f,其中d是噪声密度(即包括噪声值的图像区域的百分比)。因此,大约有d*numel(f)个像素受到影响。默认的噪声密度为0.05。

    本设计只用到了对椒盐噪声的处理,所以仅记录这一种噪声的添加。

均值滤波代码

 1 %Mean Filter
 2 clc;
 3 clear all;
 4 close all;
 5 
 6 RGB_data = imread('lena.jpg');
 7 
 8 R_data =    RGB_data(:,:,1);
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/563826
推荐阅读
相关标签
  

闽ICP备14008679号