数字图像平滑滤波在MATLAB上的实现

合集下载

基于MATLAB的图像平滑算法实现及应用要点

基于MATLAB的图像平滑算法实现及应用要点

p ( z ) = ⎨ pb ⎪ 0目录1. 3 图像噪声一幅图像在获取和传输等过程中,会受到各种各样噪声的干扰,其主要来源有三:一为在光电、电磁转换过程中引入的人为噪声;二为大气层电(磁)暴、闪电、电压、浪涌等引起的强脉冲性冲激噪声的干扰;三为自然起伏性噪声,由物理量的不连续性或粒子性所引起,这类噪声又可分成热噪声、散粒噪声等。

一般在图像处理技术中常见的噪声有:加 性 噪 声 、 乘 性 噪 声 、 量 化 噪 声 、“ 盐 和 胡 椒 ” 噪 声 等 。

下面介绍两种主要的噪声。

1、 高 斯 噪 声这种噪声主要来源于电子电路噪声和低照明度或高温带 来 的 传 感 器 噪 声 ,也 称 为 正 态 噪 声 ,是 在 实 践 中 经 常 用 到的 噪 声 模 型 。

高 斯 随 机 变 量 z 的 概 率 密 度 函 数 (PDF)由 下 式给出:p ( z ) = 1 / 2π σ exp{ - ( z - μ ) 2 / 2σ 2 }其 中 , z 表 示 图 像 像 元 的 灰 度 值 ;μ 表 示 z 的 期 望 ;σ 表 示z 的标准差。

2、 椒 盐 噪 声主要来源于成像过程中的短暂停留和数据传输中产生的 错 误 。

其 PDF 为 :⎧ pa ⎪ ⎩z = a z = b 其他如 果 b > a, 灰度值 b 在 图 像 中 显 示 为 一 亮 点 ,a 值 显示为一暗点。

如果Pa和图像均不为零,在图像上的表现类似于随机分布图像上的胡椒和盐粉微粒,因此称为椒盐噪声。

当Pa为零时,表现为“盐”噪声;当Pb为零时,表现为“胡椒”噪声。

图像中的噪声往往是和信号交织在一起的尤其是乘性噪声,如果平滑不当,就会使图像本身的细节如边缘轮廓‘线条等模糊不清,从而使图像质量降低。

⎪1/ M ∑ f (m , n )⎩ m ,第二章、图像平滑方法2. 1 空域低通滤波将空间域模板用于图像处理,通常称为空间滤波,而空间域模板称为空间滤波器。

图像边沿平滑处理的matlab实现

图像边沿平滑处理的matlab实现

图像边沿平滑处理的matlab实现完成图像处理的算法:1、读⼊⽂件通过matlab读取图像⽂件。

2、获取蒙版对图像进⾏逐点扫描,当点的三个通道值⾄少有⼀个⼩于阈值时让这个点变为纯⿊⾊。

如图,可见此时的蒙版中⼼有空缺,且边缘有噪声⽽且有粘连⼩块。

为了消除这些噪声和⼩块,我们对图像的蒙版进⾏腐蚀和扩张操作。

3、对蒙版进⾏腐蚀应⽤matlab的腐蚀函数,选择腐蚀的结构元素为11*11的全1矩阵,对图像进⾏腐蚀操作,腐蚀后,图像缩⼩,边缘变得平滑。

腐蚀后效果如图:4、对图像进⾏扩张操作将图像复原到原始蒙版,该扩张或丢失边缘信息,正好删除掉噪声和多余的⼩块。

进⾏扩张所⽤的结构元素和腐蚀所⽤的结构元素相同。

可以明显看到边缘得到改善。

扩张后效果如图:5、⽤蒙版遮罩⽣成图像利⽤蒙版的遮罩⽅式,通过原图⽣成新的图像。

能明显看出边沿的噪声和多余⼩块被去除。

