MATLAB 实现数字图像锐化处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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线性锐化滤波器
线性高通滤波器是最常用的线性锐化滤波器。这种滤波器必须满足滤波器的中心系数为所示:1 模板的典型系数如表3 ×3 正数,其他系数为负数。线性高通滤波器.
1表用线性高通滤波实现图像锐化的程序和图像如下:F=imread('F:/text.png'); %读入图像
f=rgb2gray(F); 类型h=double(f); %转化为double 模板×3 3g=[-1 -1 -1; -1 8 -1; -1 -1 -1];%线性高通滤波线性高通滤波进行图像滤波j=conv2(h,g,'same');%
原始图像');subplot(1,2,1);imshow(f);title(' J=uint8(j);
滤波后图像');subplot(1,2,2);imshow(J);title('像后图波滤像图原始
2.2非线性锐化滤波器以此来锐化由于邻域平均导致的模糊图非线性锐化滤波就是使用微分对图像进行处理,像沿某个方向上的灰度变化率,即原图像函数的像。图像处理中最常用的微分是利用图y
梯度。梯度定义如下:
梯度模的表达式如下:其发生的最短距离是在两相邻像素幅值是有限的,在数字图像处理中,数据是离散的,之间。因此在数字图像处理中通常采用一阶差分来定义微分算子。其差分形式为:△xf=f(x+1,y)-f(x,y) △yf=f(x,y+1)-f(x,y) log算子等等。梯度算子、Prewitt 梯度算子和比较有名的微分滤波器算子包括Sobel
梯度算子实现图像锐化的程序和图像如下:用Sobel读入图像
i=imread('F:/text.png');%I=rgb2gray(i);
显示原图像原图像');%subplot(1,2,1),imshow(I);title(' sobel应用算子锐化图像
H=fspecial('sobel'); % I2=filter2(H,I); %sobel算子滤波锐化算子锐化图像sobelsubplot(1,2,2);imshow(I2);%显示');
算子锐化图像title('sobel像图子算锐化sobel像原图
梯度算子实现图像锐化的程序和图像如下:Prewitt用.
i=imread('F:/text.png');%读入图像
I=rgb2gray(i);
subplot(1,2,1),imshow(I);title('原图像');%显示原图像
H=fspecial('prewitt');%应用prewitt算子锐化图像
I3=filter2(H,I);%prewitt算子滤波锐化
subplot(1,2,2);imshow(I3); %显示prewitt算子锐化图像
title('prewitt算子锐化图像');
prewitt算子锐化图像像图原
梯度算子实现图像锐化的程序和图像如下:用log i=imread('F:/text.png');%读入图像I=rgb2gray(i); ');%subplot(1,2,1),imshow(I);title('原图像显示原图像log算子锐化图像H=fspecial('log'); %应用
算子滤波锐化I4=filter2(H,I); %log 算子锐化图像logsubplot(1,2,2);imshow(I4);%显示');算子锐化图像title('log
原图像
结束语3.MATLAB 讨论。实验结果表明应用本文就MATLAB 在数字图像锐化处理方面进行了阐述、图像处理工具箱中所当然,MATLAB 进行数字图像处理具有理想的效果和很高的工程价值。
为数字图像处理提供了一种简单、快捷提供的图像处理功能远不止这些。可以说,MATLAB
而又有效的方法,大大提高了数字图像处理的效率及效果并且应用到图像处理的各个方向。参考文献:辽宁:基于标准图像文件格式的数字图像处理方法[J]. 阜新[1]韩晓军,苗长云,王亚青. ).2000,19(4)(自然科学版工程技术大学学报河南城建学院学报.2011,20(1)柏春岚[2].基于空域
图像增强的研究与分析[J]. .2012,28(4)基于空域的图像增强技术研究.赤峰学院学报关雪梅
[3]. .2006,12(227)《现代电子技术》曾嘉亮[4].基于边缘检测的图像锐化算法.. Computer Knowledge .基于拉普拉斯算法的图像锐化算法研究和实现卢允伟,陈友荣[5] .2009,5(6)电脑知识与技术and Technology