基于Sobel算子的图像锐化偏微分方程图像处理
基于Sobel算子滤波的图像增强算法

基于Sobel算子滤波的图像增强算法王云艳; 周志刚; 罗冷坤【期刊名称】《《计算机应用与软件》》【年(卷),期】2019(036)012【总页数】5页(P184-188)【关键词】图像增强; Sobel算子; 图像降噪; 峰值信噪比【作者】王云艳; 周志刚; 罗冷坤【作者单位】湖北工业大学电气与电子工程学院湖北武汉430068; 湖北工业大学太阳能高效利用及储能运行控制湖北省重点实验室湖北武汉430068【正文语种】中文【中图分类】TP30 引言在航空航天、医疗和工业等众多领域中,图像增强技术都有着十分广泛的应用,目的是通过对图像进行加工使其视觉效果更好,更有利于图像信息的获取。
通常,图像可能存在亮度不够、对比度不高、夹杂噪声等问题,这严重影响到了人们对图像的辨识和分析。
为了改善图像的质量,针对传统的灰度变换拉伸图像的灰度级,Zohair等[1-2]提出了使用直方图修正使图像的灰度级均匀分布,这两种方法都可以有效增强图像的对比度;平滑滤波[3-5]不仅能减少图像的噪声,也可以用来对图像做模糊处理;相比文献[6-8]提出的图像锐化来增强图像的边缘和轮廓,使其更加的清晰,文献[9-10]提出的同态滤波实现压缩图像亮度范围的同时,增强图像的对比度。
然而,这些传统的方法,在改善图像的同时,常常也会对图像质量产生一些不好的影响。
例如,直方图均衡化会减少图像原始信息[11],利用平滑滤波去噪时会使图像变得模糊;而高通滤波[12-13]突出图像边沿的同时,图像平滑区域的信息可能丢失。
因此,寻找一种在增强图像视觉效果使其变得清晰、明了,有助于分析的同时,尽可能地保持图像真实性,防止不利因素的产生对算法具有重要的意义。
本文提出的基于Sobel算子[14-17]滤波的图像增强算法,将Sobel算子与平滑滤波、高通滤波等相结合可以得到视觉效果较好的增强图像。
同时引入图像的峰值信噪比(PSNR) [18-20]、熵(entropy)[21-23]和灰度均值等参数,对图像增强效果进行评估。
图像处理技术的原理及实践例子

图像处理技术的原理及实践例子随着计算机科学的快速发展,图像处理技术作为其重要的分支之一也得到了迅猛发展。
图像处理技术是指利用计算机进行对图像的处理、分析和识别。
在图像处理技术中,数字图像的获取、处理和显示是一个完整的过程。
数字图像可以通过机器视觉系统、数字相机和扫描仪等设备获取。
数字图像可以表示成矩阵形式,其中每个像素点代表一个数字。
通过对图像中像素点数值进行处理,可以使图像获得不同的效果。
下面我们就来了解一些图像处理技术的原理及实践例子。
1. 图像锐化处理技术图像锐化处理技术是指在数字图像的处理过程中增强图像的轮廓和细节,使图像更加清晰。
图像锐化处理技术实现的原理主要是通过卷积运算进行的。
卷积运算是将数字图像和一个卷积核进行相乘后相加的数学运算。
卷积核是一个矩阵,卷积运算可以使数字图像的每个像素点与周围的像素点相加后取平均值,从而得到更清晰的图像。
实践例子:滤波器法和锐化滤波器法。
①滤波器法:滤波器法在图像处理中是一种常用的方法。
它的处理过程是利用低通滤波器对图像进行模糊处理,然后再用高通滤波器对图像进行锐化处理,最终得到一张更加清晰的图像。
②锐化滤波器法:锐化滤波器法是一种可以增强图像中各点的细节,并提高其清晰度的图像处理方法。
这种方法通常通过在数字图像中加入高通滤波器,以达到增强图像轮廓和细节的目的。
2. 图像边缘检测图像边缘检测是指在数字图像中有针对性地检测边缘,并对图像进行分割和提取。
常用的边缘检测算法有Canny算法、Sobel算法和Laplacian算法等。
在这些算法中,Sobel算法是应用最广泛的一种。
Sobel算法的原理是通过提取图像中不同方向上的像素点变化量,以实现图像分割和边缘检测的目的。
Sobel算法可以根据不同的方向进行边缘检测,对于在垂直方向上的较长边缘可以采用水平Sobel滤波器,而对于在水平方向上的较长边缘可以采用垂直Sobel滤波器。
实践例子:用Sobel算子实现图像边缘检测。
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)中。
图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作口。
数字图像处理中图像锐化的目的有两个:一是增强图像的边缘,使模糊的图像变得清晰起来;这种模糊不是由于错误操作,就是特殊图像获取方法的固有影响。
二是提取目标物体的边界,对图像进行分割,便于目标区域的识别等。
拉普拉斯算子、prewitt算子、sobel算子对图像锐化处理