产⽣的图像如下图:6、调整图像⼤⼩⾸先通过getFrame函数得到图像的边框,该函数的原理是从上下左右四个⽅向对图像进⾏逼近,记录四个边缘的位置,以便计算缩放的⼤⼩。

原理如下图:在获得了边框后,将框内的图像进⾏⼀个缩放,使该⼦图像的长或宽和原图⼀致,再⽤空⽩补齐另外⼀个⽅向。

最后达到缩放后的图像如下:附matlab程序:附1:main.minputFilePrefix = 'datacache\\';outFilePrefix = 'output\\';fileNamePrefix = 'dst_';picNum = 79;pxmin = 10000000;pdxmax = 0;pymin = 10000000;pdymax = 0;for p = 0:picNum-1if(p<10)fileName = sprintf('%s0%d.jpg',fileNamePrefix,p);else fileName = sprintf('%s%d.jpg',fileNamePrefix,p);end;inputFilePath = [inputFilePrefix fileName];outputFilePath = [outFilePrefix fileName];BW = imread(inputFilePath);[BW1 mask] = getSmoothImage(BW,230);[px py pdx pdy] = getFrame(mask);pxmin = min(pxmin,px);pdxmax = max(pdxmax,pdx);pymin = min(pymin,py);pdymax = max(pdymax,pdy);imwrite(BW1,outputFilePath,'jpg');pend%重新调整⼤⼩for p = 0:picNum-1if(p<10)fileName = sprintf('%s0%d.jpg',fileNamePrefix,p);else fileName = sprintf('%s%d.jpg',fileNamePrefix,p);end;inputFilePath = [outFilePrefix fileName];outputFilePath = [outFilePrefix fileName];I = imread(inputFilePath);INew = reScale(I,pxmin,pdxmax,pymin,pdymax);imwrite(INew,outputFilePath,'jpg');imshow(INew);pEnd附2:getSmoothImage.mfunction [ BW1 mask ] = getSmoothImage( BW,threshold )%GETSMOOTHIMAGE Summary of this function goes here% Detailed explanation goes here% 该函数⾸先得到图形的蒙版,然后对蒙版进⾏腐蚀和扩张,最后利⽤蒙版收缩和扩张 HEIGHT = size(BW,1);WIDTH = size(BW,2);mask = zeros(HEIGHT,WIDTH,'uint8');%得到蒙版threshold = 230;for i = 1:HEIGHTfor j = 1:WIDTHif(BW(i,j,1)>threshold&&BW(i,j,2)>threshold&&BW(i,j,3)>threshold)mask(i,j) = 255;endendend%腐蚀扩张蒙版SE = strel('square',11);mask = imdilate(mask,SE);mask = imerode(mask,SE);%利⽤蒙版遮罩获取图像BW1 = BW;for i = 1:HEIGHTfor j = 1:WIDTHif(mask(i,j) == 255)BW1(i,j,1) = 255;BW1(i,j,2) = 255;BW1(i,j,3) = 255;endendendend附3:getFrame.mfunction [ x,y,dx,dy ] = getFrame( mask )%GETFRAME Summary of this function goes here % Detailed explanation goes here获取图像外框backGroundColor = 255;found = false;for i = 1:size(mask,1)for j = 1:size(mask,2)if(mask(i,j) ~= backGroundColor)y = i;found = true;break;endendif foundbreak;endendfound = false;for i = 1:size(mask,1)for j = 1:size(mask,2)if(mask(size(mask,1)-i+1,j) ~= backGroundColor) dy = size(mask,1)-i+1-y;found = true;break;endendif foundbreak;endendfound = false;for i = 1:size(mask,2)for j = 1:size(mask,1)if(mask(j,i) ~= backGroundColor)x = i;found = true;break;endendif foundbreak;endendfound = false;for i = 1:size(mask,2)for j = 1:size(mask,1)if(mask(j,size(mask,2)-i+1) ~= backGroundColor)dx = size(mask,2)-i+1-x;found = true;break;endendif foundbreak;endendend附4:reScale.mfunction [ INew ] = reScale(I,pxmin,pdxmax,pymin,pdymax) %RESCALE Summary of this function goes here% Detailed explanation goes hereglobal WIDTH;global HEIGHT;ISub = I(pymin:pymin+pdymax,pxmin:pxmin+pdxmax,:);ISubScaled = imresize(ISub,min(WIDTH/pdxmax,HEIGHT/pdymax));INew = 255*ones(HEIGHT,WIDTH,3,'uint8');copyWidth = min(size(ISubScaled,2),WIDTH);copyHeight = min(size(ISubScaled,1),HEIGHT);if(copyWidth==WIDTH)pstarty = max(1,floor((HEIGHT-copyHeight)/2));pstartx = 1;elsepstartx = max(1,floor((WIDTH-copyWidth)/2));pstarty = 1;endt = ISubScaled(1:copyHeight,1:copyWidth,1);%INew(pstarty:pstarty+copyHeight-1,pstartx:pstartx+copyWidth-1,3) = t;for i = 1:copyHeightfor j = 1:copyWidthINew(pstarty+i-1,pstartx+j-1,:) = ISubScaled(i,j,:);endendend附:5:在探索过程中所写的⼀些函数:1、获取主体中的像素点:通过getRect函数,通过逐⾏扫描,依次查找不是纯⽩⾊的点,在找到这个点之后,搜索以这个点为左上定点以estimateLength为边长的矩形,统计出纯⽩点和⾮纯⽩点的⽐例,让这个⽐例达到⼀个阈值时,我们认为这个点就是主体中的⼀个点,可以根据这个点采⽤floodfill算法。

