基于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 sharpening
1、引言
数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。
数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。首次获得实际成功应用的是美国喷气推进实验室(JPL)。他们对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,以致获得了月球的地形图、彩色图及全景镶嵌图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动了数字图像处理这门学科的诞生。在以后的宇航空间技术,如对火星、土星等星球的探测研究中,数字图像处理技术都发挥了巨大的作用。数字图像处理取得的另一个巨大成就是在医学上获得的成果。
2、 MATLAB 简介
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的
众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB 是近几年来在图像处理
方面使用最为广泛的软件之一,其语法结构简单。具有极强的数值计算、数据分析、图形绘制及图像处理等功能,具有高质量的图形可视化效果和强大的界面设计能力,因而在数字图像处理中有着其他语言所无法比拟的优势。
3、图像增强的定义
图像增强是指按特定的需要突出一幅图像中的某些信息,同时削弱或去除某些不需要的信息的处理方法,也是提高图像质量的过程。图像增强的目的是使图像的某些特性方面更加鲜明、突出,使处理后的图像更适合人眼视觉特性或机器分析,以便于实现对图像的更高级的处理和分析。图像增强的过程往往也是一个矛盾的过程:图像增强希望既去除噪声又增强边缘。但是,增强边缘的同时会同时增强噪声,而滤去噪声又会使边缘在一定程度上模糊,因此,在图像增强的时候,往往是将这两部分进行折中,找到一个好的代价函数达到需要的增强目的。传统的图像增强算法在确定转换函数时常是基于整个图像的统计量,如:ST转换,直方图均衡,中值滤波,微分锐化,高通滤波等等。这样对应于某些局部区域的细节在计算整幅图的变换时其影响因为其值较小而常常被忽略掉,从而局部区域的增强效果常常不够理想,噪声滤波和边缘增强这两者的矛盾较难得到解决。
4、常用的图像增强方法
(1)直方图均衡化
通过直方图均衡化技术来实现图像增强,首先就是对原图像通过离散函数进行直方图处理。得到原图像的直方图后,根据均衡化的变换函数通过计算得到所需要的增强效果的图像的直方图。阐述和分析了图像增强的点处理、空间域滤波、频域滤波、代数运算。用直方图均衡化的算法增强灰度图像,并在MATLAB中实现,达到了图象增强的目的,取得了较好的效果。
(2)对比度增强法
有些图像的对比度比较低,从而使整个图像模糊不清。这时可以按一定的规则修改原来图像的每一个象素的灰度,从而改变图像灰度的动态范围。
(3)平滑噪声
有些图像是通过扫描仪扫描输入、或传输通道传输过来的。图像中往往包含有各种各样的噪声。这些噪声一般是随机产生的,因此具有分布和大小不规则性的特点。这些噪声的存在直接影响着后续的处理过程,使图像失真。图像平滑就是针对图像噪声的操作,其主要作用是为了消除噪声,图像平滑的常用方法是采用均值滤波或中值滤波,均值滤波是一种线性空间滤波,它用一个有奇数点的掩模在图像上滑动,将掩模中心对应像素点的灰度值用掩模内所有像素点灰度的平均值代替,如果规定了在取均值过程中掩模内各像素点所占的权重,即各像素点所乘系数,这时就称为加权均值滤波;中值滤波是一种非线性空间滤波,其与均值滤波的区别是掩模中心对应像素点的灰度值用掩模内所有像素点灰度值的中间值代替。
(4)锐化
平滑噪声时经常会使图像的边缘变的模糊,针对平均和积分运算使图像模糊,可对其进行反运算采取微分算子使用模板和统计差值的方法,使图像增强锐化。图像边缘与高频分量相对应,高通滤波器可以让高频分量畅通无阻,而对低频分量则充分限制,通过高通滤波器去除低频分量,也可以达到图像锐化的目的。
5、具体算法实现
本文主要使用直方图均衡化、平滑和锐化的方法对图像进行处理
5.1直方图均衡化
图5.1.1 直方图均衡化效果图
结论:直方图均衡化可以达到增强图像显示效果的作用。其基本思想是把原始图像的直方图变换成均匀分布的形式,这样就增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果。
5.2 MATLAB 实现图像平滑、锐化处理
图像获取过程中时常会产生噪声。噪声不仅限于人眼所见的失真,有些噪声只针对某些具体的图像处理
过程产生影响。针对图像噪声,通过图像平滑操作可以有效地消除噪声。
图像平滑主要有空域法和频域法两种方法。在空域法中,图像平滑的常用方法就是采用均值滤波或中值滤波。均值滤波是一种线性空间滤波,它用一个有奇数点的掩模在图像上滑动,将掩模中心对应的像素点的灰度值用掩模内所有像素点灰度的平均值代替。中值滤波是一种非线性空间滤波,其与均值滤波的区别是掩模中心对应像素点的灰度值用掩模内所有像素点灰度值的中间值代替。
为了减少图像平滑过程中图像边界、轮廓模糊的不利影响,可使用图像锐化技术使图像的边缘变得清晰。图像锐化 (image sharpening)就是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,亦分空域处理和频域处理两类。经过平滑的图像变得模糊的根本原因是图像受到了平均或积分运算,要清晰化图像的边缘、轮廓线以及细节,可以对其进行逆运算。从频域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以通过高通滤波器来使图像清晰。图像锐化广泛地应用在数字印刷设计、军事系统、图像扫描、医学成像等领域(1)空域平滑处理
图5.2.1 原灰度图
图5.2.2 空域平滑后的图像
结论:空域平滑后的图像反而产生了很多早说。
(2)空域锐化处理
图5.2.3 原灰度图
图5.2.4 空域锐化后的图像
结论:使用梯度算子进行锐化后的效果不好。
(3)频域平滑处理
BLPF低通滤波
图5.2.5 BLPF低通滤波的图像
结论:BLPF低通滤波,通过去不同的d0值确定最佳的d0值,发现d0在
50~100时图像的处理效果较理想
GLPF低通滤波
图5.2.6 GLPH低通滤波的图像
结论:当截止频率较低时,图像会模糊,给出的的d0值分别取50,100和200图像的处理效果都比较理想。
巴特沃斯(Butterworth)低通滤波
图5.2.7 原始图像
图5.2.8 四阶巴特沃斯低通滤波
结论:给出的算法中分别对图像进行二阶、四阶、六阶巴特沃斯低通滤波,其中d0都取100,发现阶数的变化对图像处理效果的影响不大。(4)频域锐化处理
BHPF高通滤波
图5.2.9 BLPF高通滤波的图像
结论:d0值在10左右,BLPF高通滤波最佳。
图5.2.10 一阶巴特沃斯高通滤波
图5.2.11 四阶巴特沃斯高通滤波结论:可以看出,四阶巴特沃斯高通滤波器的效果要比一阶巴特沃斯高通滤波的效果好,图像灰暗适度,效果更好。
理想高通滤波
结论:算法虽然锐化效果不错,但是产生了振铃现象。
参考文献:
[1]朱虹等,数字图像处理基础[M],科学出版社,2005
[2]傅德胜,数字图像处理学[M],东南大学出版社,2001
[3]平丽,图像平滑处理方法的比较研究,信息技术,2010
图5.2.12理想高通滤波
matlab 图像的几何变换与彩色处理
实验四、图像的几何变换与彩色处理 一、实验目的 1理解和掌握图像的平移、垂直镜像变换、水平镜像变换、缩放和旋转的原理和应用; 2熟悉图像几何变换的MATLAB操作和基本功能 3 掌握彩色图像处理的基本技术 二、实验步骤 1 启动MATLAB程序,读入图像并对图像文件分别进行平移、垂直镜像变换、水平镜像变换、缩放和旋转操作 %%%%%%平移 >> flowerImg=imread('flower.jpg'); >> se=translate(strel(1),[100 100]); >> img2=imdilate(flowerImg,se); >> subplot(1,2,1); >> imshow(flowerImg); >> subplot(1,2,2); >> imshow(img2);
I1=imread('flower.jpg'); I1=double(I1); H=size(I1); I2(1:H(1),1:H(2),1:H(3))=I1(H(1):-1:1,1:H(2),1:H(3)); I3(1:H(1),1:H(2),1:H(3))=I1(1:H(1),H(2):-1:1,1:H(3)); Subplot(2,2,1); Imshow(uint8(I1)); Title('原图'); Subplot(2,2,2); Imshow(uint8(I3)); Title('水平镜像'); Subplot(2,2,3); Imshow(uint8(I2)); Title('垂直镜像'); img1=imread('flower.jpg'); figure,imshow(img1); %%%%%%缩放 img2=imresize(img1,0.25); figure,imshow(img2); imwrite(img2,'a2.jpg');
实验三 空间域数字图像的平滑与锐化
福建农林大学计算机与信息学院实验报告系:专业:年级: 姓名:学号:实验室号_______ 计算机号 实验时间:指导教师签字:成绩:报告退发(订正、重做) 实验三空间域数字图像的平滑与锐化 1.实验目的和要求 掌握空间域数字图像的平滑与锐化。 2.实验内容和原理 (1)利用加权平均掩模实现数字图像的平滑; (2)利用拉普拉斯算子实现数字图像的锐化 3.实验环境 硬件:一般PC机 操作系统:WindowsXP 编程平台:MATLAB 或高级语言 4.算法描述及实验步骤 Code: X=imread('moon.tif'); subplot(2,2,1) ;imshow(X); title 原图 b=size(X); X=double(X); %f=[0 -1 0;-1 4 -1;0 -1 0;]; %用四领域 f=[-1 -1 -1;-1 8 -1;-1 -1 -1;]; %用八领域 g=[1 2 1;2 4 2;1 2 1;]; %模糊用的算子 Y=zeros(b); for(i=2:b(1)-1)
for(j=2:b(2)-1) Y(i,j)=X(i,j)*g(2,2)+X(i+1,j)*g(3,2)+X(i,j+1)*g(2,3)+X(i+1,j+1 )*g(3,3)+X(i+1,j-1)*g(3,1)+X(i-1,j+1)*g(1,3)+X(i-1,j-1)*g(1,1) +X(i-1,j)*g(1,2)+X(i,j-1)*g(2,1); end; end; Y=mat2gray(Y/16); subplot(2,2,2) ;imshow(Y); title 模糊后 Z=zeros(b); for(i=2:b(1)-1) for(j=2:b(2)-1) Z(i,j)=Y(i,j)*f(2,2)+Y(i+1,j)*f(3,2)+Y(i,j+1)*f(2,3)+Y(i+1,j+1)* f(3,3)+Y(i+1,j-1)*f(3,1)+Y(i-1,j+1)*f(1,3)+Y(i-1,j-1)*f(1,1)+Y(i -1,j)*f(1,2)+Y(i,j-1)*f(2,1); end; end; Z=mat2gray(Z); subplot(2,2,3) ;imshow(Z); title 锐化后 M=zeros(b); for(i=2:b(1)-1) for(j=2:b(2)-1) M(i,j)=X(i,j)+Y(i,j);
图像平滑及锐化
1.图像锐化的目的 是使灰度反差增强,从而增强图像中边缘信息,有利于轮廓抽取。因为轮廓或边缘就是图像中灰度变化率最大的地方。因此,为了把轮廓抽取出来,就是要找一种方法把图像的最大灰度变化处找出来。 2.实现图像的锐化可使图像的边缘或线条变得清晰,高通滤波可用空域高通滤波法来实现。本节将围绕空间高通滤波讨论图像锐化中常用的运算及方法,其中有梯度运算、各种锐化算子、拉普拉斯(Laplacian)算子、空间高通滤波法和掩模法等图像锐化技术。 3.梯度算子——是基于一阶微分的图像增强. 梯度算子: 梯度对应的是一阶导数,梯度算子是一阶导数算子。 梯度方向:在图像灰度最大变化率上,反映出图像边缘上的灰度变化。梯度处理经常用于工业检测、辅助人工检测缺陷,或者是更为通用的自动检测的预处理。 4.拉普拉斯算子——基于二阶微分的图像增强 Laplacian算子是不依赖于边缘方向的二阶微分算子,是常用的二阶导数算子. 拉普拉斯算子是一个标量而不是向量,具有线性特性和旋转不变,即各向同性的性质。 拉普拉斯微分算子强调图像中灰度的突变,弱化灰度慢变化的区域。这将产生一幅把浅灰色边线、突变点叠加到暗背景中的图像。 计算数字图像的拉普拉斯值也可以借助于各种模板。拉普拉斯对模板的基本要对应中心像素的系数应该是正的,而对应于中心像素邻近像素的系数应是负的,它们的和应该为零。 将原始图像和拉普拉斯图像叠加在一起的简单方法可以保护拉普拉斯锐化处理的效果,同时又能复原背景信息。 5.同态滤波器图像增强的方法 一幅图像f(x,y)能够用它的入射光分量和反射光分量来表示,其关系式如下 f(x,y)=i(x,y)r(x,y) 图像f(x,y)是由光源产生的照度场i(x,y)和目标的反射系数场r(x,y)的共同作用下产生的。 该模型可作为频率域中同时压缩图像的亮度围和增强图像的对比度的基础。但在频率域中不能直接对照度场和反射系数场频率分量分别进行独立的操作。
MATLAB 实现数字图像锐化处理
MATLAB 实现数字图像锐化处理 摘要:讨论了数字图像增强技术中空域图像锐化的四种算法及其用MATLAB的实现;同时给出了利用四种算法进行图像锐化后的对照图像。比较实验结果,可知运用算法锐化处理后,图像比原来图像清晰。 关键词:MATLAB、线性锐化、非线性锐化、sobel算子、prewitt算子、log算子 1.引言 MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。实际运用中MATLAB 中的绝大多数的运算都是通过矩阵这一形式进行的,这一特点决定了MATLAB 在处理数字图像上的独特优势。理论上讲,图像是一种二维的连续函数,然而计算机对图像进行数字处理时,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。 二维图像均匀采样,可得到一幅离散化成M ×N 样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的。而MATLAB 的长处就是处理矩阵运算,因此用MATLAB 处理数字图像非常的方便。MATLAB 支持五种图像类型,即索引图像、灰度图像、二值图像、RGB 图像和多帧图像阵列;支持BMP,GIF,HDF,JPEG,PCX,PNG,XWD,CUR,ICO等图像文件格式的读、写和显示。MATLAB 对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作口。 数字图像处理中图像锐化的目的有两个:一是增强图像的边缘,使模糊的图像变得清晰起来;这种模糊不是由于错误操作,就是特殊图像获取方法的固有影响。二是提取目标物体的边界,对图像进行分割,便于目标区域的识别等。通过图像的锐化,使得图像的质量有所改变,产生更适合人观察和识别的图像。 2.数字图像的锐化 数字图像的锐化可分为线性锐化滤波和非线性锐化滤波。如果输出像素是输入像素领域像素的线性组合则称为线性滤波,否则称为非线性滤波。 2.1线性锐化滤波器 线性高通滤波器是最常用的线性锐化滤波器。这种滤波器必须满足滤波器的中心系数为正数,其他系数为负数。线性高通滤波器3 ×3 模板的典型系数如表1 所示: 表 1 用线性高通滤波实现图像锐化的程序和图像如下: F=imread('F:/text.png'); %读入图像 f=rgb2gray(F); h=double(f); %转化为double类型 g=[-1 -1 -1; -1 8 -1; -1 -1 -1];%线性高通滤波3×3 模板
laplace(拉普拉斯)锐化matlab程序
laplace(拉普拉斯)锐化matlab程序 部门: xxx 时间: xxx 整理范文,仅供参考,可下载自行编辑