精华内容
下载资源
问答
  • 基于Matlab图像平滑处理,包含均值滤波处理方法、中值滤波处理方法
  • matlab GUI 可修改平滑模版 实现图像平滑处理
  • 利用MATLAB仿真软件实现图像平滑处理 一 数据采集 1.1原理分析 1.2项目代码 二 图像的加噪处理 2.1加入高斯噪声 2.1.1 原理分析 三 图像的去噪原理 3.1典型的去噪算法分析 3.2 均值滤波 3.3 中值滤波 四 实验...
    • 目录
    • 摘 要
    • 利用MATLAB仿真软件实现图像的平滑处理
    • 一 数据采集
      1.1原理分析
      1.2项目代码
    • 二 图像的加噪处理
      2.1加入高斯噪声
      2.1.1 原理分析
    • 三 图像的去噪原理
      3.1典型的去噪算法分析
      3.2 均值滤波
      3.3 中值滤波
    • 四 实验处理
      4.1均值滤波去噪
      4.1.1项目代码
      4.1.2仿真结果
      4.1.3项目分析
      4.2 中值滤波去噪
      4.2.1项目代码
      4.2.2仿真结果
      4.2.3项目分析
    • 五 完整代码
    • 六 总结(心得体会)
      参考文献
    1. 摘 要

    MATLAB是当今国际上公认的在科技领域方面最为优秀的应用软件和开发环境。在欧美各高等院校,MATLAB已经成为应用线性代数、自动控制理论、数据统计、数字信号处理、时间序列分析、动态系统仿真、图形处理等高级课程的基本数学工具,是攻读学士的大学生、硕士生、博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB已经超出实验室,并广泛用于研究和解决具体的工程问题。
    本次课程设计报告在简要介绍MATLAB 软件的基础上, 结合其图象处理工具, 重点分析了MATLAB 在图象处理中的应用。文中的具体实例表明, 在数字图象处理中使用MATLAB 可以提高实验效率, 快速得出实验结果。本次课程设计,主要是利用MATLAB仿真软件实现图像的平滑处理。要求:读取图像并分别加入高斯噪声、椒盐噪声、脉冲噪声和乘性噪声,然后采取合适的滤波器进行去噪处理,能显示原始图像、加噪后图像和去噪后图像。在此过程中学会此软件的一些基本操作及语言。

    1. 利用MATLAB仿真软件实现图像的平滑处理

    一 数据采集
    1.1原理分析
    图像以数字形式进入计算机是进行数字图像处理的第一步。一幅黑白图像可以看成是一个二维函数f(x,y),其亮度是位置(x,y)的连续函数。计算机中的数字图像是以矩阵形式[f(m,n)]表示的,不同的处理就是用不同的算法对这一图像矩阵进行运算。从二维连续函数到矩阵,涉及在不同空间位置上取出函数值作为样本,并用一组整数值来表示这些样本的两个过程,前者称为取样,后者称为量化,二者统称为数字化。
    根据要求,数据来源于网络上的图片,原始的是RGB图片t1.jpg如图1-1所示:
    在这里插入图片描述
    图1-1 原彩色图像

    将这幅图片保存在路径"C:\Program Files\MATLAB"中,文件名为"1.jpg",在MATLAB中调用imread函数将图片读入内存,用imread函数读取图像文件,文件格式可以是TIFF、JPEG、GIF、BMP、PNG等。此外还可以用imfinfo()函数查看图像文件的信息,rgb2grad()函数用于把真彩图转换为灰度图,该函数在保留亮点的同时去除色彩和饱和度信息。Imshow()函数主要用于显示图像。

    1.2项目代码

     
    function ImgSmoothing(  )
    //定义函数
    I=imread('t1.jpg');
    I=rgb2gray(I);
    [h,w]=size(I);
    figure,imshow(I);
    title('原始灰度图像');
    

    二 图像的加噪处理

    2.1加入高斯噪声
    2.1.1 原理分析
    高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。MATLAB中为图片加高斯噪声的语句是
    (1)J = imnoise(I, ‘gaussian’);
    (2)J = imnoise(I, ‘gaussian’,parameters);
    (3)J=imnoise(I, ‘gaussian’,m,v);
    其中I为原图象的灰度矩阵,J为加噪声后图象的灰度矩阵;一般情况下用
    (式2-1)表示即可,(式2-2)中表示是允许修改参数,而(式2-1)中使用缺省参数;(式2-3)中对图像I加高斯噪声,均值为m,方差为v。本次课程设计选择的加噪方式为第二种。

    2.1.2 项目代码

    MATLAB程序如下,

    I=imread('t1.jpg');
    I=rgb2gray(I);
    [h,w]=size(I);
    % figure,imshow(I);
    % title('原始灰度图像');
     I1=imnoise(I,'gaussian',0,0.02);%为增强平滑效果而加入
    subplot(2,3,1);
    figure,imshow(I1);
    title('添加高斯噪声图像');
    subplot(2,3,4);
    figure,imhist(uint8(I1));
    title('原始图像的灰度直方图');
    xlabel('灰度值')
    ylabel('出现频数')
    

    2.1.3 仿真结果
    可得到如图2-1所示的图形:
    在这里插入图片描述

    图2-1加入高斯噪声后的图像
    三 图像的去噪原理
    3.1典型的去噪算法分析
    图像去噪是数字图像处理中的重要环节和步骤。去噪效果的好坏直接影响到后续的图像处理工作如图像分割、边缘检测等。不同的去噪算法虽有一定的降噪效果,但都有其局限性。事实上,不管滤波器具有什么样的频率响应,均不可能做到噪声完全滤掉,使信号波形不失真。但我们可以不断地改进滤波的技术,如实际应用中常用一些改进型的滤波方法如小波导向、多级门限检测来提高去噪的效果从而最大可能地恢复出原始图像。图像信号在产生、传输过程中都可能会受到噪声的污染,一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等。下面是比较经典的几种图像去噪算法。

    3.2 均值滤波
    也称线性滤波,主要思想为邻域平均法,对图像的任一像素点以其为中心取M×M窗口(M一般取3,5,7,9等奇数) ,即用几个像素灰度的平均值来代替每个像素的灰度。有效抑制加性噪声,但容易引起图像模糊,可以对其进行改进,主要避开对景物边缘的平滑处理。该方法运算简单,对高斯噪声具有良好的去噪能力。均值滤波法可归结为矩形窗加权的有限冲击响应线性滤波器。第一个“旁瓣”比主峰大约低13分贝。因此,均值滤波器相当于低通滤波器。这种低通性能在平滑噪声的同时也会对图像的高频细节成分造成破坏和损失,使图像模糊。
    在这里插入图片描述

    3.3 中值滤波
    基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。很容易自适应化。中值滤波可以克服线性滤波器给图像
    带来的模糊,在有效清除颗粒噪声的同时,又能保持良好的边缘特性,从而获得较满意的滤波效果,特别适合于去除图像的椒盐噪声。利用中值滤波算法可以很好地对图像进行平滑处理。对于椒盐噪声密度较小时,尤其是孤立噪声点,用中值滤波的效果非常好,但在椒盐噪声密度增加时,其去噪能力将降低,可能残留下部分噪声像素。虽然可以采用多轮迭代方式对滤波后的图像再次使用中值滤波进行处理
    在这里插入图片描述

    四 实验处理

    4.1均值滤波去噪
    4.1.1项目代码

    I2=double(I1);%转变成双精度类型
    M9=[1 1 1;1 1 1;1 1 1]/9;%3 X 3模板
    % I3=filter2(M9,I2);
    g1=size(I2);
    for i=2:h-1
        for j=2:w-1
            g1(i,j)=sum(sum(M9.*[I2(i-1,j-1),I2(i-1,j),I2(i-1,j+1);
                                               I2(i,j-1),I2(i,j),I2(i,j+1);
                                               I2(i+1,j-1),I2(i+1,j),I2(i+1,j+1)]));
        end
    end
    % subplot(2,3,2);
    % figure,imshow(uint8(g1));%创建窗口并显示均值滤波后的图像g1
    % title('均值滤波处理后的图像');
    % % subplot(2,3,5);
    % figure,imhist(uint8(g1));
    % title('均值滤波后图像的直方图');
    % xlabel('灰度值')
    % ylabel('出现频数')
    

    4.1.2仿真结果
    在这里插入图片描述

    4.1.3项目分析
    在这里插入图片描述

    均值滤波为线性滤波,从图中可可看出滤噪强度不是特别强,仍然存在大面积的噪点,从待处理图像首元素开始用模板对原始图像进行卷积,均值滤波直观地理解就是用相邻元素灰度值的平均值代替该元素的灰度值。是对各像素灰度值进行简单处理(如乘一个权值)最后求和,所以滤噪力度不大,但结果图像不会出现黑边,对于去除高斯噪声来说比较友好。

    4.2 中值滤波去噪
    4.2.1项目代码

    I2=double(I1);%双精度化
    g2=ones(size(I2));%创建一个与原图像大小一样且灰度值为1的图像
    for i=2:(floor(h/3)*3-1)
        for j=2:(floor(w/3)*3-1)
            g2(i,j)=median(reshape([I2(i-1,j-1),I2(i-1,j),I2(i-1,j+1);
                            I2(i,j-1),I2(i,j),I2(i,j+1);
                            I2(i+1,j-1),I2(i+1,j),I2(i+1,j+1)],1,9));%求取向量的中值
        end
    end
    for i=2:h-1
        g2(i,1)=g2(i,2);%进行第一行边界处理
        g2(i,w)=g2(i,w-1);%进行最后一行边界处理
    end
    g2(1,:)=g2(2,:);%进行第一列边界处理
    g2(h,:)=g2(h-1,:);%进行最后一列边界处理
    % subplot(2,3,3);
    % figure,imshow(uint8(g2));%创建窗口并显示中值滤波后的图像g2
    % title('中值滤波处理后的图像');
    % % subplot(2,3,3);
    % figure,imhist(uint8(g2));
    % title('中值滤波后图像的直方图');
    % xlabel('灰度值')
    % ylabel('出现频数')
    

    4.2.2仿真结果
    在这里插入图片描述

    4.2.3项目分析
    在这里插入图片描述
    中值滤波采用非线性的方法,它在平滑脉冲噪声方面非常有效, 但对高斯噪声表现较差,图像处理后还会出现黑边。但同时它保护图像尖锐的边缘,选择适当的点来替代污染点的值,所以处理效果好。

    五 完整代码

    function ImgSmoothing(  )
    I=imread('t1.jpg');
    I=rgb2gray(I);
    [h,w]=size(I);
    figure,imshow(I);
     title('原始灰度图像');
     I1=imnoise(I,'gaussian',0,0.02);%为增强平滑效果而加入
    subplot(2,3,1);
    figure,imshow(I1);
    title('添加高斯噪声图像');
    subplot(2,3,4);
    figure,imhist(uint8(I1));
    title('原始图像的灰度直方图');
    xlabel('灰度值')
    ylabel('出现频数')
    
    %%%%%%%%%%%%以下为均值滤波处理代码%%%%%%%%%%%%%%%
    I2=double(I1);%转变成双精度类型
    M9=[1 1 1;1 1 1;1 1 1]/9;%3 X 3模板
    % I3=filter2(M9,I2);
    g1=size(I2);
    for i=2:h-1
        for j=2:w-1
            g1(i,j)=sum(sum(M9.*[I2(i-1,j-1),I2(i-1,j),I2(i-1,j+1);
                                               I2(i,j-1),I2(i,j),I2(i,j+1);
                                               I2(i+1,j-1),I2(i+1,j),I2(i+1,j+1)]));
        end
    end
    % subplot(2,3,2);
    % figure,imshow(uint8(g1));%创建窗口并显示均值滤波后的图像g1
    % title('均值滤波处理后的图像');
    % % subplot(2,3,5);
    % figure,imhist(uint8(g1));
    % title('均值滤波后图像的直方图');
    % xlabel('灰度值')
    % ylabel('出现频数')
    
    %%%%%%%%%%%%以下为中值滤波处理代码%%%%%%%%%%%%%%%
    I2=double(I1);%双精度化
    g2=ones(size(I2));%创建一个与原图像大小一样且灰度值为1的图像
    for i=2:(floor(h/3)*3-1)
        for j=2:(floor(w/3)*3-1)
            g2(i,j)=median(reshape([I2(i-1,j-1),I2(i-1,j),I2(i-1,j+1);
                            I2(i,j-1),I2(i,j),I2(i,j+1);
                            I2(i+1,j-1),I2(i+1,j),I2(i+1,j+1)],1,9));%求取向量的中值
        end
    end
    for i=2:h-1
        g2(i,1)=g2(i,2);%进行第一行边界处理
        g2(i,w)=g2(i,w-1);%进行最后一行边界处理
    end
    g2(1,:)=g2(2,:);%进行第一列边界处理
    g2(h,:)=g2(h-1,:);%进行最后一列边界处理
    % subplot(2,3,3);
    % figure,imshow(uint8(g2));%创建窗口并显示中值滤波后的图像g2
    % title('中值滤波处理后的图像');
    % % subplot(2,3,3);
    % figure,imhist(uint8(g2));
    % title('中值滤波后图像的直方图');
    % xlabel('灰度值')
    % ylabel('出现频数')
    
    %绘图显示结果
    % subplot(2,3,1);
    figure,imshow(I1);
     title('添加高斯噪声图像');
    % subplot(2,3,4);
    figure,imhist(uint8(I1));
    title('原始图像的灰度直方图');
    xlabel('灰度值')
    ylabel('出现频数')
    % subplot(2,3,2);
    figure,imshow(uint8(g1));%创建窗口并显示均值滤波后的图像g1
    title('均值滤波处理后的图像');
    % subplot(2,3,5);
    figure,imhist(uint8(g1));
    title('均值滤波后图像的直方图');
    xlabel('灰度值')
    ylabel('出现频数')
    % subplot(2,3,3);
    figure,imshow(uint8(g2));%创建窗口并显示中值滤波后的图像g2
    title('中值滤波处理后的图像');
    % subplot(2,3,6);
    figure,imhist(uint8(g2));
    title('中值滤波后图像的直方图');
    xlabel('灰度值')
    ylabel('出现频数')
    end
    
    展开全文
  • matlab对图像进行平滑处理

    万次阅读 2014-04-04 21:53:16
    pic=imread('1.jpg'); data=rgb2gray(pic); [m,n]=size(data);... %图像读取 ... %转化为灰度图像 ...title('原灰度图像');...title('加椒盐噪音的灰度图像');... %确定灰度图像长和宽即...title('平滑处理后的灰度图像');
    pic=imread('1.jpg');
    data=rgb2gray(pic);
    [m,n]=size(data);
    data0=zeros(m,n);
    mob=[1 1 1;1 1 1;1 1 1];
    for i=2:m-1
        for j=2:n-1
            part=data(i-1:i+1,j-1:j+1);
            part=double(part);        
            temp=mob.*part;
            data0(i,j)=sum(sum(temp));
        end
    end
    imshow(uint8(data0));
    -----------------------
    data=imread('1.jpg');  %图像读取
    data0=rgb2gray(data);    %转化为灰度图像
    figure,imshow(data0);
    title('原灰度图像');
    data1=imnoise(data0,'salt & pepper',0.02);%加椒盐噪声
    figure,imshow(data1);
    title('加椒盐噪音的灰度图像');
    mob=[1 1 1;1 1 1;1 1 1]/9;  %模板
    [m,n]=size(data1);   %确定灰度图像长和宽即矩阵的行和列
    data2=zeros(m,n);    %建立和图像长和宽相同的矩阵   
    for i=2:m-1
        for j=2:n-1     
            part=data1(i-1:i+1,j-1:j+1); %选取要处理图像的一部分
            part=double(part);   %转化为双精度
            temp=mob.*part;    %将选取的一部分图像和模板进行卷积
            data2(i,j)=sum(sum(temp));  %求卷积和
            %对矩阵进行sum() 将每一行元素相加,
            %得到一维向量,与矩阵列数相同,两次
            %sum()求出整个矩阵的和

        end
    end
    figure,imshow(uint8(data2));  %将图像显示
    title('平滑处理后的灰度图像');
    展开全文
  • Matlab数据平滑处理

    2015-04-20 04:49:39
    Matlab数据平滑处理主要用于对于MATLAB所描述的函数进行平滑处理
  • 基于Matlab图像平滑算法浅析.pdf
  • matlab图像处理——平滑滤波

    万次阅读 多人点赞 2018-11-01 20:52:00
    平滑滤波——matlab图像处理 平滑滤波的目的是消除或尽量减少噪声,...但由于图像边缘也处于高频部分,这样往往带来另一个问题:在图像进行平滑处理时,往往图像的细化造成一定程度的损坏。 领域运算可用领域与...

    平滑滤波——matlab图像处理

    平滑滤波的目的是消除或尽量减少噪声,改善图像的质量。假设加性噪声是随机独立分布,这样利用图像像素领域的平均或加权平均即可有效地抑制噪声干扰。从信号分析的观点来看,图像平滑本质上是低能滤波,信号的低频部分可通过,高频的噪声信号被阻截。但由于图像边缘也处于高频部分,这样往往带来另一个问题:在对图像进行平滑处理时,往往对图像的细化造成一定程度的损坏。
    领域运算可用领域与模版的卷积得到,这极大地方便了计算。
    MATLAB中提供的imfliter函数用于实现图像的平滑处理,其调用格式如下。
    B=imfliter(A,H):使用多维滤波器H对图像A进行滤波(平滑)。参数A可以是任意维的二值或非奇异数值型矩阵。参数H为矩阵,表示滤波器。H常由函数fspecial输出得到。返回值B与A的维数相同。
    B=imfliter(A,H,optional1,optional2,…)

    参数类型 说明
    X 输入图像的外边界通过X来扩展,X默认值为0
    symmetric 输入图像的外部边界通过镜像反射其内部边界来扩展
    circular 输入图像的别界通过假设输入图像为周期函数来扩展
    relicate 输入图像的外部别界通过复制内部别界的值来扩展
    same 输入和输出图像大小相等,默认操作
    full 输出图像比输入图像大
    corr 使用相关进行滤波(平滑)
    conv 使用卷积进行滤波(平滑)

    matlab中提供的fspecial函数用于创建二维滤波器:
    h=fspecial(type):
    type可以是:average,disk,gaussian,laplacian,log,motion,prewitt,sobel,unsharp。

    h=fspecial(type,parameters):创建指定类型和指定参数的二维滤波器h。参数parameters为与滤波器有关的参数。
    parameters可以是:n,radius,(hsize,sigma),alpha,(n,sigma),(len,theta)。

    clear all;
    I = imread('cameraman.tif');
    subplot(2,2,1);imshow(I);
    xlabel('(a)原始图像');
    H = fspecial('motion',20,45);
    MotionBlur = imfilter(I,H,'replicate');
    subplot(2,2,2);imshow(MotionBlur);
    xlabel('(b)运动模糊图像');
    H=fspecial('disk',10);
    blurred = imfilter(I,H,'replicate');
    subplot(2,2,3);imshow(blurred);
    xlabel('(c)模糊图像');
    H=fspecial('unsharp');
    sharpened = imfilter(I,H,'replicate');
    subplot(2,2,4);imshow(sharpened);
    xlabel('(d)锐化图像');
    

    图像的卷积运算

    对含有高斯噪声的图像进行平滑处理。

    clear all;
    I = imread('coins.png');
    Inoised = imnoise(I,'gaussian',0.1,0.005);%对图像进行高斯噪声加噪
    %制定卷积核
    h=ones(3,3)/5;
    h(1,1) = 0;
    h(1,3) = 0;
    h(3,1) = 0;
    h(1,3) = 0;
    %平滑运算
    I2=imfilter(Inoised,h);
    subplot(1,3,1);imshow(I);
    xlabel('(a)原始图像');
    subplot(1,3,2);imshow(Inoised);
    xlabel('(b)带噪声图像');
    subplot(1,3,3);imshow(I2);
    xlabel('(c)平滑后图像');
    

    图像的平滑处理

    有问题还请多多指教。刚刚入门。谢谢各位大牛。

    展开全文
  • 基于matlab的代码,使用高斯平滑化方法处理图像,去噪声。
  • 1、什么是平滑处理?  首先明白几个名词:  (1)噪声:图像噪声是指存在于图像数据中的不必要的或多余的干扰信息。 1.高斯噪声:高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。常见的高斯...

    数字图像处理实验1-9点击下列链接有源码和链接:

    1、什么是平滑处理?

        首先明白几个名词:
          (1)噪声:图像噪声是指存在于图像数据中的不必要的或多余的干扰信息。
    1.高斯噪声:高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。常见的高斯噪声包括起伏噪声、宇宙噪声、热噪声和散粒噪声等等。除常用抑制噪声的方法外,对高斯噪声的抑制方法常常采用数理统计方法。高斯噪声最常见最普通的噪声。正态分布(高斯分布)的公式(高中知识不详解了):

    2.椒盐噪声:椒盐噪声(salt-and-pepper noise)又称脉冲噪声,它随机改变一些像素值,在二值图像上表现为使一些像素点变白,一些像素点变黑(可以理解为随机概率的像素点变色)。
    3.泊松噪声:泊松噪声,就是符合泊松分布的噪声模型,泊松分布适合于描述单位时间内随机事件发生的次数的概率分布。
    泊松分布公式(高中知识不解释了):

    几种噪声的对比:
    (2)滤波:图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。
    针对不同噪声,也有不同的滤波方式:
    1.高斯滤波-------顾名思义解决高斯噪声问题。
    高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。方法主要有两种:
    一是用离散化窗口滑窗卷积:就是选定一定大小的滑窗,遍历整个图像。比如我取像素9x9的矩阵滑窗,遍历整个图像进行卷积,一般我们都这样处理高斯噪声。
    二是通过傅立叶变换。
    只有当离散化的窗口非常大,用滑窗计算量非常大(即使用可分离滤波器的实现)的情况下,可能会考虑基于傅里叶变化的实现方法。
    2.中值滤波-------解决椒盐噪声效果比较好。
    中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。一般用于处理椒盐噪声。
    3.均值滤波-------解决泊松噪声效果比较好。
    均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标像素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。

    回答题目的问题:平滑处理就是用滤波器去除噪声!

    2、使用matlab添加噪声

    先做一个guide:

    打开图片和灰度代码:

    % --- Executes on button press in 打开位图.
    function openFile_Callback(hObject, eventdata, handles)
    [filename,pathname]=uigetfile('*.bmp','select image');
    str=[pathname filename];
    [handles.I,handles.map]=imread(str);
    guidata(hObject,handles);
    axes(handles.axes1);
    imshow(handles.I,handles.map);
    % --- Executes on button press in 转化灰度.
    function togray_Callback(hObject, eventdata, handles)
    handles.I=rgb2gray(handles.I);% 转灰度图像
    guidata(hObject,handles);
    axes(handles.axes1);
    imshow(handles.I,handles.map);

    原图:


    (1)添加高斯噪声

    % --- Executes on button press in 高斯噪声.
    function guassian_Callback(hObject, eventdata, handles)
    handles=guidata(hObject);
    I2=handles.I;
    handles.J=imnoise(I2, 'gaussian', 0,0.05);% 添加高斯噪声,方差值为0.01
    guidata(hObject,handles);
    axes(handles.axes2);
    imshow(handles.J);
    效果:

    (2)添加椒盐噪声:
    % --- Executes on button press in  椒盐噪声.
    function slat_Callback(hObject, eventdata, handles)
    handles=guidata(hObject);
    I2=handles.I;
    handles.J=imnoise(I2, 'salt & pepper', 0.01);
    guidata(hObject,handles);
    axes(handles.axes2);
    imshow(handles.J);
    效果:

    (3)泊松噪声

    % --- Executes on button press in 泊松噪声.
    function poission_Callback(hObject, eventdata, handles)
    handles=guidata(hObject);
    I2=handles.I;
    handles.J=imnoise(I2, 'poisson');
    guidata(hObject,handles);
    axes(handles.axes2);
    imshow(handles.J);

    效果:

    3、平滑处理(图像滤波)

    (1)对添加了高斯噪声的图像进行高斯滤波:
    % --- Executes on button press in 高斯滤波.
    function gaussianwave_Callback(hObject, eventdata, handles)
    handles=guidata(hObject);
    J2=handles.J;
    grayImg=J2;
    gausFilter = fspecial('gaussian',[5,5],1.6);
    H=imfilter(grayImg,gausFilter,'replicate');
    axes(handles.axes3);
    imshow(H,handles.map);
    效果:

    (2)使用中值滤波处理椒盐噪声
    % --- Executes on button press in 中值滤波.
    function midwave_Callback(hObject, eventdata, handles)
    handles=guidata(hObject);
    J2=handles.J;
    Z=medfilt2(J2,[3,3]);
    axes(handles.axes3);
    imshow(Z,handles.map);
    效果:
    3)使用均值滤波处理泊松噪声
    % --- Executes on button press in 均值滤波.
    function avgwave_Callback(hObject, eventdata, handles)
    handles=guidata(hObject);
    J2=handles.J;
    PSF=fspecial('average', 5);
    P=imfilter(J2, PSF);
    axes(handles.axes3);
    imshow(P,handles.map);
    效果:

    展开全文
  • bregman matlab兼顾图像平滑去噪与边缘保留的自适应全变分模型matlab
  • matlab图像平滑

    2009-12-21 16:09:33
    应用matlab软件,进行图像平滑的源代码,希望能有帮助
  • 利用模板的图像平滑处理matlab),供大家参考一下!
  • MATLAB图像平滑算法,有想用的就下载回去看看吧!!
  • bregman matlab兼顾图像平滑去噪与边缘保留的自适应全变分模型
  • matlab 图像高斯平滑滤波处理(转载)

    万次阅读 2011-10-12 15:18:17
    %图像高斯平滑滤波处理 img=imread('1.jpg'); f=rgb2gray(img); subplot(1,2,1); imshow(f); f=double(f); f=fft2(f); f=fftshift(f); [m,n]=size(f);
  • MATLAB实现平滑处理

    千次阅读 2020-10-16 20:23:33
    一、五点三次平滑法 1.函数调用: 2.范例: clear all; clc; close all; xx=load('xnoisedata1.txt'); % 读入数据 time=xx(:,1); % 时间序列 x=xx(:,2); % 带噪数据 xmean=mean5_3(x,50); % 调用mean5_3函数,平滑...
  • matlab 图像平滑和锐化

    万次阅读 2016-11-21 22:54:39
    1.读入一幅图像,分别采用均值和高斯滤波器对图像进行平滑处理>> clear all; >> sample = imread('sample.jpg'); >> mean3Sample = filter2(fspecial('average',3),sample)/255; >> mean5Sample = filter2(fspecial...
  • 图像边沿平滑处理matlab实现

    千次阅读 2012-11-07 23:36:17
    完成图像处理的算法: 1、读入文件 通过matlab读取图像文件。 2、获取蒙版 对图像进行逐点扫描,当点的三个通道值至少有一个小于阈值时让这个点变为纯黑色。如图,可见此时的蒙版中心有空缺,且边缘有噪声...
  • 图像平滑 MATLAB

    2010-10-09 22:52:04
    对图像平滑处理,去噪效果很好。自己编写的,简单,快速,有注解
  • 本博客适用于数字高程模型的平滑处理,对于其他数据的平滑处理仅做参考 平滑处理公式采用Daly1984 Daly C1994_A statistical topographic model for mapping climatological precipitation over mountainous terrain...
  • MATLAB图像处理实例详解作者:杨丹,赵海滨,龙哲出版时间:2013年版内容简介《MATLAB图像处理实例详解》全面、系统地介绍了MATLAB在数字图像处理中的各种技术及应用。本书图像处理的基础概念做了必要交代,重点给...
  • 读取MATLAB自带图像图像进行直方图均衡化,显示处理前后的图像及直方图的变化,附上代码及相关说明。 clc;clear;close all; path(path,'D:\R2019a\toolbox\images\imdata'); % 读取路径图像信息 im=imread('...
  • 本文详细解释了从一张图片中识别文字的全过程,同时给出了MATLAB具体的代码实现。1. 文字识别过程此部分内容适合没有任何数字图像处理和编程经验的小白,请放心食用( ╯▽╰)。首先,我们知道一张数字图像是由无数个...
  • 学号: 2011- 2012 学年 第 1 学期专业综合课程设计报告题 目:基于MATLAB图像增强处理专 业: 通信工程班 级: 08通信 (本)姓 名:指导教师: 老师成 绩:电...
  • 目录 1?3 图像噪声 一幅图像在获取和传输等过程中会受到各种各样噪声 的干扰其主要来源有三一...噪声散粒噪声等一般在图像处理技术中常见的噪声有 加?性?噪?声?乘?性?噪?声?量?化?噪?声?盐?和?胡?椒?噪?声?等?下 面介绍

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,251
精华内容 3,300
关键字:

matlab对图像平滑处理

matlab 订阅