基于MATLAB的数字图像平滑和锐化处理算法分析

基于MATLAB的数字图像平滑和锐化处理算法分析

基于MATLAB的数字图像平滑和锐化处理算法分析卞凤杰2141141摘要:本文主要内容是利用MATLAB 对图像进行频域平滑和锐化处理。

本文先对图像进行空域平滑、锐化处理,然后再进行频域平滑滤波、锐化等操作,可以简单比较空域和频域下对图像进行处理的不同效果,并且通过改变参数确定效果最佳的平滑和锐化处理算法,同时给出了运用MATLAB 进行图像处理的前后对照图像。

关键词:MATLAB;图像处理;图像平滑;图像锐化Abstract:In this paper, the main content is to use MATLAB to do image smoothing and sharpening processing in the frequency-domain.Firstly,this article to do spatial smoothing, sharpening processing of the image, and then to frequency-domain smoothing filtering, sharpening, etc.This can be simply compare the different results of image processing in spatial domain and frequency domain. Secondly, by changing the parameters to determine the best smoothing and sharpening processing algorithm, and gives a comparison before and after using MATLAB image processing image.Keywords:MATLAB;Image Processing;Image smoothing;Image sharpening1、引言数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。

如何利用Matlab技术进行数字滤波

如何利用Matlab技术进行数字滤波

如何利用Matlab技术进行数字滤波数字滤波是一种广泛应用于信号处理和图像处理中的技术。

而Matlab作为一种强大的数学软件工具,在数字滤波方面也有很高的应用价值。

本文将介绍如何利用Matlab技术进行数字滤波,从概念到具体实现,帮助读者更好地掌握这一技术。

一、数字滤波的基本概念数字滤波是一种对数字信号进行处理的技术,通过改变信号的频率特性或时域特性,达到去除或强调信号中某些成分的目的。

数字滤波可以分为无限长脉冲响应(IIR)滤波器和有限长脉冲响应(FIR)滤波器两种。

二、Matlab中数字滤波的基本函数在Matlab中,数字滤波可以使用一些基本函数实现。

其中最常用的是fir1和filter函数。

fir1函数用于设计FIR滤波器的滤波器系数,而filter函数用于对信号进行滤波处理。

三、设计FIR滤波器FIR滤波器是一种非递归滤波器,其系统函数是有限长的。

