图像平滑的matlab实现论文
图像平滑的MATLAB实现
图像平滑的MATLAB实现摘要:图像平滑技术用于平滑图像的噪声,本文对均值滤波、中值滤波、维纳滤波等三种平滑滤波器进行理论学习,并通过MATLAB对滤波效果进行仿真。
关键词:图像平滑均值滤波中值滤波维纳滤波实际获得的图像一般都因受到某种干扰而含有噪声。
引起噪声的原因有敏感元器件的内部噪声、照相底片上感光材料的颗粒、传输通道的干扰及量化噪声等。
噪声产生的原因决定了噪声的分布特性及它和图像信号的关系。
根据噪声服从的分布,可以分为高斯噪声、泊松噪声和颗粒噪声等。
平滑技术用于平滑图像的噪声,平滑噪声可以在空间域中进行,基本方法是求像素灰度的平均值或中值。
为了既平滑噪声又保护图像信号,也有一些改进的技术,比如在频域中运用低通滤波器。
MATLAB图像处理工具箱提供了模拟噪声生成的函数imnoise和去除噪声的方法。
函数imnoise可以对图像添加一些典型的噪声。
由于噪声的随机性,它们对某一像点的影响使其灰度和邻点的灰度显著不同,因此可以利用这种不同来消除噪声。
去除噪声的方法有线性滤波、中值滤波、自适应滤波。
本文就针对上述三种平滑滤波进行MATLAB仿真。
1 图像平滑的MATLAB实现1.1 均值滤波[1]1.1.1理论基础邻域平均法是空间域平滑噪声技术,其均值滤波器对于扫描得到的图像中的颗粒噪声非常适用,理论依据如下:对于给定的图像f(i,j)中的每个像点(m,n),取其邻域S。
设S含有M个像素,取其平均值作为处理后所得图像像点(m,n)处的灰度。
用一像素邻域内各像素灰度平均值来代替该像素原来的灰度,即是邻域平均技术。
邻域S的形状和大小根据图像特点确定。
一般取的形状是正方形、矩形及十字形等,S的形状和大小可以在全图处理过程中保持不变,也可根据图像的局部统计特性而变化,点(m,n)一般位于S的中心。
如S为3×3邻域,点(m,n)位于S中心,则:假设噪声n是加性噪声,在空间各点互不相关,且期望为0,方差δ2,g是未受污染的图像,含有噪声的图像f经过邻域平均后为由上式可知,经邻域平均后,噪声的均值不变,方差,即噪声方差变小,说明噪声强度减弱了,即抑制了噪声。
图像处理与matlab实例之图像平滑(一)
图像处理与matlab实例之图像平滑(⼀) ⼀、何为图像噪声?噪声是妨碍⼈的感觉器官所接受信源信息理解的因素,是不可预测只能⽤概率统计⽅法认识的随机误差。
举个例⼦: 从这个图中,我们可以观察到噪声的特点:1>位置随机 2>⼤⼩不规则。
我们将这种噪声称为随机噪声(random noise),这是⼀种⾮常常见的噪声类型。
⼆、噪声的类型 噪声可以借⽤随机过程以及概率密度函数(Probability Density Function,PDF)来描述,通常可采⽤其数组特征,即均值,⽅差,相关函数等。
按照概率密度函数分为⾼斯噪声、瑞利噪声、伽马噪声、指数分布噪声、均匀分布噪声、脉冲噪声、泊松噪声等。
有的噪声与图像信号的强度不相关,如图像传输过程引⼊的信道噪声、摄像机扫描噪声等,这种噪声称为加性噪声(additive noise)。
常见的加性噪声按照概率密度函数特征分为短拖尾加性噪声(如均匀分布噪声)、中拖尾加性噪声(⾼斯分布噪声)、长拖尾加性噪声(如指数分布噪声)、脉冲噪声(如椒盐噪声、随机数脉冲噪声等)。
有的噪声与图像信号有关,往往随着图像信号的变化⽽变化,如光照变化引起的噪声、飞机扫描图像中的噪声、电视扫描光栅中的相⼲噪声、斑点噪声等。
这种噪声称为乘性噪声(multiplicative noise)。
matlab向图中添加噪声的指令: I1=imnoise(I,type,parameters); 其中,当type为gaussian,所加⼊噪声是parameters为m(均值)、v(⽅差)的⾼斯噪声,这是最普通的噪声。
当type为localvar时,所加⼊噪声是parameters为0(均衡)、v(⽅差)的⾼斯噪声。
当type为poission时,所加⼊的是⽆参数的泊松噪声,在照度⾮常⼩时出现,或在⾼倍电⼦放⼤线路中出现。
当type为salt&pepper时,所加⼊的噪声是parameters为d(密度)的椒盐噪声。
matlab surf光滑处理
matlab surf光滑处理
在使用matlab中的surf函数绘制三维图形时,往往会出现图像表面不光滑的情况。
这是因为surf函数在绘制时是通过将数据点连接起来形成三角面片来实现的,而这些三角面片的大小和方向不一定能够完美地贴合数据点,从而导致表面不光滑。
为了解决这个问题,可以使用matlab中的smooth函数对数据进行平滑处理。
在进行平滑处理前,需要将数据点按照一定的规律排列,以便于smooth函数对其进行处理。
一般来说,可以使用meshgrid函数生成网格数据,并将其转换为列向量的形式,然后再将列向量和对应的数值向量作为输入参数传递给smooth函数。
在平滑处理完成后,可以再次使用surf函数将处理后的数据进行绘制。
此时,表面将变得更加光滑,更符合实际情况。
需要注意的是,平滑处理可能会对数据造成一定程度的变形,因此需要根据实际需求来确定平滑处理的程度。
如果平滑程度过高,可能会导致数据失真,从而影响后续的数据分析和处理。
- 1 -。
图像边沿平滑处理的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作为一种功能强大的科学计算软件,提供了丰富的工具和函数,可以帮助我们实现图像重建和恢复的任务。
在本文中,我们将探讨几种常用的图像重建和恢复技术,并介绍如何使用Matlab来实现它们。
第一部分:图像去噪与平滑图像中的噪声往往是由电子设备、图像采集过程或传输过程中引入的。
去除这些噪声对于提高图像质量非常重要。
在Matlab中,我们可以使用均值滤波、中值滤波、高斯滤波等方法进行图像去噪和平滑。
均值滤波是一种常用的线性滤波方法,它通过计算图像周围像素的平均值来减小噪声。
中值滤波则取邻域像素的中值作为当前像素的值,可以有效地去除脉冲噪声和椒盐噪声。
高斯滤波则使用高斯核函数对图像进行平滑,可以在平滑图像的同时保留图像的细节信息。
第二部分:图像复原与去模糊当图像受到模糊因素的影响时,如相机抖动、运动模糊等,我们可以使用图像复原和去模糊技术来提高图像的清晰度。
在Matlab中,我们可以使用逆滤波、维纳滤波等方法进行图像复原和去模糊。
逆滤波是一种经典的图像复原方法,通过将图像的频谱进行逆变换,消除因模糊而引入的相位延迟和衰减。
然而,逆滤波在存在噪声的情况下容易引入放大噪声的问题。
为了解决这个问题,可以使用维纳滤波器,它通过权衡图像信号和噪声的功率谱来恢复原始图像。
第三部分:图像超分辨率重建超分辨率重建是一种在低分辨率图像的基础上提高图像分辨率的技术。
它在很多应用中都非常有用,如视频监控、医学图像分析等。
在Matlab中,我们可以使用插值方法、重建方法等技术进行图像超分辨率重建。
插值方法是一种常用的图像超分辨率技术,它通过对像素进行重新采样来增加图像的分辨率。
基于MATLAB的数字图像处理的设计与实现
基于MATLAB的数字图像处理的设计与实现摘要数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务。
数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术。
目的:改善医学图像质量,使图像得到增强。
方法:利用Matlab工具箱函数,采用灰度直方图均衡化和高通滤波的方法对一幅X线图像进行增强处理。
结果:用直方图均衡化的算法,将原始图像密集的灰度分布变得比较稀疏,处理后的图像视觉效果得以改善。
高通滤波对于局部细节增强显著,高通滤波后使不易观察到的细节变得清晰。
结论:使用Matlab工具箱大大简化了编程工作,为医学图像处理提供了一种技术平台。
经过直方图均衡化和高通滤波处理后的医学图像,视觉效果得到改善。
关键词:MATLAB;直方图均衡化;高通滤波;图像增强AbstractDigital image processing is an emerging technology, with the development of computer hardware, real—time digital image processing has become possible due to digital image processing algorithms to appear,making it faster and faster processing speed,better for people services .Digital image processing is used by some algorithms computer graphics image pro cessing technology. Objective:To improve the quality of medical image by enhancing the details。
Matlab中的插值和平滑方法
Matlab中的插值和平滑方法1. 引言在数值分析和数据处理中,插值和平滑是常用的技术手段,可以用于填补数据的空缺以及降低数据中的噪声。
Matlab作为一种强大的数值计算和数据处理软件,提供了丰富的插值和平滑方法,本文将介绍其中的一些常用方法及其应用。
2. 插值方法2.1 线性插值线性插值是最简单的一种插值方法,它假设待插值函数在相邻数据点之间是线性变化的。
Matlab中提供了interp1函数实现线性插值,可以通过设定插值点的横坐标向量和已知数据点的横坐标向量,以及对应的纵坐标向量,得到插值结果。
2.2 分段插值分段插值是一种更精确的插值方法,它假设待插值函数在相邻数据点之间是分段线性变化的。
Matlab中的interp1函数也可以实现分段插值,通过指定'linear'插值方法和 'pchip'插值方法,可以得到不同的插值结果,前者得到的结果比较平滑,而后者更接近原始数据的形状。
2.3 样条插值样条插值是一种更高阶的插值方法,它假设待插值函数在相邻数据点之间是多项式变化的。
Matlab中的spline函数可以实现三次样条插值,它通过计算每个数据点处的二阶导数,得到一个以每个数据点为节点的三次多项式函数。
样条插值可以更加精确地还原数据,但也容易受到离群点的干扰。
3. 平滑方法3.1 移动平均移动平均是一种常用的平滑方法,它通过计算数据点周围一定范围内的平均值,得到平滑后的结果。
Matlab中的smoothdata函数提供了不同的平滑方法,包括简单移动平均、指数移动平均和加权移动平均等,可以根据具体需求选择适当的方法。
3.2 Savitzky-Golay滤波Savitzky-Golay滤波是一种基于最小二乘法的平滑方法,它通过拟合多项式曲线来实现数据的平滑。
Matlab中的sgolay函数可以实现Savitzky-Golay滤波,通过指定不同的拟合阶数和窗口大小,可以得到不同程度的平滑结果。
《数字图像处理及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()功能:调整图像灰度值或颜色映像表,也可实现伽马校正。
图像的平滑滤波实验报告
图像的平滑滤波实验报告
一.实验目的
(1)熟练掌握空域平滑滤波的原理、方法及其MATLAB实现。
(2)分析模板大小对空域平滑滤波的影响,线性和非线性方法对空域平滑滤波增强效果的影响,比较不同滤波器的处理效果,分析其优缺点。
二、实验原理
函数 filter来实现线性空间滤波,用于指定在滤波过程中是使用相关运算,还是卷积运算,相关就是按模板在图像上逐步移动运算的过程,卷积则是先将模板旋转180度,再在图像上逐步移动的过程。
数字图像处理中最著名的统计排序滤波器是中值滤波器,MATLAB 工具箱提供了二维中值滤波函数,定义了一个大小为m×n的邻域,中值就在该邻域上计算。
MATLAB工具箱支持一些预定义的二维线性空间滤波器,这些空间滤波器可通过函数special实现。
生成滤波模板的函数。
三、实验内容及结果
(1)选择一副图像fig620,分别选择3x3,7x7,25x25等平均模板进行均值滤波模糊处理,并对不同尺寸的滤波器模板操作后的图像进行比较。
(1)选择一副图像fig620,分别选择3x3,7x7,25x25等平均模板进行高斯滤波模糊处理,并对不同尺寸的滤波器模板操作后的图像进行比较。
(2)选择一副图像circuit,对图像加入椒盐噪声,检验两种滤波模板(3x 3平均模板和3x3的非线性模板中值滤波器)对噪声的滤波效果。
基于MATLAB的直方图均衡算法研究与实现毕业设计论文
摘要毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
基于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噪声来源一幅图像可能会受到各种噪声的干扰,而数字图像的实质就是光电信息,因此图像噪声主要可能来源于以下几个方面:光电传感器噪声、大气层电磁暴、闪电等引起的强脉冲干扰、相片颗粒噪声和信道传输误差引起的噪声等。
图像复原技术及其MATLAB实现
图像复原技术及其MATLAB实现毕业设计(论文)材料之二(1)安徽工程大学本科毕业设计(论文)专业:电子信息科学与技术题目:图像复原技术及其MATLAB实现作者姓名:吴凯导师及职称:金震妮(讲师)导师所在单位:电气工程学院I2014年6月12日安徽工程大学本科毕业设计(论文)任务书2014届电气工程学院电子信息科学与技术专业学生姓名:吴凯Ⅰ毕业设计(论文)题目中文:图像复原技术及其MATLAB实现英文:Matlab Realization of Image Restoration TechnologyⅡ原始资料[1] 孟昕,张燕平.运动模糊图像恢复的算法研究与分析[J].计算机技术与发展,2007,17(8):74-76.[2] 孟昕,周琛琛,郝志廷.运动模糊图像恢复算法相关研究发展概述[J].安徽电子信息职业技术学院学报,2008,7(6),38-41.[3] 曾志高,谭骏珊.匀速直线运动模糊图像的恢复技术研究[J].陕西理工学院学报(自然科学版),2006,22(2),36-38.[4] 李云浩,王建设.匀速直线运动模糊图像的退化数学模型试验研究[J].江西理工大学学报,2006,27(4),28-30.IIIIIIIMatlab Realization of Image Restoration TechnologyAbstractBe reconstructed the original image from the observed degraded image is the purposes of image restoration, which is the basis of image processing, pattern recognition, machine vision, so it gained important applications in astronomy, remote sensing imaging, medical imaging and other fields. Motion blurred image restoration is an important part of image restoration.The key problem in image restoration is to get the point spread function of motion-blurred images , it is important to discriminate the blur direction and blur length . In this paper, motion blurred image in the frequency domain amplitude graph black belt stripe (ie image Zeros) were analyzed to calculate the PSF parameters.After obtaining the parameters of PSF, this paper uses the inverse filtering, Wiener filter, the smallest linear squares, Richardson-Lucy algorithm for fuzzy image restoration, and the results of various recovery methods were analyzed and compared. Keywords: image restoration; motion blur; blur direction ; blur lengthI目录引言 (1)第1章绪论 (2)1.1 研究背景 (2)1.2 相关领域的研究现状及存在的问题 (2)第2章图像复原技术的一般原理 (4)2.1 成像系统的数学描述 (4)2.2 图像的退化模型 (5)2.3 图像点扩展函数的估计方法 (6)第3章匀速直线运动模糊图像的复原技术 (8)3.1 匀速直线运动模糊图像的退化模型 (8)3.2 任意方向和水平方向运动模糊图像复原的关系 (9)12123.4.2 模糊长度的估计14第4章匀速直线运动模糊图像的几种复原方法 (16)4.1 逆滤波复原 (16)181820第5章几种复原方法的MATLAB实现及评价 (22)5.1 图象质量评价 (22)5.2 逆滤波复原 (23)5.3 有约束最小二乘方复原的实现 (2)6 5.4 维纳滤波复原的实现 (28)3134论文的工作总结 (34)展望 (34)致谢 (36)参考文献 (37)附录A 引用外文文献及其译文 (38)附录B 参考文献的题录及其摘要 (44)附录C 主要源程序 (46)II插图清单图2-1 图像连续退化模型 (5)图3-1 匀速直线运动模糊图像的退化模型 (9)图3-2 运动模糊方向示意图 (10)图3-3 原图像和退化图像 (13)图3-4二次傅里叶变换后的原图像及退化图像 (14)图3-5 模糊方向的获取 (14)图3-6 sobel算子的自相关曲线 (15)图4-1 实际的逆滤波处理框图 (17)图5-1 逆滤波复原过程 (24)图5-2 逆滤波减小振铃现象复原图像图 (26)图5-3 有约束最小二乘方在不同参数下的恢复情况图 (28)3032III表格清单表5-1平均平方误差客观评价方法得分 (30)表5-2复原图像与原图像的平均平方误差 (33)IV安徽工程大学毕业设计(论文)V引言图像复原是图像处理领域一个具有现实意义的课题。
实验四 图像的平滑
实验四图像的平滑一.实验目的1、掌握常见的图像噪声种类;2、理解邻域平均法和中值滤波的原理、特点、适用对象;3、掌握边缘检测的基本思想和常见的边缘检测算子的使用方法;二.实验原理及内容图像平滑的目的是消除图像噪声、恢复原始图像。
实际中摄取的图像一般都含有某种噪声,引起噪声的原因很多,噪声的种类也很多。
总的说来,可以将噪声分为加性噪声和乘性噪声。
加性噪声中又包含高斯噪声、椒盐噪声等典型噪声。
Matlab图像处理工具箱提供了模拟噪声生成的函数imnoise,可以对图像添加一些典型的噪声。
imnoise格式:J=imnoise(I,type,parameters);常见的去除噪声的方法有:邻域平均法、空间域低通滤波、频率域低通滤波、中值滤波等。
二维中值滤波的Matlab函数为medfilt2。
实验内容:1、对图像lena.tif叠加零均值高斯噪声,噪声方差为0.02,然后分别利用邻域平均法和中值滤波法(窗口尺寸可变(先用3×3,再取5×5逐渐增大)对该图像进行滤波,显示滤波后的图像。
2、对图像lena.tif叠加椒盐噪声,噪声方差为0.02,选择合适的滤波器将噪声滤除。
3、对图像lena.tif叠加乘性噪声,噪声方差为0.02,设计一种处理方法,既能去噪声又能保持边缘清晰。
三、实验报告要求1、给出对图像lena.tif叠加零均值高斯噪声,以及利用平均法和中值滤波法对该图像进行滤波的Matlab程序,显示叠加噪声前后的图像,显示滤波后的图像,比较滤波效果。
2、给出对图像lena.tif叠加椒盐噪声,以及对该图像进行滤波的Matlab程序,显示叠加噪声前后的图像,显示滤波后的图像,对结果进行分析。
3、给出对图像lena.tif叠加乘性噪声,以及对该图像进行滤波的Matlab程序,显示叠加噪声前后的图像,显示滤波后的图像,对结果进行分析。
4、比较中值滤波对含有不同噪声的图像的平滑效果,讨论中值滤波最适用于平滑哪种噪声?四、实验程序及框图实验框图实验程序1.叠加高斯噪声并滤波clear all %清空工作空间I=imread('lena.jpg'); %读入图像J=imnoise(I,'gaussian',0,0.02); %叠加高斯噪声h1=im2double(J); %转换成double型h2=fspecial('average');g1=filter2(h2,h1,'same'); %均值滤波g2=medfilt2(h1); %中值滤波subplot(2,2,1);imshow(I);xlabel('原图') %显示原图subplot(2,2,2);imshow(J);xlabel('添加高斯噪声') %显示叠加噪声图像subplot(2,2,3);imshow(g1);xlabel('均值滤波') %显示均值滤波图像subplot(2,2,4);imshow(g2);xlabel('中值滤波') %显示中值滤波图像2.叠加椒盐噪声并滤波clear all; %清空工作空间I=imread('lena.jpg'); %读入图像J=imnoise(I,'salt & pepper',0.02); %叠加椒盐噪声h1=im2double(J); %转换成double型h2=fspecial('average');g1=filter2(h2,h1,'same'); %均值滤波g2=medfilt2(h1); %中值滤波subplot(2,2,1);imshow(I);xlabel('原图像'); %显示原图subplot(2,2,2);imshow(J)xlabel('添加椒盐噪声图像'); %显示叠加噪声图像subplot(2,2,3);imshow(g1);xlabel('均值滤波'); %显示均值滤波图像subplot(2,2,4);imshow(g2);xlabel('中值滤波') %显示中值滤波图像3.叠加乘性噪声并滤波clear all; %清空工作空间I=imread('lena.jpg'); %读入图像J=imnoise(I,'speckle',0.02); %叠加乘性噪声h1=im2double(J); %转换成double型h2=fspecial('average');g1=filter2(h2,h1,'same'); %均值滤波g2=medfilt2(h1); %中值滤波subplot(2,2,1);imshow(I);xlabel('原图像') %显示原图subplot(2,2,2);imshow(J);xlabel('添加乘性噪声图像') %显示噪声图像subplot(2,2,3);imshow(g1);xlabel('均值滤波') %均值滤波subplot(2,2,4);imshow(g2);xlabel('中值滤波') %中值滤波4.比较中值滤波对各种噪声滤波效果,并说明中值滤波适合哪种噪声?答:中值滤波对椒盐噪声滤波效果最好,对乘性噪声滤波效果一般,对高斯噪声滤波效果最差。
matlab论文.doc
基于MATLAB 的数字图像处理作者: 指导老师:摘 要 随着计算机硬件的发展,数字图像处理技术也随着迅速发展,在各个领域都有广泛的应用与研究.由于它的图像信息量大,处理精度高,内容丰富,因此,处理速度就成为一个问题,然而MA TLAB 具有强大的科学计算功能,并包含丰富的图像处理工具箱,使得图像处理变得简单、高效.本文介绍了数字图像处理和MA TLAB 软件的基础知识,利用MA TLAB 工具箱进行图像处理的一些方法,重点研究了图像变换和图像增强. 关键词 数字图像处理 MA TLAB 图像变换 图像增强1 引言数字图像处理就是指借用数字计算机或者其他数字硬件,对从图像信息转换而得到的电信号进行某些数学运算,以提高图像的实用性.随着计算机处理能力的不断增强,数字图像处理的应用也越来越广,已经渗透到工程、工业、医疗保健、航空航天、军事、科研、安全保卫等各个方面,在国民经济各领域中发挥越来越大的作用.MATLAB 是美国Math works 公司推出的一种可视化科学计算软件,集公式演算推导与数值计算于一体,有强大的科学计算功能,并包含丰富的图像处理工具箱,使得应用MATLAB 进行图像处理变得简单、高效.2 数字图像处理 2.1图像数字化原理一幅图像可定义为一个二维函数),(y x f ,这里x 和y 是空间坐标,而在任何一对空间坐标)(y x ,上的幅值f 称为该点图像的强度或灰度.当x 、y 和幅值f 为有限的、离散的数值时,称该图像为数字图像.数字图像是由有限的元素组成的,每一个元素都有一个特点的位置和幅值,这些元素称为图像元素,画面元素或像素.数字图像处理一般都用计算机处理或实时的硬件处理,因此也被称为计算机图像处理.完整的数字图像处理工程大体上可分为图像信息的获取、图像信息的存储、图像信息的传送、图像信息处理、图像信息的输出和显示几个方面,主要包括几何处理、算数处理、图像增强、图像复原、图像重建、图像编码、模式识别、图像理解几项内容.数字图像处理方法主要分成两大部分:一是空域分析法,二是频域分析法.空域分析法就是对图像矩阵进行处理;频域分析法是通过图像变换将图像从空域变换到频域,从另外一个角度来分析图像的特征并进行处理.数字图像处理的优点是处理精度高,处理内容丰富,可进行复杂的非线性处理,有灵活的变通能力,一般来说要改变软件就可以改变处理内容;它的特点是图像信息量大,图像处理技术综合性强,图像信息理论与通信理论密切相关.2.2 MATLAB 在图像处理上的运用MATLAB 中的基本数据结构是由一组有序的实数或复数元素构成的数组,同样地,图像对象的表达采用的是一组有序的灰度或彩色数据元素构成的实值数组.MA TLAB 中通常用二维数组来存储图像,数组的每一个元素对应于图像的一个像素值.MATLAB 图像处理工具箱提供了丰富的图像处理函数,主要可以完成以下功能: ● 图像的几何操作;● 图像的邻域和图像块操作; ● 线性滤波和滤波器设计; ● 图像变换;● 图像分析和增强; ● 二值图像形态学操作; ● 图像复原; ● 图像编码;● 感兴趣区域处理.MATLAB 图像工具箱提供的函数大多数是M 文件,我们可以查看这些文件的代码并进行改进,也可以把自己编写的代码加入其中,来扩充图像处理的功能.MATLAB 中,衣服图像可能包含一个数据矩阵,也可能包含一个颜色映射表矩阵.MATLAB 中有4种基本的图像类型:索引色图像、灰度图像、RGB 图像和二值图像.此外,MATLAB 还支持由多帧图像组成的图像序列.3 MATLAB 的图像文件操作MATLAB 图像处理工具箱为用户提供了丰富的函数,是的基本的图像文件操作如读写以及显示变得非常容易.3.1 图像文件的读写 3.1.1 图像文件的读取MATLAB 中利用函数imread 来实现图像文件的读取操作. (1) A=imread(filename ,fmt)该语句读取字符串“filename”指定的灰度图像或者彩色图像,“fmt”指定了文件的格式.imread 函数返回数组A 表达的图像数据,如果读取的是灰度图像,则A 是一个n m ⨯的二维数组;如果读取的是彩色图像,则A 表示一个3⨯⨯n m 的三位数组. (2) [X ,map]=imread(filename ,fmt)X 用于存储索引色图像数据,即是相关颜色的映射表序号值,map 用于存储与该索引色图像相关的颜色映射表. (3) […]=imread(filename)该语句在执行图像读取任务时,首先需要从图像文件filenane 的内容推断其图像类型. (4) […]=imread(URL ,…)该语句用于读取引自Internet URL 的图像,URL 要求必须包含协议类型(protocol type ),图 1 灰度图像3.1.2 图像文件的写入MATLAB 中利用函数imwrite 来实现图像文件的读取操作.(1)imwrite(A ,filenane ,fmt)该语句是把图像数据A 写入到由filename 指定的输出文件中去,存储的格式有fmt 指定.A 不能为空,对于灰度图像来说,A 是一个n m ⨯的二维数组;对于彩色图像来说,则A 表示一个3⨯⨯n m 的三位数组;如果fmt 指定格式为TIFF ,则imwrite 函数可以接受4⨯⨯n m 的三维数组.(2)imwrite(X ,map ,filenane ,fmt) 该语句用于写入索引色图像,X 表示索引色图像数据数组,map 表示器相关联的颜色映射表,filename 维fmt 格式的输出文件. (3)imwrite(…,filenane)该语句在写入图像到文件时,从filename 的拓展名推断图像的文件格式. (4)imwrite(…,Param1,Val1,Param2,Val2…)该语句用于指定HDF 、JPEG 、PBM 、PGM 、PNG 、PPM 和TIFF 等类型输出文件的不同参数.3.1.3 图像文件的查询在MA TLAB 中,可以使用imfinfo 函数查询图像文件的信息.语句格式如下: info=imfinfo(‘文件名’,文件格式) info=imfinfo(‘文件名’)另外,在图像处理中,经常需要查看图像的直方图统计特性,MA TLAB 工具箱提供了函数imhist .3.2 图像文件的显示(1) 图像浏览器的打开与关闭当需要打开图像浏览器时,可以调用imview 函数,并指定想要用浏览器浏览的图像: moonfig=imread(‘moon .tif’); imview(moonfig);也可以直接指定图像名: Imview(‘moon .tif’);当要关闭当前浏览器,可以直接单击该图像浏览器窗口上的关闭按钮,也可使用下面语句关闭多个浏览器窗口: imview close all(2)使用imshow 函数显示图像imshow(X ,map)用于显示索引色图像X; imshow(RGB)用于显示真彩色图像RGB;imshow(…,display_option)显示图像,display_option 选取‘notrusize’或‘truesize’,用于指定图像显示时图像像素点与屏幕像点的映射关系;imshow (x ,y ,A ,…)用2个元素的矢量x 和y 建立非默认的空间坐标系统,x 和y 指定了MATLAB 句柄图形图像对象(Handle Graphics image object )属性XData 和YData ..imshow filename 可以直接显示文件filename 中的图像; h= imshow(…),h 表示被显示的图像的句柄.4 图像变换在MA TLAB 中,一般用二元函数),(y x f 作为图像的数学表示.表示在特定点)(y x ,处的函数值,表示图像在该点相应的颜色强度或者灰度.所谓的图像变换就是指把图像转换为另一种数学表示方式的操作.下面分别为图像变换的方法、目的及用途.● 方法:对图像信息进行变换,使能量保持但重新分配.常用的方法有2D-DFT(离散傅里叶变换)、2D-DCT(离散余弦变换)、Radon 变换. ● 目的:有利于加工,处理【滤除不必要信息(如噪声),加强、提取感兴趣的部分或特征】. ● 用途:1.提取图像特征(如直流分量、目标域边缘);2.图像压缩(正交变换能量集中,对集中部分进行编码);3.图像增强(低通滤波,平滑噪声;高通滤波,锐化边缘).4.1 傅里叶变换4.1.1 一维傅里叶变换及其反变换dx e x f u F ux j ⎰∞∞--=ℜπ2)()(:du e x F x f ux j ⎰∞∞--=ℜπ21)()(:这里)(x f 是实函数,它的傅里叶变换)(u F 通常是复函数,)(u F 的实部、虚部、振幅、能量和相位分别如下: ● 实部:dt ut t f u R ⎰∞∞-=)2cos()()(π● 虚部:dt ut t f u I ⎰∞∞--=)2sin()()(π● 振幅:[]2122)()()(u I u R u F += ● 能量:[])()()()(222u I u R u F u E +== ● 相位:)()(arctan)(u R u I u =φ 傅里叶变换可以很容易推广到二维的情形.设函数),(y x f 是连续可积的,且),(v u F 可积,则存在下面的傅里叶变换对:dxdy e y x f v u F y x f F vy ux j ⎰⎰∞∞-∞∞-+-==)(2),(),()},({π dudv e v u F y x f v u F F vy ux j ⎰⎰∞∞-∞∞-+-==)(21),(),()},({π4.1.2 一维离散傅里叶变换及其反变换N e x f u F ux j N X /)()(210π--=∑=ℜ:N eu F Nx f uxj N u /)(1)(211π∑-=-=ℜ:其中1,1,0-=N u ,,.它的频谱、相位、能量谱如下: ● 频谱:[]2122)()()(u I u R u F +=● 相位:)()(arctan)(u R u I u =φ ● 能量谱:[])()()()(222u I u R u F u E +==其二维离散傅里叶变换的正反公式对为:qn N j M m N n pm M j e e n m f q p F )/2(101)/2(),(),(ππ--=-=-∑∑=qn N j M p N q pm M j e e q p F n m f )/2(101)/2(),(),(ππ∑∑-=-==表1 傅里叶变换的性质4.2 离散余弦变换在傅里叶级数展开式中,如果函数对称于原点,则其级数中将只有余弦函数项,因此,人们提出了离散余弦变换(DCT ).由于离散余弦变换具有把图像的重要可视信息都集中在变换的一小部分系数中,所以DCT 变换在图像的压缩中非常有用,是JPEG 算法的基础.一维离散余弦正反变换公式如下:∑-=+=12)12(cos)(2N n Nkn n f k F π)(∑-=+=12)12(cos)(1N n Nkn k F Nn f π)(一个N M ⨯的矩阵A 的二维离散余弦正反变换公式如下:∑∑-=-=++=1012)12(cos2)12(cos),()()(),(M x N y Nvy Mux y x f v c u c v u F ππ∑∑-=-=++=1012)12(cos2)12(cos),()()(),(M u N v Nvy Mux v u F v c u c y x f ππ其中:{12)(M Mu c =,{12)(N Nv c =.离散余弦变换的实现由两种方法:1. 基于FFT 的快速算法,工具箱中的dct2函数实现了这种算法.2. 基于DCT 变换矩阵的算法,工具箱提供了dctmtx 函数来计算变换矩阵.MATLAB 图像处理工具箱提供了一下函数进行DCT 变换. (1) 函数:dct2功能:实现图像的二维离散余弦变换. 语法格式: B=dct2(A)B=dct2(A ,[M N]) B=dct2(A ,,M ,N)式中,A 表示要变换的图像,B 表示变换后得到的图像矩阵.B 和A 是同样大小的矩阵,并且包含了余弦变换后的系数.M 和N 是可选参数,表示对图像矩阵A 的填充或截取. (2) 函数:idct2功能:实现图像的二维离散余弦反变换. 语法格式: B=idct2(A)B=idct2(A ,[M N]) B=idct2(A ,,M ,N)式中,A 表示要变换的二维离散余弦变换矩阵,B 表示变换后得到的图像.B 和A 是同样大小的矩阵,并且包含了余弦变换后的系数.M 和N 是可选参数,表示对二维离散余弦变换矩阵A 的填充或截取.(3) 函数:dctmtx功能:计算二维DCT 矩阵. 语法格式: D=dctmtx(n)式中,D 是返回n×n 的DCT 变换矩阵.5 图像增强对于一个图像处理系统来说,可以将处理分为三个阶段,在获取原始图像后,首先是图像预处理阶段;第二是特征抽取阶段;第三是识别分析阶段,图像预处理阶段尤为重要,而图像增强则是图像预处理中重要的方法.图像增强的目的在于:(1)采用一系列技术改善图像的视觉效果,提高图像的清晰度.(2)将图像转换成一种更适合于人或者机器进行解释和分析处理的形式.图像增强不是以图像保真度为原则,二是通过处理设法有选择的突出便于人或者机器分析某些感兴趣的信息,抑制一些无用的信息,以提高图像的使用价值,即图像增强处理只是增强了对某些信息的辨识能力.图像增强的方法可以分为空域增强方法和频域增强方法两大类.(1)空域增强方法:直接在图像所在的空间进行处理,也就是在像素组成的空间里直接对像素进行操作.(2)频域增强方法:用图像变换方法将原来的图像空间中的图像以某种形式转换到其他空间中去,然后利用该空间的特有性质方便地进行图像处理,最后再转换回原来的图像空间中,从而得到处理后的图像.图像增强一般包括以下内容:●点处理●空间域滤波●频域滤波●彩色增强●代数运算5.1 灰度变换灰度变换是一种简单而实用的方法.它可以使图像动态范围增大,图像对比度扩展,图像变清晰,特征明显,是图像增强的重要手段之一.增强对比度实际是增强原图像的各部分的反差.实际中往往是通过原图中某两个灰度值之间的动态范围来实现的.如下图:图2在图中可以看出,通过变换可以使原图的较高的和较低的灰度值的动态范围减小了,而原图在二者之间的动态范围增加了,从而其范围的对比度增加了.MA TLAB代码如下:X1=imread('pout.tif');figure,imshow(X1)f0=0;g0=0;f1=70;g1=30;f2=180;g2=230;f3=255;g3=255;r1=(g1-g0)/(f1-f0);b1=g0-r1*f0;r2=(g2-g1)/(f2-f1);b2=g1-r2*f1;r3=(g3-g2)/(f3-f2);b3=g2-r3*f2;[m,n]=size(X1);X2=double(X1);for i=1:mfor j=1:nf=X2(i,j);g(i,j)=0;if(f>=0)&(f<=f1)g(i,j)=r1*f+b1;elseif (f>=f1)&(f<=f2)g(i,j)=r2*f+b2;elseif (f>=f2)&(f<=f3)g(i,j)=r3*f+b3;endendendfigure,imshow(mat2gray(g))图3 原图图4 增强对比度所得图像由以上各图观察得到,均值滤波器仅能去除部分噪声,滤波后的图像仍有大量的噪声点存在,而且图像产生了相当程度的模糊.这是因为均值滤波使用的是平滑模板的思想,它是通过一点和周围的几个点的平均去除突变的点,从而能滤掉一定的噪声,另一方面其代价是图像有一定的模糊,并且随着所用滤波器尺寸的增加,图像的细节锐化程度相应降低.MATLAB软件中,imadjust函数可以实现图像的灰度变换,通过直方图变换调整图像的对比度.J=imadjust(I,[low high],[bottom top],gamma)其中,gamma为校正量,[low high]为原图像要变换的灰度范围,[bottom top]指定了变换后的灰度范围,以下展示了常用的对比度扩展法代码及结果:I=imread('pout.tif'); %读入JPG彩色图像文件figure,imshow(I,[]);[m,n]=size(I); %测量图像尺寸参数M=zeros(1,256); %预创建存放灰度出现概率的向量for k=0:255M(k+1)=length(find(I==k))/(m*n); %计算每级灰度出现的概率,将其存入GP 中相应位置endfigure ,bar(0:255,M ,'g') ; %绘制直方图 S1=zeros(1,256); for i=1:256 for j=1:iS1(i)=M(j)+S1(i); %计算Sk end endS2=round((S1*256)+0.5); %将Sk 归到相近级的灰度 for i=1:256N(i)=sum(M(find(S2==i))); %计算现有每个灰度级出现的概率 endfigure ,bar(0:255,N ,'b'); %显示均衡化后的直方图 J=I;for i=0:255A(find(I==i))=S2(i+1); %将各个像素归一化后的灰度值赋给这个像素endfigure ,imshow(J); %显示均衡化后的图像图5 原图 图6 原图的灰度直方图图7 原图直方图均衡化 图8 均衡后的的灰度直方图5 .2 空间域滤波通常情况下,像素的邻域比该像素要大,也就是说这个像素的邻域中除了本身以外还包含了其他像素.在这种情况下,),(y x g 在),(y x 位置处的值不仅取决于其在该处的值,而且取决于以),(y x 为中心的邻域内所有像素的值.为在邻域内实现增强操作,常客利用模板与通信进行卷积.每个模板实际上是一个二维数组,其中各个元素的取值决定了模板的功能,这种模板操作也被称为空域滤波.空域滤波可分为线形滤波和非线形滤波两类.线形滤波器的设计常基于对傅立叶变换的分析.非线形空域滤波器则一般直接对邻域进行操作.另外各种滤波器根据功能又主要分成平滑滤波和锐化滤波.平滑可用低通来实现,锐化可用高通来实现.平滑滤波器:它能减弱或消除傅立叶空间的高频分量,但不影响在低频分量.因为高频分量对应图像中的区域边缘等灰度值具有较大较快变化的部分,滤波器将这些分量滤去可使图像平滑.锐化滤波器:它能减弱或消除傅立叶空间的高频分量.5.2.1 线性平滑滤波线性低通滤波器是最常用的线性平滑滤波器.实现这种滤波器的方法也称为邻域平均法.邻域平均法是一种局部空间域算法,这种方法的基本思想是用几个像素灰度的平均值来代替每个像素的灰度.MA TLAB实现均值过滤器的代码如下:I=imread('pout.tif'); %读入原始图像%subplot(2,2,1);figure,imshow(I,[]); %显示原始图像f=imnoise(I,'salt & pepper',0.04); %对原始图像添加椒盐噪声,噪声强度为0.04 g=imnoise(I,'gaussian',0.04); %对原始图像添加高斯噪声,噪声强度为0.04 % subplot(2,2,2);figure,imshow(f); %显示添加椒盐噪声后的图像% subplot(2,2,3);figure,imshow(g); %显示添加高斯噪声后的图像K1=filter2(fspecial('average',3),f)/255;% subplot(2,2,4);figure,imshow(K1);K2=filter2(fspecial('average',3),g)/255;% subplot(2,2,4);figure,imshow(K2);图9 原图图10 椒盐噪声图像图11 高斯噪声图像图12 椒盐噪声均值滤波图13 高斯噪声均值滤波均值滤波的优势在于实现简单,去噪效果明显,但是去噪的同时会导致结果图像边缘位置的改变和细节模糊甚至丢失.5.2.2 非线性平滑滤波中值滤波是一种去除噪声的非线性处理方法,它的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域各点值的中值代替.中值滤波是非线性运算,因此对于随机性质的噪声输入,数学分析是相当复杂的.由大量实验可得,对于零均值正态分布的噪声输入,中值滤波输出与输入噪声的密度分布有关,输出噪声方差与是输入噪声密度函数的平方成反比.对随机噪声的抑制能力,中值滤波性能要比平均值滤波差些.但对于脉冲干扰来讲,特别是脉冲宽度较小,相距较远的窄脉冲,中值滤波是很有效的.MA TLAB实现中值滤波器代码如下:I=imread('pout.tif'); %读入原始图像%subplot(2,2,1);figure,imshow(I,[]); %显示原始图像f=imnoise(I,'salt & pepper',0.04); %对原始图像添加椒盐噪声,噪声强度为0.04 g=imnoise(I,'gaussian',0.04); %对原始图像添加高斯噪声,噪声强度为0.04 % subplot(2,2,2);figure,imshow(f); %显示添加椒盐噪声后的图像% subplot(2,2,3);figure,imshow(g); %显示添加高斯噪声后的图像K1=medfilt2(f,[3 3]);% subplot(2,2,4);figure,imshow(K1);K2=medfilt2(g,[3 3]);% subplot(2,2,4);figure,imshow(K2);图14 原图图15 椒盐噪声图像图16 高斯噪声图像图17 椒盐噪声中值滤波图18 高斯噪声中值滤波中值滤波的优势在于去噪效果明显,并且能够较好的保持图像边缘位置和细节.但非线性滤波算法的实现相对线性滤波比较困难.5.2.3 线性锐化滤波在图像识别中,需要有边缘鲜明的图像,即图像锐化.根据微分方法是否线性,可将锐化分为线性锐化和非线性锐化.线性高通滤波器是最常用的线性锐化滤波器,这种滤波器的中心系数都是 正的,而周围的系数都是负的.由于拉普拉斯是一种微分算子,它的应用可增强图像中灰度突变的区域减弱灰度的慢变化区域.因此,锐化处理可选择拉普拉斯算子对原图像进行处理产生描述灰度突变的图像,再将拉普拉斯图像与原始图像叠加而产生锐化图像.拉普拉斯锐化的基本方法可以由下式表示:),(),(),(2y x f y x f y x g ∇-=.这种简单的锐化方法既可以产生拉普拉斯锐化处理的效果,同时又能保留背景信息:将原始图像叠加到拉普拉斯变换的处理结果中去,可以使图像中的各灰度值得到保留、灰度突变处的对比度得到增强,最终结果是在保留图像背景的前提下,突现出图像中小的细节.MA TLAB 代码如下:I=imread('pout.tif');m=fspecial('laplacian');I1=filter2(m ,I);h=fspecial('unsharp',0.5);I2=filter2(h ,I)/255;figure ,imshow(I1);figure ,imshow(I2);图 19 原图 图 20 拉式算子运算图像 图 21 高通滤波图像比较原始模糊图像和经过拉氏算子运算的图像,可以发现,图像模糊的部分得到了锐化,特别是模糊的边缘部分得到了增强,边界更加明显.但是,图像显示清楚的地方,经过滤波发生了失真,这也是拉氏算子增强的一大缺点.5.2.4 非线性锐化滤波对一幅图像施加梯度模算子,可以增强灰度变化的幅度,因此可以采用梯度模算子作为图像的锐化算子.此方法也是最常用的非线性锐化滤波方法,梯度模算子具有方向同性和位移不变性.以下是Sobel 算子和Prewitt 算子进行图像锐化的MATLAB 语句:I= imread('pout.tif');figure ,imshow(I ,[]);h1=fspecial('sobel');I1=filter2(h1,I);figure ,imshow(I1);h1= fspecial('prewitt');I1=filter2(h1,I);figure ,imshow(I1);h1= fspecial('laplacian');I1=filter2(h1,I);figure ,imshow(I1);图22 原图 图23 sobel 算子滤波图 24 prewitt 算子滤波 图 25 laplacian 算子滤波5 .3 频域滤波频域滤波的基础就是傅里叶变换和卷积定理,即),(),(,v u F v u H v u G =)(,式中)(v u G ,为增强后的图像,),(v u H 为传递函数,),(v u F 为待增强的图像.一般的频域滤波可分为低通滤波、高通滤波、带通滤波和同态滤波.5.3.1 低通滤波在频率域中,通过滤波器函数衰减高频信息而使低频信息畅通无阻的过程称为低通滤波.低通滤波抑制了反映灰度聚变边界特征的高频信息以及包括在高频中的孤立点噪声,起到平滑图像去噪声的增强作用.Butterworth 低通滤波器是一种物理上可以实现的低通滤波器,n 阶,截断频率为d0的Butterworth 低通滤波器的转移函数为:[]n D v u D v u H 20),(11),(+= 用MA TLAB 实现Butterworth 低通滤波器的代码如下:I1=imread('pout.tif');figure ,imshow(I1,[]);I2=imnoise(I1,'salt & pepper');figure ,imshow(I2);f=double(I2);g=fft2(f);g=fftshift(g);[N1,N2]=size(g);n=2;d0=50;n1=fix(N1/2);n2=fix(N2/2);for i=1:N1for j=2:N2d=sqrt((i-n1)^2+(j-n2)^2);h = 1/(1+0.414*(d/d0)^(2*n));result1(i ,j) = h * g(i ,j);if(g(i ,j)>50)result2(i ,j) = 0;elseresult2(i ,j)=g(i ,j);endendendresult1=ifftshift(result1);result2=ifftshift(result2);X2=ifft2(result1);X3=uint8(real(X2));figure ,imshow(X3);X4=ifft2(result2);X5=uint8(real(X4));figure ,imshow(X5);图 26 原图 图 27 噪声图像图 28 Butterworth 低通滤波 图 29 理想低通滤波 5.3.2 高通滤波高通滤波是为了衰减或抑制低频分量,让高频分量畅通的滤波.Butterworth 高通滤波器的转移函数为:[]n v u D D v u H 20),(11),(+=用MA TLAB实现Butterworth高通滤波的代码如下:I1=imread('pout.tif');figure,imshow(I1,[]);I2=imnoise(I1,'salt & pepper');figure,imshow(I2);f=double(I2);g=fft2(f);g=fftshift(g);[N1,N2]=size(g);n=2;d0=50;n1=fix(N1/2);n2=fix(N2/2);for i=1:N1for j=2:N2d=sqrt((i-n1)^2+(j-n2)^2);if d==0h=0;elseh=1/(1+(d0/d)^(2*n));endresult1(i,j) = h * g(i,j);if(g(i,j)<50)result2(i,j) = 0;elseresult2(i,j)=g(i,j);endendendresult1=ifftshift(result1);result2=ifftshift(result2);X2=ifft2(result1);X3=uint8(real(X2));figure,imshow(X3);X4=ifft2(result2);X5=uint8(real(X4));figure,imshow(X5);图30 原图图31 噪声图像图32 Butterworth高通滤波图33 理想高通滤波结束语本文简单介绍了一些关于数字图像处理和MA TLAB软件的基础知识,主要讲述了MATLAB图像文件操作中的读写与查询,图像变换中经常用到的傅里叶变换与离散余弦变换及其它们的反变换,以及图像增强处理中的几种主要的方法,详细介绍了其中的灰度变换,空域增强与频域增强方法,通过一些常用的滤波器对图像进行处理,并以图片的形式显示出来,直观的了解每个滤波器及其增强方法的优缺点和适用对象.参考文献[1] Rafael C Gonzalez ,Richard E Woods.Digital Image Processing[M].电子工业出版社,2003.[2] 冈萨雷斯.数字图象处理(MATLAB 版)[M].电子工业出版社,2005.[3] 赖治国,余啸海.MATLAB图像处理与应用[M].国防工业出版社,2004.[4] 阮秋琦.数字图像处理(第2版)[M].电子工业出版社.2003.[5] 贺兴华等著.MATLAB 7.x 图像处理[M].人民邮电出版社,2006.[6] 苏金明等著.MATLAB实用教程[M].电子工业出版社,2005.[7] 罗军辉等著.MATLAB7.0在图像处理中的应用.机械工业出版社,2005.Digital image processing based on MATLABAuthor: Supervisor:Abstract: With the development of computer hardware,digital image processing technology with the rapid development,has extensive application and research in various fields.Because of its image information,high processing precision,rich content,therefore,the processing speed becomes a problem.However,MATLAB has a strong scientific computing,and contains a wealth of image processing toolbox,makes the image processing become simple and efficient.This article introduces the basic knowledge of digital image processing and MA TLAB software,and some methods using MA TLAB toolbox of image processing,mainly researchs the image transformation and image enhancement.Keywords: digital image processing MA TLAB image transformation image enhancement。
现代图像处理技术在目标跟踪中的MatLab实现
2 MaL b程 序 实 现 与 结 果 分 析 ta
21 . Ma a 序 及 部 分 仿 真 t b程 L
() 1 图像 增 强
确 图像信息 。 现 目标 的可视化 . 实 达到实时稳定跟踪 的
目的 。
图像 增强 是 数字 图像 处理 过程 中常用 的一种 方 法. 目的是突 出一幅 图像 中的某些 信息 . 同时削弱或 去 除某些不需要 的信息 的处理方法 , 达到图像对 比度 、 亮 度、 轮廓增强等 目的。直方 图仿 真如图 l 所示(a b a ( ) e
关 键 词 :图像 处理 ; ta Ma b仿 真 ;运 动检 测 L
0 引 言
当前 , 随着信息 技术 的飞速发展 , 信息 的获得 、 加 工、 处理和应用等都 有了飞跃发展 。 字图像处理和计 数 算机视 觉发展 十分迅速 , 在航空航 天 、 物 、 生 工业 生产
及 公 共 安 全 等 领 域 都 有 广 泛 应 用 .而运 动 检 测 与 目标
() 3 图像 锐 化 锐 化 技 术 采 用 的是 频 域 上 高 通 滤 波 方 法 .通 过 增 强 高 频 成 分 减 少 图像 中 的模 糊 .特别 是模 糊 边 缘 部 分
tl(原 始 图 像 的 直 方 图 ,; ie t )
s b lt 1 , ) m i ( 6 ) u po (, 2 ; hs I 4 ; 2 i t, i i (, ) m i ( , a ) mh tI 4 , hs xm p s 6 i t
( u nd n o m nct nPlt h i, u nzo 60) G ag ogC m u i i o e nc G aghu 5 0 5 ao yc 1
Ab ta t t d e o t ef r t er s u c sc n t ci n a d n t r y t m tg ai n i ii l a s r c :Su i sh w p r m e o r e o s u t n ewok s se i e r t d gt m— o o h r o n o n ac p se v rn n r m e o re c n t ci n a d a p i ain s se it g ai n o r d t n l u n i me t fo r s u c o s o u o r t n p l t y t m n e t f ta i o a c o r o i c mp s n t o k i d a r mo i g b ln e e eo me to a d a e e v rn n o t r a u e w r ,ame t p o t aa c d d v lp n fh r w r n io me ts f n wae s s m n n o ma in r s u c sa d S n s h a u o l e eo h u ci n b t ri y t a d if r t e o r e n O o , o t e c mp sc u d d v lp te f n t et n e o o e
图像平滑
第一章概述1.1图像锐化图像在传输和变换过程中会受到各种干扰而退化,比较典型的就是图像模糊。
图像锐化的目的就是使边缘和轮廓线模糊的图像变得清晰,并使其细节清晰。
锐化技术可以在空间域进行,常用的方法是对图像进行微分处理,也可以在频域中运用高通滤波技术处理。
1.1.1 图像模糊机理及处理方法图像模糊是常见的图像降质问题。
在图像提取、传输及处理过程中有许多因素可以使图像变模糊。
如光的衍射、聚焦不良、景物和取像装置的相对运动都会使图像变模糊,电子系统高频性能不好也会损失图像高频分量,而使图像不清晰。
在对图像进行数字化时,实际取样点总是有一定的面积,所得的样本是这个具有一定面积的区域的亮度平均值,若取样点正好在边界上,则使样本值降低,从而使数字图像的边界变得不清楚。
大量的研究表明,图像的模糊实质上就是受到了平均或积分运算,因此对其进行逆运算如微分运算、梯度运算,就可以使图像清晰。
从频谱角度来分析,图像模糊的实质是其高频分量被衰减,因而可以用高频加重来使图像清晰。
但要注意,能够进行锐化处理的图像必须要求有较高的信噪比,否则,图像锐化后,信噪比更低。
因为锐化将使噪声受到比信号还强的增强,故必须小心处理。
一般是先去除或减轻干扰噪声后,才能进行锐化处理。
1.1.2 常用的锐化处理方法常用的锐化处理方法有微分法和高通滤波法。
微分法:从数学上看,图像模糊的实质就是图像受到平均或者积分运算,因此对其进行逆运算就可以使图像清晰,因为微分运算是求信号的变化率,有加强高频分量的作用,从而使图像轮廓清晰。
由于图像模糊的特征(如边缘的走向等)各不相同,为了把图像中间任何方向伸展的边缘和轮廓的模糊变清晰,那么要采用各向同性的、具有旋转不变的线性微分算子来锐化它们,梯度算子和拉普拉斯算子就是满足要求的线性微分算子,它们是常用的图像锐化运算方法。
高通滤波:图像中的边缘或线条等细节部分与图像频谱中的高频成分相对应,因此采用高通滤波的方法让高频分量顺利通过,使低频分量受到抑制,就可以增强高频的成分,是图像的边缘或线条变得清晰,实现图像的锐化。
matlab 点画出平滑曲线 简单方法
(原创实用版4篇)编制人员:_______________审核人员:_______________审批人员:_______________编制单位:_______________编制时间:_______________序言下载提示:该文档由本店铺原创并精心编排,下载后,可根据实际需要进行调整和使用,希望能够帮助到大家,谢射!(4篇)《matlab 点画出平滑曲线简单方法》篇1在 MATLAB 中,画出平滑曲线的简单方法有两种:1. 拟合方法:使用 polyfit 函数对数据点进行拟合,然后使用 polyval 函数求出拟合曲线上的点的值,最后使用 plot 函数将拟合曲线画出。
具体步骤如下:a. 定义数据点矩阵 X;b. 使用 polyfit 函数对数据点进行拟合,设置拟合次数(如二次拟合,使用 cpolyfit 函数);c. 使用 polyval 函数求出拟合曲线上的点的值,设置参数为拟合系数和数据点矩阵 X;d. 使用 plot 函数将拟合曲线画出。
2. 插值方法:使用 spcrv 函数对数据点进行插值,然后使用 plot 函数将插值曲线画出。
具体步骤如下:a. 定义数据点矩阵 X;b. 使用 spcrv 函数对数据点进行插值,设置插值次数和插值点数;c. 使用 values 函数求出插值曲线上的点的值;d. 使用 plot 函数将插值曲线画出。
需要注意的是,在使用以上方法画出平滑曲线前,需要先将数据点矩阵 X 中的数据点按照横坐标排序,以便得到正确的插值或拟合结果。
《matlab 点画出平滑曲线简单方法》篇2在 MATLAB 中,画出平滑曲线的简单方法有两种:1. 拟合方法:使用 polyfit 函数进行拟合,然后使用 polyval 函数求出每个横坐标对应的值,最后使用 plot 函数绘制平滑曲线。
具体步骤如下:- 定义横坐标和纵坐标的向量 x 和 y;- 使用 polyfit 函数对数据进行拟合,设置拟合次数(如二次拟合,使用cpolyfit 函数);- 使用 polyval 函数根据拟合系数求出每个横坐标对应的值,得到平滑曲线上的点;- 使用 plot 函数绘制平滑曲线。
matlab中平滑比例
在MATLAB中,平滑比例通常指的是对图像或数据进行平滑处理的一种方法,用于减少噪声和细节的干扰。
平滑处理是一种常见的图像处理技术,它通过在图像中引入模糊效应来降低图像的对比度,从而减少噪声的影响。
平滑比例是用来控制平滑处理程度的参数。
在MATLAB中,常用的平滑方法包括均值滤波和高斯滤波。
这两种方法都是通过在图像的每个像素周围选择一定数量的邻域像素,并取它们的平均值来更新当前像素的值。
平滑比例就是这个邻域大小的比例,它决定了邻域内像素的数量和范围。
当平滑比例较大时,邻域内的像素数量较多,可以更好地覆盖图像中的细节部分,从而减少噪声的影响。
但是,较大的平滑比例也会导致图像的模糊程度增加,使图像的细节丢失较多。
相反,当平滑比例较小时,邻域内的像素数量较少,可以更好地保留图像的细节部分,但可能无法有效地去除噪声。
因此,选择合适的平滑比例需要根据具体的应用场景和需求来确定。
以下是一些建议来选择合适的平滑比例:1. 根据图像的噪声类型和程度来选择平滑比例。
对于高斯噪声,可以使用高斯滤波器进行平滑处理。
根据图像的噪声分布和大小,选择适当的平滑比例可以使滤波器更好地去除噪声而保留图像的细节。
2. 根据图像的边缘和细节要求来选择平滑比例。
如果图像中的边缘和细节非常重要,则需要选择较小的平滑比例以保留更多的细节。
相反,如果图像中的噪声和干扰较多,则可以选择较大的平滑比例来减少它们的影响。
3. 在实际应用中,可以使用一些自动化方法来确定最佳的平滑比例。
例如,可以使用交叉验证或机器学习算法来训练一个模型,并根据模型的预测结果来选择平滑比例。
总之,平滑比例是MATLAB中平滑处理的关键参数之一,需要根据具体的应用场景和需求来确定合适的值。
通过选择适当的平滑比例,可以更好地去除噪声并保留图像的细节部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图像平滑的Matlab实现20101602310035 黄汉杰摘要随着图像处理领域的迅速发展,图像平滑作为图像处理中的重要环节,也逐渐受到人们的关注。
图像平滑的目的主要是消除噪声。
图像平滑方法按空间域和频率域的分类及各种方法的特点,图像平滑是对图像作低通滤波,可在空间域或频率域实现。
空间域图像平滑方法主要用均值滤波、中值滤波等;频率域图像平滑常用的低通滤波器有理想低通滤波器、布特沃斯低通滤波器、低通指数滤波器、低通梯形滤波器等。
关键词:图像平滑;噪声;空间域低通滤波;频域低通滤波引言:(1)在图像的获取和传输过程中原始图像会受到各种噪声的干扰,使图像质量下降。
为了抑制噪声、改善图像质量,要对图像进行平滑处理。
抑制或消除这些噪声而改善图像质量的过程称为图像的平滑。
图像平滑的目的是为了消除噪声。
噪声消除的方法又可以分为空间域或频率域,亦可以分为全局处理或局部处理,亦可以按线性平滑、非线性平滑和自适应平滑来区别。
图像的平滑是一种实用的数字图像处理技术,一个较好的平滑处理方法应该既能消除图像噪声,又不使图像边缘轮廓和线条变模糊,这就是研究数字图像平滑处理要追求的目标。
一般情况下,减少噪声的方法可以在空间域或频率域进行处理,主要有邻域平均法、中值滤波法、低通滤波法等,邻域平均法即通过提高信噪比,取得较好的平滑效果;空间域低通滤波采用低通滤波的方法去除噪声;以及频域低通滤波法通过除去其高频分量就能去掉噪声,从而使图像得到平滑。
(2)本设计将对图像平滑处理的两大方面即空间域和频率域,以及两种处理方向里的几种处理方法进行介绍,并对一些常用的简单平滑算法进行分析。
(3)图像平滑主要是为了消除被污染图像中的噪声,这是遥感图像处理研究的最基本内容之一,被广泛应用于图像显示、传输、分析、动画制作、媒体合成等多个方面。
该技术是出于人类视觉系统的生理接受特点而设计的一种改善图像质量的方法。
处理对象是在图像生成、传输、处理、显示等过程中受到多种因素扰动形成的加噪图像。
在图像处理体系中,图像平滑是图像复原技术针对“一幅图像中唯一存在的退化是噪声”时的特例。
1.论文目的1.1 通过几种图像平滑的方法,实现被噪声污染过的图像的平滑处理,其中包括空间域和频率域;1.2 在加深对数字图像处理课本知识理解的基础上,学会运用已学的知识对图像平滑的处理方法的结果进行分析。
2.理论及方案(1)图像噪声来源及类型一幅图像在获取和传输等过程中,会受到各种各样噪声的干扰,其主要来源有三:一为在光电、电磁转换过程中引入的人为噪声;二为大气层电(磁)暴、闪电、电压、浪涌等引起的强脉冲性冲激噪声的干扰;三为自然起伏性噪声,由物理量的不连续性或粒子性所引起,这类噪声又可分成热噪声、散粒噪声等。
一般在图像处理技术中常见的噪声有:加性噪声、乘性噪声、量化噪声、“盐和胡椒”噪声等。
下面介绍两种主要的噪声。
2.1.1、高斯噪声(Gaussian noise)这种噪声主要来源于电子电路噪声和低照明度或高温带来的传感器噪声,也称为正态噪声,是在实践中经常用到的噪声模型。
高斯随机变量z 的概率密度函数(PDF)由下式给出:}2/)(ex p{2/1)(22σμσπ--=z z p其中, z 表示图像像元的灰度值;μ表示z 的期望;σ表示z 的标准差。
2.1.2、椒盐噪声(salt&pepper noise )主要来源于成像过程中的短暂停留和数据传输中产生的错误。
其PDF 为:⎪⎩⎪⎨⎧===其他0)(b z pba z pa z p如果b > a, 灰度值b 在图像中显示为一亮点,a 值显示为一暗点。
如果Pa 和图像 均不为零,在图像上的表现类似于随机分布图像上的胡椒和盐粉微粒,因此称为椒盐噪声。
当Pa 为零时,表现为“盐”噪声;当Pb 为零时,表现为“胡椒”噪声。
图像中的噪声往往是和信号交织在一起的尤其是乘性噪声,如果平滑不当,就会使图像本身的细节如边缘轮廓‘线条等模糊不清,从而使图像质量降低。
(2)图像平滑的方法 2.2.1空间域低通滤波1、均值滤波器均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。
再用模板中的全体像素的平均值来代替原来像素值。
其表达式如下:∑∈=sn m n m f My x g ),(),(/1),(式中: x,y=0,1,2,…,N-1;s 为(x ,y )点领域中点的坐标的集合,但不包括(x ,y )点;M 为集合内坐标点的总数。
2、中值滤波器中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。
)},({),(),(t s g median y x f xyS y s ∈∧=其中g(s,t)为原图像,),(y x f ∧为处理后的图像,xy s为二维模板,通常为2*2,3*3区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。
2.2.2频域低通滤波在频域中,低频主要对应图像在平滑区域的总体灰度级分布,而高频对应图像的细节部分,如边缘和噪声。
因此,图像平滑可以通过衰减图像频谱中的高频部分来实现,这就建立了空间域图像平滑和频域低通滤波直接到的对应关系。
低通滤波平滑图像的系统框图如下所示:图2-1 图像频域低通滤波流程框图1.频域滤波的基本步骤:(1)计算原始图像f(x,y)的DFT ,得到F(u,v). (2)将频谱F(u,v)的零频点移动到频谱图的中心位置。
(3)计算滤波器函数H(u,v)与F(u,v)的乘积G(U,V)。
(4)将频谱G(u,v)的零频点移回到频谱图的左上角位置。
(5)计算上一步结果的傅里叶反变换g(x,y)。
(6)取g(x,y)的实部作为最终滤波后的图像。
2.理想低通滤波器(ILPF)如果图像的宽带为M ,高度为N ,那么理想低通滤波器可以形式化描述为:⎭⎬⎫⎩⎨⎧=≤-+->-+-022022])2()2[(,1])2()2[(,0),(D Nv M u D Nv M u v u H式中0D 是一个规定的非负的量,它叫做理想低通滤波器的截止频率。
理想低通滤波器在处理过程中会产生较严重的模糊和振铃现象。
3.布特沃斯低通滤波器(BLPF )截止频率位于距原点0D 处的n 阶布特沃斯低通滤波器(BLPF )的传递函数定义为:其中,2/122])2/()2/[(),(Q v P u v u D -+-=,P 为宽,Q 为高。
BLPF 与ILPF 不同,BLPF 传递函数并没有在通过频率和滤除频率之间给出明显截止的尖锐的不连续性。
因此它没有“振铃”现象发生,模糊程度减少,但从它的传递函数特性曲线H(u,v)可以看出,在它的尾部保留有较多的高频,所以对噪声的平滑效果还不如ILPF 。
4.高斯低通滤波器(G L P F )其传递函数表示为:222/),(),(σv u D ev u H -=对于相同的截止频率,GLPF 与二阶BLPF 相比,GLPF 的平滑效果稍微差一点,但GLPF 中没有振铃,这是实际中一个重要的特性,尤其是在任何类型的人工缺陷不可接受的情况下(例如医学成像)。
所以在要求严格控制低频和高频之间截止频率的过渡的情况下,BLPF是更合适的选择。
3. 图像平滑处理具体过程3.1系统构架程序运行的环境是windows平台,并选用MATLAB作为编程开发工具,MATLAB 是一种向量语言,它非常适合于进行图像处理。
3.2模拟噪声图像图像增强操作主要是针对图像的各种噪声而言的,为了说明图像处理中的滤波方法和用途,需要模拟数字图像的各种噪声来分析滤波效果。
MATLAB图像处理工具箱提供的噪声添加函数imnoise,它可以对图像添加一些典型的噪声。
其语法:J=imnoise(I,type)J=imnoise(I,type,parameters)其功能是:返回对原图像I添加典型噪声的图像J,参数type和parameters用于确定噪声的类型和相应的参数。
三种典型的噪声:type=’gaussian’时,为高斯噪声;type=’salt&pepper’时为椒盐噪声;type=’speckle’时为乘法噪声;图像数据读取函数imread从图像文件中读取图像数据。
其基本调用格式如下:I=imread(文件名,’图像文件格式’)其功能是:将文件名指定的图像文件读入I中。
I=imshow(A)其功能是显示图像A。
如下程序就实现了3种噪声污染了的图像:I=imread('lena_AdaptiveMedianFilter.bmp'); %读取图像I1=imnoise(I,'gaussian'); %加高斯噪声I2=imnoise(I,'salt & pepper',0.02); %加椒盐噪声I3=imnoise(I,'speckle'); %加乘性噪声subplot(2,2,1),imshow(I); %显示图像Ititle('源图像');subplot(2,2,2),imshow(I1);title('受高斯噪声污染的图像');subplot(2,2,3),imshow(I2);title('受盐椒噪声污染的图像');subplot(2,2,4),imshow(I3);title('受乘法噪声污染的图像');运行结果如下:图3-1噪声污染的图像结果分析:图3-1中受噪声污染的各图处理结果与源图像相比,图像有不同程度的模糊,其中受不同类型的噪声污染图像模糊程度不同。
3.3均值滤波法在MATLAB图像处理工具箱中,提供了imfilter函数用于实现均值滤波,imfilter的语法格式为:B=imfilter(A,H)其功能是,用H模板对图像A进行均值滤波,取平均值滤波模版为H1=1/9[1 1 1;1 1 1;1 1 1];H2=1/25[1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1];分别以这两个平均值滤波算子对图3-1中的四幅图像进行滤波操作。
取H1,程序如下:I=imread('lena_AdaptiveMedianFilter.bmp');I1=imnoise(I,'gaussian');I2=imnoise(I,'salt & pepper',0.02);I3=imnoise(I,'speckle');H1=ones(3,3)/9; %3×3领域模板J=imfilter(I,H1); %领域平均J1=imfilter(I1,H1);J2=imfilter(I2,H1);J3=imfilter(I3,H1);subplot(2,2,1),imshow(J);title('源图像滤波后');subplot(2,2,2),imshow(J1);title('受高斯噪声污染图滤波后');subplot(2,2,3),imshow(J2);title('受盐椒噪声污染图滤波后');subplot(2,2,4),imshow(J3);title('受乘法噪声污染图滤波后');运行结果如下:图3-2 经过平均值算子H1滤波后图像取H2,程序如下:I=imread('lena_AdaptiveMedianFilter.bmp');I1=imnoise(I,'gaussian');I2=imnoise(I,'salt & pepper',0.02);I3=imnoise(I,'speckle');H2=ones(5,5)/25; %5×5领域模板J=imfilter(I,H2); %领域平均J1=imfilter(I1,H2);J2=imfilter(I2,H2);J3=imfilter(I3,H2);subplot(2,2,1),imshow(J);title('源图像滤波后');subplot(2,2,2),imshow(J1);title('受高斯噪声污染图滤波后');subplot(2,2,3),imshow(J2);title('受盐椒噪声污染图滤波后');subplot(2,2,4),imshow(J3);title('受乘法噪声污染图滤波后');运行结果如图3-3:图3-3 经过平均值算子H2滤波后图像结果分析:把图3-2与图3-3的图像结果之间进行比较后可知,领域平均处理后,图像的噪声得到了抑制,但在此同时也使图像变得相对模糊,对高斯噪声的平滑效果比较好。