《数字图像处理作业》图像的锐化处理---拉普拉斯算子、prewitt算子、sobel算子性能研究对比一、算法介绍1.1图像锐化的概念在图像增强过程中,通常利用各类图像平滑算法消除噪声,图像的常见噪声主要有加性噪声、乘性噪声和量化噪声等。
一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像边缘信息也主要集中在其高频部分。
这将导致原始图像在平滑处理之后,图像边缘和图像轮廓模糊的情况出现。
为了减少这类不利效果的影响,就需要利用图像锐化技术,使图像的边缘变得清晰。
图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变得清晰。
从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。
但要注意能够进行锐化处理的图像必须有较高的性噪比,否则锐化后图像性噪比反而更低,从而使得噪声增加的比信号还要多,因此一般是先去除或减轻噪声后再进行锐化处理。
考察正弦函数,它的微分。
微分后频率不变,幅度上升2πa倍。
空间频率愈高,幅度增加就愈大。
这表明微分是可以加强高频成分的,从而使图像轮廓变清晰。
最常用的微分方法是梯度法和拉普拉斯算子。
但本文主要探究几种边缘检测算子,Laplace、Prewitt、Sobel算子以下具体介绍。
图像边缘检测:边缘检测是检测图像局部显著变化的最基本运算,梯度是函数变化的一种度量。
图像灰度值的显著变化可用梯度的离散逼近函数来检测,大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。
边缘检测可分为两大类基于查找一类和基于零穿越的一类。
基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。
基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。
实验报告-图像锐化