在Matlab中,可以使用fir1函数对FIR滤波器的系数进行设计。

fir1函数的输入参数包括滤波器阶数、截止频率以及窗函数类型等。

通过调节这些参数,可以设计出不同的FIR滤波器。

四、对信号进行滤波处理在得到FIR滤波器的系数后,可以使用filter函数对信号进行滤波处理。

filter函数的输入参数包括滤波器系数和待滤波的信号等。

通过调用filter函数,可以对信号进行低通滤波、高通滤波或带通滤波等操作。

五、实例演示为了更好地理解如何利用Matlab进行数字滤波,下面将通过一个实例对其进行演示。

假设有一个包含高频噪声的信号,我们希望去除这些噪声,得到清晰的信号。

首先,我们使用fir1函数设计一个低通滤波器。

假设我们希望截止频率为1kHz,滤波器阶数为100。

通过调用fir1函数,得到该滤波器的系数。

接下来,我们生成一个包含高频噪声的信号,并加上一些正弦波成分。

我们将这个信号输入到filter函数中,利用之前得到的滤波器系数进行滤波处理。

最终,我们可以得到去除了噪声的清晰信号。

《数字图像处理及MATLAB实现》图像增强与平滑实验

《数字图像处理及MATLAB实现》图像增强与平滑实验

《数字图像处理及MATLAB实现》图像增强与平滑实验一.实验目的及要求1、熟悉并掌握MA TLAB 图像处理工具箱的使用;2、理解并掌握常用的图像的增强技术。

二、实验设备MATLAB 6.5 以上版本、WIN XP 或WIN2000 计算机三、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。

熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。

(可将每段程序保存为一个.m文件)1.直方图均衡化clear all; close all % Clear the MATLAB workspace of any variables% and close open figure windows.I = imread('pout.tif'); % Reads the sample images ‘pout.tif’, and stores it inimshow(I) % an array named I.display the imagetext(60,20,'李荣桉1909290239','horiz','center','color','r')figure, imhist(I) % Create a histogram of the image and display it in% a new figure window.[I2,T] = histeq(I); % Histogram equalization.figure, imshow(I2) % Display the new equalized image, I2, in a new figure window.text(60,20,'李荣桉1909290239','horiz','center','color','r')figure, imhist(I2) % Create a histogram of the equalized image I2.figure,plot((0:255)/255,T); % plot the transformation curve.imwrite (I2, 'pout2.png'); % Write the newly adjusted image I2 to a disk file named% ‘pout2.png’.imfinfo('pout2.png') % Check the contents of the newly written file2.直接灰度变换clear all; close allI = imread('cameraman.tif'); 注意:imadjust()功能:调整图像灰度值或颜色映像表,也可实现伽马校正。

在Matlab中实现图像增强和滤波的方法

在Matlab中实现图像增强和滤波的方法

在Matlab中实现图像增强和滤波的方法图像是我们日常生活中不可或缺的一部分。

从社交媒体上的自拍到科学研究中的显微镜图像,我们经常需要对图像进行增强和修复。

Matlab是一个功能强大的工具,提供了丰富的图像处理和分析功能,包括图像增强和滤波。

本文将探讨在Matlab中实现图像增强和滤波的方法。

一、图像增强图像增强是通过增强图像的对比度、清晰度和细节来改进图像质量的过程。

在Matlab中,有几种常用的图像增强方法,包括直方图均衡化、对比度拉伸和维纳滤波。

1. 直方图均衡化直方图均衡化是通过重新分布图像的像素值,使得图像的灰度级在整个范围内得到充分利用的一种方法。

在Matlab中,可以使用`histeq`函数来实现直方图均衡化。

下面是一个简单的示例代码:```matlabimg = imread('image.jpg');img_eq = histeq(img);imshowpair(img, img_eq, 'montage');```2. 对比度拉伸对比度拉伸是通过调整图像的像素值范围来增强图像对比度的方法。

