中值均值滤波

clear;

close all;

I = imread('E:/lena.bmp');

J = imnoise(I,'salt & pepper',0.02);%加入噪声和椒盐

K = medfilt2(J);imshow(J);

title('噪声干扰图像'),figure, imshow(K);%medfilt2 系统子代的函数

title('medfilt2滤波图像')

X=J;a=3;b=3;k=floor(a*b/2)+1;

[M,N]=size(X);

uint8 Y=zeros(M,N);

funBox=zeros(a,b);

temp=zeros(a*b);

for i=1:M-a

for j=1:N-b

funBox=X(i:i+a,j:j+b);

temp=funBox(:);

tempSort=sort(temp); %sort 对数进行从打到小的排列

Y(i,j)=tempSort(k);

end

end

figure, imshow(Y);title('自编程序滤波图像')

clear;close all;c=imread('E:/lena_c.bmp'); %把彩色图片转化成灰度图片,256级

figure,imshow(c),title('原始图象'); %显示原始图象

g=imnoise(c,'gaussian',0.1,0.002); %加入高斯噪声

figure,imshow(g),title('加入高斯噪声之后的图象'); %显示加入高斯噪声之后的图象

n=3;

a(1:n,1:n)=1;%a即n×n模板,元素全是1

[p q]=size(g); %输入图像是p×q的,且p>n,q>n

x1=double(g);x2=x1;%A(a:b,c:d)表示A矩阵的第a到b行,第c到d列的所有元素

for i=1:p-n+1

for j=1:q-n+1

c=x1(i:i+(n-1),j:j+(n-1)).*a; %取出x1中从(i,j)开始的n行n列元素与模板相乘

s=sum(sum(c)); %求c矩阵(即模板)中各元素之和

x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n); %将模板各元素的均值赋给模板中心位置的元素

end

end

%未被赋值的元素取原值

d=uint8(x2);%实验步骤三:用自己的编写的函数进行均值滤波 %调用自编函数进行均值滤波,n为模板大小

figure,imshow(d),title('自编程序滤波图像'); %显示滤波后的图象

clear;

close all;

I = imread('E:/lena.bmp');

J = imnoise(I,'salt & pepper',0.02);%加入噪声和椒盐

K = medfilt2(J);imshow(J);

title('噪声干扰图像'),figure, imshow(K);%medfilt2 系统子代的函数

title('medfilt2滤波图像')

X=J;a=3;b=3;k=floor(a*b/2)+1;

[M,N]=size(X);

uint8 Y=zeros(M,N);

funBox=zeros(a,b);

temp=zeros(a*b);

for i=1:M-a

for j=1:N-b

funBox=X(i:i+a,j:j+b);

temp=funBox(:);

tempSort=sort(temp); %sort 对数进行从打到小的排列

Y(i,j)=tempSort(k);

end

end

figure, imshow(Y);title('自编程序滤波图像')

clear;close all;c=imread('E:/lena_c.bmp'); %把彩色图片转化成灰度图片,256级

figure,imshow(c),title('原始图象'); %显示原始图象

g=imnoise(c,'gaussian',0.1,0.002); %加入高斯噪声

figure,imshow(g),title('加入高斯噪声之后的图象'); %显示加入高斯噪声之后的图象

n=3;

a(1:n,1:n)=1;%a即n×n模板,元素全是1

[p q]=size(g); %输入图像是p×q的,且p>n,q>n

x1=double(g);x2=x1;%A(a:b,c:d)表示A矩阵的第a到b行,第c到d列的所有元素

for i=1:p-n+1

for j=1:q-n+1

c=x1(i:i+(n-1),j:j+(n-1)).*a; %取出x1中从(i,j)开始的n行n列元素与模板相乘

s=sum(sum(c)); %求c矩阵(即模板)中各元素之和

x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n); %将模板各元素的均值赋给模板中心位置的元素

end

end

%未被赋值的元素取原值

d=uint8(x2);%实验步骤三:用自己的编写的函数进行均值滤波 %调用自编函数进行均值滤波,n为模板大小

figure,imshow(d),title('自编程序滤波图像'); %显示滤波后的图象


相关文章

  • 毕业论文图像处理噪声方法与研究
  • 长 治 学 院 2013届学士学位毕业论文 图像处理中消除噪声的方法研究 学 号: 09407205 姓 名: 程晓满 指导教师: 上官晋太 专 业: 计算机科学与技术 系 别: 计算机 完成时间:2013年5月 图像处理中消除噪声的方法研 ...查看


  • 数字图像去噪典型算法仿真与分析
  • 数字图像去噪典型算法仿真与分析 个人信息********* 摘要:图像去噪是数字图像处理中的重要环节和步骤.本文首先介绍了常见的图像噪声:然后,在介绍图像去噪的基本方法和原理的基础上,讨论了均值滤波.中值滤波和维纳滤波三种典型的图像去噪方法 ...查看


  • 均值滤波与matlab编程
  • 均值滤波与matlab编程 MatLab自编的均值滤波.中值滤波.高斯滤波图像处理函数. %自编的均值滤波函数.x是需要滤波的图像,n是模板大小(即n×n) function d=avefilt(x,n) a(1:n,1:n)=1; %a即 ...查看


  • 有效去除图像混合噪声的方法
  • 第29卷第1.3期 V01.29 No.13 计算机工程与设计 ComputerEngineeringandDesign 2008年7月 July2008 有效去除图像混合噪声的方法 李慧娜, 平源 (许昌学院计算机科学与技术学院,河南许昌 ...查看


  • 改进中值滤波器去噪算法研究
  • 改进中值滤波器去噪算法研究 陈 亮 (吉首大学信息科学与工程学院,湖南 吉首 416000) 摘 要 图像信号在产生.传输和记录过程中,经常会受到各种噪声的干扰,由于其严重地影响了图像的视觉效果,因此迫切需要合适的滤波器对其进行滤波.论文首 ...查看


  • [OpenCV入门教程之九] 非线性滤波专场:中值滤波.双边滤波
  • 二.深入--OpenCV源码分析溯源 首先让我们一起领略medianBlur()函数的源码,其于-\opencv\sources\modules\imgproc\src\smooth.cpp的第1653行开始. [cpp] ',1)&quo ...查看


  • 基于MATLAB的减少图像噪声
  • 目录 第一章 概述„„„„„„„„„„„„„„„„„„„„ 第2页 第二章 典型噪声介绍„„„„„„„„„„„„„„„„ 第3页 第三章 基于MATLAB 的模拟噪声生成 „„„„„„„„„ 第5页 第四章 均值滤波处理方法„„„„„„„„ ...查看


  • 数字图像 -中值滤波
  • 数图课程设计 实验报告 学院:通信与信息工程学院 班级:电子信息科学与技术 姓名: 学号: 实验名称:中值滤波 [一] 实验目的及要求 1.了解中值滤波的原理: 2.滤波窗口种类可选: 3.可以添加多种不同噪声: 4.使用中值滤波法去除噪声 ...查看


  • 改进的变分自适应中值滤波算法
  • 第33卷第7期 电 子 与 信 息 学 报 Vol.33No.7 2011年7月 Journal of Electronics & Information Technology Jul. 2011 改进的变分自适应中值滤波算法 孙海 ...查看


热门内容