lWidth=m_BmpInfo.bmiHeader.biWidth;
lHeight=m_BmpInfo.bmiHeader.biHeight;
//分配内存,以保存新DIB
hDIB=GlobalAlloc(GHND,nBytePerLine*lHeight);
//判断是否内存分配失败
if(hDIB==NULL)
3.编写图像锐化的彩色图像灰度化,Sobel算法锐化,图像二值化处理相关的程序代码。
4.对程序进行相关调试,修改程序,去除其中的BUG。
5.利用自己准备的图像的文件和编写的程序,进行图像锐化处理。
6.截屏,保留实验结果,进行实验结果分析,并撰写实验报告。
三、相关背景知识
(写你自己觉得比较重要的与本实验相关的背景知识)
+ 0*val21+ 0*val22+ 0*val32
+ 1.0*val11+ 2.0*val12+ 1.0*val13;
//计算梯度的大小
Sobel=sqrt(gx*gx+gy*gy);
*(pImageDataNew+j*nBytePerLine+i* 3 + 0) =int(Sobel);
*(pImageDataNew+j*nBytePerLine+i* 3 + 1) =int(Sobel);
lHeight=m_BmpInfo.bmiHeader.biHeight;
for(intj= 0 ;j<lHeight;j++)
{
for(inti= 0 ;i<lWidth;i++)
{
//灰度化临时值
基于MATLAB的图像锐化及边界提取

摘要图像增强是指依据图像所存在的问题,按特定的需要突出一幅图像中的某些信息,同时,削弱或去除某些冗余信息的处理方法。
其主要目的是使得处理后的图像对给定的应用比原来的图像更加有效同时可以有效的改善图像质量。
图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理技术等。
本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、平滑和锐化等几种常用的增强方法、彩色图像增强的理论基础,通过MATLAB实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。
关键词MATLAB ;图像锐化;边界提取AbstractImage enhancement is based on the problems existing in the images, according to the specific need to highlight some of the information in an image, at the same time, to weaken or remove some redundant information processing method. Its main purpose is to make the image after processing for a given application is more effective than the original image at the same time can effectively improve the image quality. Image enhancement technology mainly includes histogram modification, image smoothing processing, image intensification processing and color processing technology, etc. This article first overview of the principle of image enhancement and image enhancement method of classification and histogram enhancement, smoothing and sharpening of several common enhancement method, the theoretical basis of color image enhancement, through practical processing effect of MATLAB experiment compared the advantages and disadvantages of various algorithms, discussed the main technical points of the different enhancement algorithm, and its image enhancement method for performance evaluation.Key wordsMATLAB;image sharpening; edge extraction·目录摘要 0Abstract (1)第一章绪论 (3)1.1 图像锐化及边界提起发展背景和意义 (3)1.2 图像锐化处理的现状和研究方法 (3)1.3MATLAB简介 (4)1.4 MATLAB对图像处理的特点 (4)第二章基于MATLAB的图像锐化 (5)2.1图像锐化概述 (5)2.2 线性锐化滤波器 (5)2.3 非线性锐化滤波器 (6)2.3.1 Roberts算子 (6)2.3.2 Prewitt锐化算子 (7)2.3.3 Sobel锐化算子 (8)2.3.4 一阶微分锐化的效果比较 (9)2.3.5 二阶微分锐化其算法为: (9)第三章基于MATLAB的边界提取 (11)3.1图像边界提取的概念 (11)3.2微分算子法 (11)3.2.1 Sobel算子 (12)3.2.3 prewitt算子 (12)3.2.4 Laplacian算子 (13)3.2.5 Canny边缘检测法 (13)3.2.6各种方法边界提取的图像 (15)3.2.7结论 (17)参考文献 (18)致谢 (19)第一章绪论1.1 图像锐化及边界提起发展背景和意义数字图像处理(Digital Image Processing)又称为计算机图像处理,它最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。
cvinvoke.sobel原理
cvinvoke.sobel原理Sobel算子是一种常用的边缘检测算法,它利用图像的空间梯度来识别不同区域之间的边界。
本文将详细介绍Sobel算子的原理及其在图像处理中的应用。
第一部分:Sobel算子的背景和原理在介绍Sobel算子之前,我们先来了解一下边缘检测的概念。
边缘通常是图像中颜色、亮度或纹理等视觉特征的突变之处。
在图像处理中,我们经常需要识别和提取出图像中的边缘信息,例如在物体检测、图像分割和特征提取等领域。
Sobel算子是一种基于梯度的边缘检测算法,它利用图像中的亮度变化来寻找边缘。
Sobel算子构建了两个卷积核,分别用于计算图像中水平和垂直方向的梯度。
这两个卷积核分别为:Gx = [-1 0 1 Gy = [-1 -2 -1-2 0 2] 0 0 0-1 0 1] 1 2 1]其中Gx和Gy分别表示水平和垂直方向的梯度运算。
Sobel算子通过将这两个卷积核与图像进行卷积操作,得到了两个梯度图像分量,即水平方向梯度图像和垂直方向梯度图像。
然后,通过对这两个梯度图像进行平方和开方运算,我们可以得到最终的边缘图像。
第二部分:Sobel算子的实现步骤接下来,我们将详细说明Sobel算子的实现步骤。
步骤一:灰度变换在使用Sobel算子进行边缘检测之前,首先需要将原始图像转换为灰度图像。
这是因为灰度图像只包含亮度信息,而不包含颜色信息,这样有助于提取边缘信息。
步骤二:图像卷积接下来,我们需要将卷积核与灰度图像进行卷积操作。
这一步骤可以通过使用卷积运算的公式来实现。
对于每个像素点,我们需要用卷积核中的数值与其周围像素点的数值相乘,并将结果相加,最后再除以一个标准化因子。
这个过程可以通过遍历整个图像来完成,对于每个像素点(i, j):1. 获取像素点(i, j)的8邻域像素值。
2. 用Gx卷积核与该像素点的8邻域进行卷积运算,得到水平方向梯度值Gx(i, j)。
3. 用Gy卷积核与该像素点的8邻域进行卷积运算,得到垂直方向梯度值Gy(i, j)。
图像处理中的边缘检测方法与性能评估
图像处理中的边缘检测方法与性能评估边缘检测是图像处理和计算机视觉领域中的一项重要任务。
它主要用于提取图像中物体和背景之间的边界信息,便于后续的图像分割、目标识别和物体测量等应用。
在图像处理领域,边缘被定义为亮度、颜色或纹理等属性上的不连续性。
为了实现准确且可靠的边缘检测,许多不同的方法和算法被提出并广泛应用。
在本文中,我们将介绍几种常见的边缘检测方法,并对它们的性能进行评估。
1. Roberts 算子Roberts 算子是一种基于差分的边缘检测算法,它通过对图像进行水平和垂直方向的差分运算来检测边缘。
这种算法简单且易于实现,但对噪声比较敏感。
2. Sobel 算子Sobel 算子是一种常用的基于梯度的边缘检测算法。
它通过在图像上进行卷积运算,计算像素点的梯度幅值和方向,从而检测边缘。
Sobel 算子可以有效地消除噪声,并在边缘方向上提供更好的响应。
3. Canny 边缘检测Canny 边缘检测是一种经典的边缘检测算法。
它包括多个步骤,包括高斯滤波、计算梯度幅值和方向、非极大值抑制和双阈值处理。
Canny 边缘检测算法具有较高的准确性和鲁棒性,广泛应用于实际图像处理中。
除了以上提到的方法外,还存在许多其他的边缘检测算法,如拉普拉斯算子、积分图像算法等。
这些算法各有优缺点,选择合适的算法需要根据具体应用情况和要求来确定。
对于边缘检测方法的性能评估,通常使用以下几个指标来衡量:1. 精确度精确度是评估边缘检测算法结果与真实边缘之间的差异的指标。
可以通过计算检测结果与真实边缘的重叠率或者平均绝对误差来评估。
2. 召回率召回率是评估边缘检测算法是否能够正确检测到真实边缘的指标。
可以通过计算检测结果中的边缘与真实边缘的重叠率或者正确检测到的边缘像素数量与真实边缘像素数量的比值来评估。
3. 噪声鲁棒性噪声鲁棒性是评估边缘检测算法对图像噪声的抗干扰能力的指标。
可以通过在含有不同噪声水平的图像上进行测试,并比较检测到的边缘结果与真实边缘的差异来评估。
基于Sobel算子的图像锐化偏微分方程图像处理
基于偏微分方程的图象处理课程设计(2014年秋季学期)学院专业信息与计算科学班级信计12-1班名称基于Sobel算子的图像锐化组员指导教师2014 年月日一、目的与要求《图像处理》就是信息与计算科学专业一门重要的基础课程之一,它主要应用在医疗、生物等学科的图象处理方面,就是当今社会发展较为迅速的一门技术。
课程设计的一个重要的环节就是实践环节,主要锻炼学生的动手能力,以及团队能力,独立思考能力等。
二、设计的方案2、1模型的建立Sobel算子 (加权平均差分法)Sobel算子就是典型的基于一阶导数的边缘检测算子,由于该算子中引入了类似局部平均的运算,因此对噪声具有平滑作用,能很好的消除噪声的影响。
Sobel算子包含两组3x3的矩阵,分别为横向及纵向模板,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。
实际使用中,常用如下两个模板来检测图像边缘。
-1 0 1与一些传统的图像锐化方法相比,基于sobel 算子的锐化在诸多方面都得到了改进,这些也成了sobel 算子发展的有力保证,sobel 算子的具体定义如下:Dx=[f(x+1,y-1)-f(x-1,y-1)]+2[f(x+1,y)-f(x-1,y)]+[f(x+1,y+1)-f(x-1,y+1)], Dy=[f(x-1,y+1)-f(x-1,y-1)]+2[f(x,y+1)-f(x,y-1)]+[f(x+1,y+1)-f(x+1,y-1)]、 Sobel 算子也可用模版表示,如图2所示,模版中的元素表示算式中相应像素的加权因子。
101202102-⎡⎤⎢⎥-⎢⎥⎢⎥-⎣⎦ 121000121---⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦图22、2模型的实现由于sobel 算子就是相隔两行或两列之差分,故边缘两侧元素得到增强,同时由于sobel 算子引入了平均元素,对图像中的随机噪声有一定的平滑作用,所以离散化采用sobel 算子,同时以sobel 算子较强的锐化作用达到锐化目的三、主要实现程序 ( MATLAB )命令:>> W_H1=[-1,0,1;-2,0,2;-1,0,1];>> W_H2=[-1,-2,-1;0,0,0;1,2,1];>> T=0、165;>> L=imread('1、bmp','bmp');>> %L=imread('1、tif','tif');>> [height,width]=size(L);>> L1=double(L);>> L2=zeros(height+2,width+2);>> L2(2:height+1,2:width+1)=L1;>> for i=2:height+1for j=2:width+1sum1=0;sum2=0;for m=-1:1for n=-1:1sum1=sum1+W_H1(m+2,n+2)*L2(i+m,j+n); endendfor m=-1:1for n=-1:1sum2=sum2+W_H2(m+2,n+2)*L2(i+m,j+n); endendgrey=abs(sum1)+abs(sum2);L1(i-1,j-1)=grey;endend>> big=max(max(L1));>> small=min(min(L1));>> for i=1:heightfor j=1:widthL1(i,j)=(L1(i,j)-small)/(big-small);if(L1(i,j)>T)L1(i,j)=1;elseL1(i,j)=0;endendend>> imshow(L1)四、测试与调试实验结果:1.原图像:2.Sobel算子锐化图像:4、1图像锐化的概念在图像增强过程中,通常利用各类图像平滑算法消除噪声,图像的常见噪声主要有加性噪声、乘性噪声与量化噪声等。
数字图形处理 实验 图像的平滑与锐化
XXXXXXXX 大学(数字图形处理)实验报告 实验名称 图像的平滑与锐化 实验时间 年 月 日专 业 姓 名 学 号 预 习 操 作 座 位 号 教师签名 总 评一、实验目的:1.了解图像平滑的邻域平均和中值滤波以及锐化的梯度法和Sobel 法的基本思想;2.掌握图像平滑的邻域平均和中值滤波以及锐化的梯度法和Sobel 法的基本步骤;二、实验原理:1. 邻域平均法的思想是用像素及其指定邻域内像素的平均值或加权平均值作为该像素的新值,以便去除突变的像素点,从而滤除一定的噪声。
邻域平均法的数学含义可用下式表示:∑∑==⎪⎭⎫ ⎝⎛=mn i imn i i i w z w y x g 11),( (1) 上式中:i z 是以),(y x 为中心的邻域像素值;i w 是对每个邻域像素的加权系数或模板系数; m n 是加权系数的个数或称为模板大小。
邻域平均法中常用的模板是:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡*=11111111191Box T (2) 为了解决邻域平均法造成的图像模糊问题,采用阈值法(又叫做超限邻域平均法,如果某个像素的灰度值大于其邻域像素的平均值,且达到一定水平,则判断该像素为噪声,继而用邻域像素的均值取代这一像素值;否则,认为该像素不是噪声点,不予取代),给定阈值0T :⎩⎨⎧≥-<-=00),(),(),(),(),(),(),(T y x g y x f y x g T y x g y x f y x f y x h (3) (3)式中,),(y x f 是原始含噪声图像,),(y x g 是由(1)式计算的平均值,),(y x h 滤波后的像素值。
2.中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。
方法是去某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Sobel算子的图像锐化偏微分方程图像处理
基于偏微分方程的图象处理课程设计
(2014年秋季学期)
学院
专业信息与计算科学
班级信计12-1班
名称基于Sobel算子的图像锐化
组员
指导教师
2014 年月日
一、目的与要求
《图像处理》是信息与计算科学专业一门重要的基础课程之一,它主要应用在医疗、生物等学科的图象处理方面,是当今社会发展较为迅速的一门技术。
课程设计的一个重要的环节是实践环节,主要锻炼学生的动手能力,以及团队能力,独立思考能力等。
二、设计的方案
2.1模型的建立
Sobel算子 (加权平均差分法)
Sobel算子是典型的基于一阶导数的边缘检测算子,由于该算子中引入了类似局部平均的运算,因此对噪声具有平滑作用,能很好的消除噪声的影响。
Sobel算子包含两组3x3的矩阵,分别为横向及纵向模板,将之与图像作平面卷积,即可分
别得出横向及纵向的亮度差分近似值。
实际使用中,常用如下两个模板来检测图像边缘。
-1 0 1 1 2 1
-2 0 2 0 0 0
-1 0 1 -1 -2 -1
图1 Sobel算子
和一些传统的图像锐化方法相比,基于sobel算子的锐化在诸多方面都得到了改进,这些也成了sobel算子发展的有力保证,sobel算子的具体定义如下: Dx=[f(x+1,y-1)-f(x-1,y-1)]+2[f(x+1,y)-f(x-1,y)]+[f(x+1,y+1)-f(x-
1,y+1)],
Dy=[f(x-1,y+1)-f(x-1,y-1)]+2[f(x,y+1)-f(x,y-1)]+[f(x+1,y+1)-f(x+1,y-1)].
Sobel算子也可用模版表示,如图2所示,模版中的元素表示算式中相应像素的加权因子。
101,,,,121,,,,
,,,,202,000 ,,,,
,,,,121102,,,,,
图2
2.2模型的实现
由于sobel算子是相隔两行或两列之差分,故边缘两侧元素得到增强,同时由于sobel算子引入了平均元素,对图像中的随机噪声有一定的平滑作用,所以离散化采用sobel算子,同时以sobel算子较强的锐化作用达到锐化目的
三、主要实现程序 ( MATLAB )
命令:
>> W_H1=[-1,0,1;-2,0,2;-1,0,1]; >> W_H2=[-1,-2,-1;0,0,0;1,2,1]; >> T=0.165;
>> L=imread('1.bmp','bmp'); >> %L=imread('1.tif','tif'); >> [height,width]=size(L); >> L1=double(L);
>> L2=zeros(height+2,width+2); >> L2(2:height+1,2:width+1)=L1; >> for i=2:height+1
for j=2:width+1
sum1=0;
sum2=0;
for m=-1:1
for n=-1:1
sum1=sum1+W_H1(m+2,n+2)*L2(i+m,j+n);
end
end
for m=-1:1
for n=-1:1
sum2=sum2+W_H2(m+2,n+2)*L2(i+m,j+n);
end
end
grey=abs(sum1)+abs(sum2);
L1(i-1,j-1)=grey;
end
end
>> big=max(max(L1));
>> small=min(min(L1));
>> for i=1:height
for j=1:width
L1(i,j)=(L1(i,j)-small)/(big-small); if(L1(i,j)>T)
L1(i,j)=1;
else
L1(i,j)=0;
end
end
end
>> imshow(L1)
四、测试和调试
实验结果:
1(原图像:
2(Sobel算子锐化图像:
4.1图像锐化的概念
在图像增强过程中,通常利用各类图像平滑算法消除噪声,图像的常见噪声主要有加性噪声、乘性噪声和量化噪声等。
一般来说,图像的能量主要集中在其低频部
分,噪声所在的频段主要在高频段,同时图像边缘信息也主要集中在其高频部分。
这将导致原始图像在平滑处理之后,图像边缘和图像轮廓模糊的情况出现。
为了减少这类不利效果的影响,就需要利用图像锐化技术,使图像的边缘变得清晰。
图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变得清晰。
从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。
但要注意能够进行锐化处理的图像必须有较高的性噪比,否则锐化后图像性噪比反而更低,从而使得噪声增加的比信号还要多,因此一般是先去除或减轻噪声后再进行锐化处理。
4.2基于Sobel算子
sin2,ax2cos2,,aax2,a考察正弦函数,它的微分。
微分后频率不变,幅度上升倍。
空间频率愈高,幅度增加就愈大。
这表明微分是可以加强高频成分的,从而使图像轮廓变清晰。
而在本章讨论中,研究了基于sobel算子的图像锐化。
图像边缘检测:边缘检测是检测图像局部显著变化的最基本运算,梯度是函数变化的一种度量。
图像灰度值的显著变化可用梯度的离散逼近函数来检测,大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。
边缘检测可分为两大类基于查找一类和基于零穿越的一类。
基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。
基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。
单独使用Sobel算子做边缘检测,边缘定位精度不高,有时还可能对非边缘像素的响应大于某些边缘处的响应或者响应差别不是很大,造成漏检或误检,但是它对噪声具有较好的鲁棒性。
Prewitt算子和Sobel算子提取边缘的结果差不多。
在提取边缘的同时它对噪声具有平滑作用,能够抑制一定的噪声。
由于Prewitt边缘检测算子是通过八个方向模板对图像进行卷积运算,因此运算量比较大。
4.3性能研究与结论
sobel算子在prewitt算子基础上能检测边缘点,且能进一步抑制噪声的影响,但检测的边缘较宽。
梯度算子和laplacian算子都对噪声敏感,因此一般用它们检测边缘前要先对图像进行平滑。
五、课程设计总结与体会
六、参考文献
[1] MATLAB7.X图像处理M.何兴华,周媛媛.人民邮电出版社:北京,2006,
72-73. [2] 数字图像处理M.阮秋琦.电子工业出版社:北京,2005,12-14. [3]
MATLAB函数速查手册M.邓微.人民邮电出版社:北京,2008,23-24. [4]陆宗骐,梁诚,用Sobel算子细化边缘[J],中国图像图形学报。
2000 [5]张壇,陈刚,基于偏微分方程的图像处理。
北京,2004
[6]唐振军,张显全,一种二值图像边界提取算法。
图像处理,2006。