在Matlab 中,可以使用`imadjust`函数来实现对比度拉伸。

下面是一个简单的示例代码:```matlabimg_adj = imadjust(img, [0.2, 0.8], [0, 1]);imshowpair(img, img_adj, 'montage');```3. 维纳滤波维纳滤波是一种经典的图像去噪和增强方法,可以减少图像中的噪声并增强图像的细节。

在Matlab中,可以使用`wiener2`函数来实现维纳滤波。

下面是一个简单的示例代码:```matlabimg = imread('image.jpg');img_wiener = wiener2(img, [5, 5]);imshowpair(img, img_wiener, 'montage');```二、图像滤波图像滤波是通过对图像进行空间域或频率域滤波的过程,可以用来平滑图像、去除噪声或者增强图像细节。

数字图像平滑滤波在MATLAB上的实现.

数字图像平滑滤波在MATLAB上的实现.

图像平滑滤波在MATLAB上的实现本课程设计在MATLAB上实现的程序和结果I=imread('b.bmp';v=0.5*ones(size(I;I1=imnoise(I,'localvar',v;I2=imnoise(I,'salt & pepper',0.02;I3=imnoise(I,'speckle',0.02;figure;subplot(221;hold on;title('原图像';imshow(I;hold off;subplot(222;hold on;title('受高斯噪声污染的图像';imshow(I1;hold off;subplot(223;hold on;title('受椒盐噪声污染的图像';imshow(I2;hold off;subplot(224;hold on;title('受乘性噪声污染的图像';imshow(I3;hold off;原图像受高斯噪声污染的图像受椒盐噪声污染的图像受乘性噪声污染的图像h=ones(3,3/9;J1=imfilter(I1,h;J2=imfilter(I2,h;J3=imfilter(I3,h;figure;subplot(221;hold on;title('原图像';imshow(I;hold off;subplot(222;hold on;title('对有高斯噪声的3*3邻域平均后的图像'; imshow(J1;hold off;subplot(223;hold on;title('对有椒盐噪声的3*3邻域平均后的图像'; imshow(J2;hold off;subplot(224;hold on;title('对有乘性噪声的3*3邻域平均后的图像';imshow(J3;hold off;原图像高斯噪声3*3邻域平均后的图像椒盐噪声3*3邻域平均后的图像乘性噪声3*3邻域平均后的图像h1=ones(5,5/25;K1=imfilter(I1,h1;K2=imfilter(I2,h1;K3=imfilter(I3,h1;figure;subplot(221;hold on;title('原图像';imshow(I;hold off;subplot(222;hold on;title('对有高斯噪声的5*5邻域平均后的图像'; imshow(K1;hold off;subplot(223;hold on;title('对有椒盐噪声的5*5邻域平均后的图像'; imshow(K2;hold off;subplot(224;hold on;title('对有乘性噪声的5*5邻域平均后的图像'; imshow(K3;hold off;原图像高斯噪声5*5邻域平均后的图像椒盐噪声5*5邻域平均后的图像乘性噪声的5*5邻域平均后的图像L1=medfilt2(I1,[5,5];L2=medfilt2(I2,[5,5];L3=medfilt2(I3,[5,5];figure;subplot(221;hold on;title('原图像';imshow(I;hold off;subplot(222;hold on;title('高斯噪声5*5中值滤波后的图像';imshow(L1;hold off;subplot(223;hold on;title('椒盐噪声5*5中值滤波后的图像';imshow(L2;hold off;subplot(224;hold on;title('乘性噪声的5*5中值滤波后的图像';imshow(L3;hold off;原图像高斯噪声5*5中值滤波后的图像椒盐噪声5*5中值滤波后的图像乘性噪声的5*5中值滤波后的图像[f1,f2]=freqspace(25,'meshgrid';Hd=zeros(25,25;d=sqrt(f1.^2+f2.^2<0.5;Hd(d=1;h=fsamp2(Hd;figure;freqz2(h,[64,64];1.5 Magnitude 1 0.5 0 1 0.5 0 -0.5 Fy -1 -1 -0.5 Fx 0.5 0 1 I=imread('b.bmp';v=0.5*ones(size(I; I1=imnoise(I,'localvar',v; I2=imnoise(I,'salt & pepper',0.02;I3=imnoise(I,'speckle',0.02; J1=imfilter(I1,h,'replicate'; J2=imfilter(I2,h,'replicate';J3=imfilter(I3,h,'replicate'; figure; subplot(221; hold on; title('原图像'; imshow(I; hold off; subplot(222; hold on; title('高斯噪声频域滤波后图像'; imshow(J1; hold off; subplot(223; hold on; title('椒盐噪声频域滤波后图像'; imshow(J2; hold off;subplot(224; hold on; title('乘性噪声频域滤波后图像'; imshow(J3; hold off; 原原原高高高高高高高高高原原椒椒高高高高高高高原原乘乘高高高高高高高原原。

基于MATLAB的图像平滑算法实现及应用

基于MATLAB的图像平滑算法实现及应用

目录第一章、概述 (2)1.1 图像平滑概述 (2)1.2图像平滑应用 (2)1.3噪声模型 (2)第二章、图像平滑方法 (5)2.1 空域低通滤波 (5)2.1.1 均值滤波器 (5)2.1.2 中值滤波器 (6)2.2 频域低通滤波 (7)第三章、图像平滑处理与调试 (10)3.1 模拟噪声图像 (10)3.2均值滤波法 (14)3.3 中值滤波法 (17)3.4 频域低通滤波法 (20)第四章、总结与体会 (20)参考文献 (23)第一章、概述1.1图像平滑概述图像平滑(S m o o t h i n g)的主要目的是减少图像噪声。

图像噪声来自于多方面,有来自于系统外部的干扰(如电磁波或经电源窜进系统内部的外部噪声),也有来自于系统内部的干扰(如摄像机的热噪声,电器机械运动而产生的抖动噪声内部噪声)。

实际获得的图像都因受到干扰而有噪声,噪声产生的原因决定了噪声分布的特性及与图像信号的关系。

减少噪声的方法可以在空间域或在频率域处理。

在空间域中进行时,基本方法就是求像素的平均值或中值;在频域中则运用低通滤波技术。

图像中的噪声往往是和信号交织在一起的,尤其是乘性噪声,如果平滑不当,就会使图像本身的细节如边缘轮廓,线条等模糊不清,从而使图像降质。

图像平滑总是要以一定的细节模糊为代价的,因此如何尽量平滑掉图像的噪声,又尽量保持图像的细节,是图像平滑研究的主要问题之一。

1.2图像平滑应用图像平滑主要是为了消除被污染图像中的噪声,这是遥感图像处理研究的最基本内容之一,被广泛应用于图像显示、传输、分析、动画制作、媒体合成等多个方面。

该技术是出于人类视觉系统的生理接受特点而设计的一种改善图像质量的方法。

处理对象是在图像生成、传输、处理、显示等过程中受到多种因素扰动形成的加噪图像。

在图像处理体系中,图像平滑是图像复原技术针对“一幅图像中唯一存在的退化是噪声”时的特例。

1.3噪声模型1.3.1噪声来源一幅图像可能会受到各种噪声的干扰,而数字图像的实质就是光电信息,因此图像噪声主要可能来源于以下几个方面:光电传感器噪声、大气层电磁暴、闪电等引起的强脉冲干扰、相片颗粒噪声和信道传输误差引起的噪声等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第 5 章图像平滑滤波在MATLAB上的实现
本课程设计在MATLAB上实现的程序和结果
I=imread('b.bmp');
v=0.5*ones(size(I));
I1=imnoise(I,'localvar',v);
I2=imnoise(I,'salt & pepper',0.02);
I3=imnoise(I,'speckle',0.02);
figure;
subplot(221);
hold on;
title('原图像');
imshow(I);
hold off;
subplot(222);
hold on;
title('受高斯噪声污染的图像');
imshow(I1);
hold off;
subplot(223);
hold on;
title('受椒盐噪声污染的图像');
imshow(I2);
hold off;
subplot(224);
hold on;
title('受乘性噪声污染的图像');
imshow(I3);
hold off;
原图像受高斯噪声污染的图像
受椒盐噪声污染的图像受乘性噪声污染的图像
h=ones(3,3)/9;
J1=imfilter(I1,h);
J2=imfilter(I2,h);
J3=imfilter(I3,h);
figure;
subplot(221);
hold on;
title('原图像');
imshow(I);
hold off;
subplot(222);
hold on;
title('对有高斯噪声的3*3邻域平均后的图像');
imshow(J1);
hold off;
subplot(223);
hold on;
title('对有椒盐噪声的3*3邻域平均后的图像');
imshow(J2);
hold off;
subplot(224);
hold on;
title('对有乘性噪声的3*3邻域平均后的图像');
imshow(J3);
hold off;
原图像高斯噪声3*3邻域平均后的图像
椒盐噪声3*3邻域平均后的图像乘性噪声3*3邻域平均后的图像
h1=ones(5,5)/25;
K1=imfilter(I1,h1);
K2=imfilter(I2,h1);
K3=imfilter(I3,h1);
figure;
subplot(221);
hold on;
title('原图像');
imshow(I);
hold off;
subplot(222);
hold on;
title('对有高斯噪声的5*5邻域平均后的图像');
imshow(K1);
hold off;
subplot(223);
hold on;
title('对有椒盐噪声的5*5邻域平均后的图像');
imshow(K2);
hold off;
subplot(224);
hold on;
title('对有乘性噪声的5*5邻域平均后的图像');
imshow(K3);
hold off;
原图像高斯噪声5*5邻域平均后的图像
椒盐噪声5*5邻域平均后的图像乘性噪声的5*5邻域平均后的图像
L1=medfilt2(I1,[5,5]);
L2=medfilt2(I2,[5,5]);
L3=medfilt2(I3,[5,5]);
figure;
subplot(221);
hold on;
title('原图像');
imshow(I);
hold off;
subplot(222);
hold on;
title('高斯噪声5*5中值滤波后的图像');
imshow(L1);
hold off;
subplot(223);
hold on;
title('椒盐噪声5*5中值滤波后的图像');
imshow(L2);
hold off;
subplot(224);
hold on;
title('乘性噪声的5*5中值滤波后的图像');
imshow(L3);
hold off;
原图像高斯噪声5*5中值滤波后的图像
椒盐噪声5*5中值滤波后的图像乘性噪声的5*5中值滤波后的图像
[f1,f2]=freqspace(25,'meshgrid');
Hd=zeros(25,25);
d=sqrt(f1.^2+f2.^2)<0.5;
Hd(d)=1;
h=fsamp2(Hd);
figure;
freqz2(h,[64,64]);
-1
1
-1
F
x
F
y
M a g n i t u d e
I=imread('b.bmp'); v=0.5*ones(size(I));
I1=imnoise(I,'localvar',v);
I2=imnoise(I,'salt & pepper',0.02); I3=imnoise(I,'speckle',0.02); J1=imfilter(I1,h,'replicate'); J2=imfilter(I2,h,'replicate'); J3=imfilter(I3,h,'replicate'); figure;
subplot(221); hold on;
title('原图像'); imshow(I); hold off; subplot(222); hold on;
title('高斯噪声频域滤波后图像'); imshow(J1); hold off; subplot(223); hold on;
title('椒盐噪声频域滤波后图像'); imshow(J2); hold off;
subplot(224);
hold on;
title('乘性噪声频域滤波后图像');
imshow(J3);
hold off;
原图像高斯噪声频域滤波后图像
椒盐噪声频域滤波后图像乘性噪声频域滤波后图像。

相关文档
最新文档