数字图像处理实验报告-图像边缘检测和特征提取
- 格式:doc
- 大小:286.50 KB
- 文档页数:8
数字图像处理实验一 MATLAB数字图像处理初步一、显示图像1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。
7.用imread()读入图像Sunset.jpg和Winter.jpg;8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。
其中9的实验结果如下图:源代码:4~6(接上面两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
rgb=cat(3,rgb_R,rgb_G,rgb_B);figure,imshow(rgb),title('RGB彩色图像');截图:(2)编写MATLAB程序,将一彩色图像从RGB空间转换为HIS空间,并观察其效果。
如例9.2所示。
程序:rgb=imread('LenaRGB.bmp');figure,imshow(rgb);rgb1=im2double(rgb);r=rgb1(:,:,1);g=rgb1(:,:,2);b=rgb1(:,:,3);I=(r+g+b)/3figure,imshow(I);tmp1=min(min(r,g),b);tmp2=r+g+b;tmp2(tmp2==0)=eps;S=1-3.*tmp1./tmp2;figure,imshow(S);tmp1=0.5*((r-g)+(r-b));tmp2=sqrt((r-g).^2+(r-b).*(g-b));theta=acos(tmp1./(tmp2+eps));H=theta;H(b>g)=2*pi-H(b>g);H=H/(2*pi);H(S==0)=0;figure,imshow(H);截图:(3)编写MATLAB程序,将一彩色图像在RGB空间进行彩色分割,并观察其效果。
如例9.11所示。
程序:rgb=imread('LenaRGB.bmp');figure,imshow(rgb);rgb1=im2double(rgb);r=rgb1(:,:,1);figure,imshow(r);g=rgb1(:,:,2);figure,imshow(g);b=rgb1(:,:,3);figure,imshow(b);r1=r;r1_u=mean(mean(r1(:)));[m,n]=size(r1);sd1=0.0;for i=1:mfor j=1:nsd1= sd1+(r1(i,j)-r1_u)*(r1(i,j)-r1_u);endendr1_d=sqrt(sd1/(m*n));r2=zeros(size(rgb1,1),size(rgb1,2));ind=find((r>r1_u-1.25*r1_d)&(r<r1_u+1.25*r1_d));r2(ind)=1;figure,imshow(r2);截图:(4)编写MATLAB程序,将一彩色图像在向量空间进行边缘检测,并观察其效果。
图像处理实验报告实验⼀基于matlab 的⼈脸识别技术⼀、实验⽬的1.熟悉⼈脸识别的⼀般流程与常见识别⽅法;2.熟悉不同的特征提取⽅法在⼈脸识别的应⽤;3.了解在实际的⼈脸识别中,学习样本数等参数对识别率的影响;4.了解⾮⼈脸学习样本库的构建在⼈脸识别的重要作⽤。
使⽤MATLAB 平台编程,采⽤K-L 变换、特征提取及图像处理技术,实现⼈脸识别⼆、实验内容与实验仪器、设备1.构建⾮⼈脸学习样本库;2.观测不同的特征提取⽅法对⼈脸识别率的影响;3.观测不同的学习样本数对⼈脸识别率的影响;1. PC 机-系统最低配置 512M 内存、P4 CPU ;2. Matlab 仿真软件- 7.0 / 7.1 / 2006a 等版本的Matlab 软件。
3. CBCL ⼈脸样本库三、实验原理1.⼈脸特征提取的算法通过判别图像中所有可能区域是否属于“⼈脸模式”的⽅法来实现⼈脸检测。
这类⽅法有:特征脸法、⼈⼯神经⽹络法、⽀持向量机法;积分图像法。
本次使⽤的是PCA(主成分分析法)其原理是:利⽤K-L 变换抽取⼈脸的主要成分,构成特征脸空间,识别时将测试图像投影到此空间,得到⼀组投影系数,通过与各个⼈脸图像⽐较进⾏识别。
对于⼀幅M*N 的⼈脸图像,将其每列相连构成⼀个⼤⼩为D=M*N 维的列向量。
D 就是⼈脸图像的维数,即是图像空间的维数。
设n 是训练样本的数⽬;X j 表⽰第j 幅⼈脸图像形成的⼈脸向量,则所需样本的协⽅差矩阵为:1()()m Ti i i S x u x u ==--∑ (1)其中U 为训练样本的平均图像向量:11mi i u x n ==∑ (2)令A=[x 1-u,x 2-u,...x n -u],则有S r =AA T ,其维数为D ×D 。
根据K-L 变换原理,需要求得的新坐标系由矩阵AA T 的⾮零特征值所对应的特征向量组成。
直接计算的计算量⽐较⼤,所以采⽤奇异值分解(SVD)定理,通过求解A T A 的特征值和特征向量来获得AA T 的特征值和特征向量。
数字图像处理从原始图像到信息提取数字图像处理是指利用计算机技术和数学方法对图像进行处理和分析的一门学科。
它的目标是从原始图像中提取出相关的信息,并用于实现图像的增强、恢复、特征提取等应用。
本文将从原始图像的获取、图像增强、图像恢复和特征提取等方面介绍数字图像处理的过程。
首先,我们需要获取原始图像。
原始图像可以通过摄像机、扫描仪、雷达等设备获取,也可以从已有的图像数据库中选取。
获取到的原始图像往往包含噪声、模糊等问题,需要进行后续处理。
接下来,我们将对图像进行增强处理。
图像增强旨在改善图像的视觉效果,使图像更易于观察和理解。
常用的图像增强方法包括灰度变换、直方图均衡化、滤波等。
灰度变换可以通过调整像素的灰度值来改变图像的对比度和亮度,进而提升图像的视觉效果。
直方图均衡化能够通过重新分配图像的灰度级,增强图像的对比度,使得图像更加清晰。
滤波是一种常用的图像增强方法,利用滤波器对图像进行平滑处理或者边缘增强。
随后,我们将进行图像恢复。
图像恢复旨在修复图像中受损部分,还原图像的原貌。
常见的图像恢复技术有去噪、去模糊、补全等。
去噪是指消除图像中的噪声,使图像更加清晰。
去模糊则是通过模拟图像的退化过程,尽可能还原图像的清晰度。
图像补全是指填补图像中的缺失部分,以恢复完整的图像。
图像恢复可以运用频域分析、概率统计等方法来实现。
最后,我们将进行特征提取。
特征提取是数字图像处理中的重要环节,它能够从图像中提取出图像的特征信息,用于图像分类、目标识别等应用。
常见的特征提取方法有边缘检测、角点检测、纹理分析等。
边缘检测能够提取出图像中的边缘信息,辅助目标检测和图像分割。
角点检测可以找出图像中的角点,用于特征匹配和目标跟踪。
纹理分析可以提取图像中的纹理特征,用于图像分类和物体识别。
综上所述,数字图像处理从原始图像到信息提取的过程涵盖了图像获取、图像增强、图像恢复和特征提取等环节。
通过合理选择和应用不同的图像处理方法,可以充分发掘和利用图像中的信息,实现图像处理的目标。
图像处理中的特征提取与分类方法图像处理技术是指利用计算机和数字图像处理技术来处理不同类型的图像,从而得到有效的信息。
图像处理被广泛应用于医学诊断、数字水印、娱乐、安防领域等方面。
其中一个重要的步骤就是图像的特征提取与分类,下面我将详细介绍这个过程中所用到的方法。
一、特征提取特征提取是图像处理中最关键的步骤之一。
图像中的特征是指具有区别度的、代表性的、不同的属性,不同的特征可以用于不同的分类任务。
在图像处理中,特征可以分为两种类型:结构特征和统计特征。
1. 结构特征结构特征是基于像素本身的一些属性来描述图像的特征,包括如下几种:(1)边缘特征:边缘是图像上两种不同灰度的区域之间的分界线。
边缘特征可以通过边缘检测算法来提取。
(2)角点特征:角点是图像上局部区域的转折点,可以用于跟踪和目标检测。
(3)纹理特征:纹理是图像上一种空间上或颜色上呈现规律的、重复的模式,可以用于纹理识别。
(4)形状特征:形状可以描述物体的几何形状,如圆、椭圆、矩形等。
2. 统计特征统计特征是通过对图像各个像素灰度值的统计分布来描述图像的特征,包括如下几种:(1)直方图:直方图描述了图像每个像素的灰度值出现的次数。
(2)均值和方差:均值表示图像区域内像素灰度值的平均值,方差表示图像区域内像素灰度值的变异程度。
(3)能量和熵:能量表示图像区域内像素良好分布的程度,熵表示图像区域内像素的信息量。
二、分类方法特征提取后,需要将其用于图像分类。
在图像分类上,根据不同任务,可以采用不同的分类方法。
1. 传统分类方法传统分类方法是指基于数学模型来描述图像特征和分类关系的分类方法,主要包括如下几种:(1)KNN算法:KNN算法是指K-近邻算法,是一种基于样本的分类方法。
对于一个测试样本,找出与它最相似的K个训练样本,用它们的分类标签中出现最多的作为预测结果。
(2)SVM算法:SVM算法是指支持向量机算法,是一种二分类模型,可以采用核函数进行非线性分类。
边缘检测的原理边缘检测是数字图像处理中的常见任务,它能够识别并提取出图像中物体的边缘信息。
在计算机视觉和模式识别领域,边缘特征对于物体识别、分割以及图像理解非常重要。
本文将介绍边缘检测的原理及其常用的方法。
一、边缘的定义边缘是图像中亮度变化剧烈处的集合。
在图像中,边缘通常表示物体之间的分界线或物体自身的边界轮廓。
边缘通常由亮度或颜色的不连续性引起,可以用于图像分析、特征提取和图像增强等应用中。
二、边缘检测的原理边缘检测的目标是找到图像中的所有边缘,并将其提取出来。
边缘检测的原理基于图像亮度的一阶或二阶变化来进行。
常用的边缘检测原理包括:1. 一阶导数方法一阶导数方法利用图像亮度的一阶导数来检测边缘。
最常见的方法是使用Sobel算子、Prewitt算子或Roberts算子计算图像的梯度,然后通过设置合适的阈值将梯度较大的像素点判定为边缘。
2. 二阶导数方法二阶导数方法通过对图像亮度进行二阶导数运算来检测边缘。
其中,Laplacian算子是最常用的二阶导数算子,它可以通过计算图像的二阶梯度来获取边缘信息。
类似于一阶导数方法,二阶导数方法也需要设定适当的阈值来提取边缘。
3. Canny算子Canny算子是一种广泛使用的边缘检测算法,它综合了一阶和二阶导数方法的优点。
Canny算子首先使用高斯滤波平滑图像,然后计算图像的梯度和梯度方向,并根据梯度方向进行非极大值抑制。
最后,通过双阈值算法检测出真正的边缘。
三、边缘检测的应用边缘检测在计算机视觉和图像处理中具有广泛的应用。
以下是一些常见的应用:1. 物体检测与分割边缘检测可以帮助识别图像中的物体并进行分割。
通过提取物体的边缘,可以实现对图像内容的理解和分析。
2. 图像增强边缘检测可以用于图像增强,通过突出图像中的边缘信息,使图像更加清晰和饱满。
3. 特征提取边缘是图像中最重要的特征之一,可以用于物体识别、图像匹配和目标跟踪等应用中。
通过提取边缘特征,可以实现对图像的自动识别和分析。
图像处理中的边缘检测算法研究与性能评估引言:在当今数字图像处理领域,边缘检测一直是一个重要且挑战性的问题。
边缘提取是图像处理中的一项基本操作,对于目标检测、图像分割和图像识别等任务都具有重要意义。
边缘检测的目标是找到图像中明显的灰度跃变区域,以准确地确定物体的边缘位置。
本文将介绍几种常见的图像处理中的边缘检测算法,并对其性能进行评估。
一、经典边缘检测算法1. Sobel算子Sobel算子是一种基于差分的边缘检测算子,它结合了图像梯度的信息。
Sobel算子使用一个3×3的模板对图像进行卷积操作,通过计算水平和垂直方向上的梯度来找到边缘位置。
Sobel算子虽然简单,但在边缘检测中表现良好。
2. Prewitt算子Prewitt算子是另一种基于差分的边缘检测算子,与Sobel 算子类似,它也使用一个3×3的模板对图像进行卷积操作。
该算子通过计算水平和垂直方向上的梯度来检测边缘。
Prewitt 算子在边缘检测中也有较好的性能。
3. Canny边缘检测Canny边缘检测是一种广泛应用的边缘检测算法。
与Sobel 和Prewitt算子相比,Canny算法不仅能够检测边缘,还能够进行边缘细化和抑制不必要的边缘响应。
它通过多阶段的边缘检测过程,包括高斯滤波、计算梯度幅值和方向、非极大值抑制和双阈值处理等步骤,来提取图像中的边缘。
二、边缘检测算法的性能评估1. 准确性评估准确性是评估边缘检测算法好坏的重要指标。
在进行准确性评估时,可以使用一些评价指标,如PR曲线、F值等。
PR 曲线是以检测到的边缘像素为横坐标,以正确的边缘像素为纵坐标绘制的曲线,用于评估算法的召回率和准确率。
F值则是召回率和准确率的综合评价指标,能够综合考虑算法的检测效果。
2. 实时性评估实时性是边缘检测算法是否适用于实际应用的重要因素。
在实时性评估时,可以考虑算法的运行时间,以及算法对硬件资源的要求。
边缘检测算法应尽量满足实时性的要求,并能够在不同硬件平台上高效运行。
《数字图像处理》实验教案一、实验目的1. 使学生了解和掌握数字图像处理的基本概念和基本算法。
2. 培养学生运用数字图像处理技术解决实际问题的能力。
3. 提高学生使用相关软件工具进行数字图像处理操作的技能。
二、实验内容1. 图像读取与显示:学习如何使用相关软件工具读取和显示数字图像。
2. 图像基本操作:学习图像的旋转、缩放、翻转等基本操作。
3. 图像滤波:学习使用不同类型的滤波器进行图像去噪和增强。
4. 图像分割:学习利用阈值分割、区域增长等方法对图像进行分割。
5. 图像特征提取:学习提取图像的边缘、角点等特征信息。
三、实验环境1. 操作系统:Windows或Linux。
2. 编程语言:Python或MATLAB。
3. 图像处理软件:OpenCV、ImageJ或MATLAB。
四、实验步骤1. 打开相关软件工具,导入图像。
2. 学习并实践图像的基本操作,如旋转、缩放、翻转等。
3. 学习并实践图像滤波算法,如均值滤波、中值滤波等。
4. 学习并实践图像分割算法,如全局阈值分割、局部阈值分割等。
5. 学习并实践图像特征提取算法,如Canny边缘检测算法等。
五、实验要求1. 每位学生需独立完成实验,并在实验报告中详细描述实验过程和结果。
2. 实验报告需包括实验目的、实验内容、实验步骤、实验结果和实验总结。
3. 实验结果要求清晰显示每个步骤的操作和效果。
4. 实验总结部分需对本次实验的学习内容进行归纳和总结,并提出改进意见。
六、实验注意事项1. 实验前请确保掌握相关软件工具的基本使用方法。
3. 在进行图像操作时,请尽量使用向量或数组进行处理,避免使用低效的循环结构。
4. 实验过程中如需保存中间结果,请使用合适的文件格式,如PNG、JPG等。
5. 请合理安排实验时间,确保实验报告的质量和按时提交。
七、实验评价1. 实验报告的评价:评价学生的实验报告内容是否完整、实验结果是否清晰、实验总结是否到位。
2. 实验操作的评价:评价学生在实验过程中对图像处理算法的理解和运用能力。
第1篇一、实验目的本次实验旨在通过实际操作,了解并掌握视觉机器的基本原理和应用,提高对视觉机器处理技术的认识。
实验内容包括边缘检测、显著性检测、特征点检测和直线检测等,通过对比不同算法的优缺点,分析其在实际图像处理中的应用和局限性。
二、实验内容与步骤1. 边缘检测(1)选择图像数据:选取一张包含明显边缘结构的图像作为实验对象。
(2)Sobel边缘检测:使用Sobel算子对图像进行边缘检测,记录结果。
(3)Canny边缘检测:使用Canny算子对图像进行边缘检测,记录结果。
(4)比较两种方法的边缘检测效果,分析其差异。
2. 显著性检测(1)选择图像数据:选取一张包含不同显著性区域的图像作为实验对象。
(2)HC显著性检测:使用Python和OpenCV实现HC显著性检测算法,调整参数,比较检测效果。
(3)基于最小方向对比度显著性检测:使用Python和OpenCV实现基于最小方向对比度显著性检测算法,调整参数,比较检测效果。
(4)基于最稳定区域显著性检测:使用Python和OpenCV实现基于最稳定区域显著性检测算法,调整参数,比较检测效果。
3. 特征点检测(1)选择图像数据:选取一张包含明显角点的图像作为实验对象。
(2)Harris角点检测:使用Python和OpenCV实现Harris角点检测算法,调整参数,比较检测效果。
(3)分析角点检测结果与实际图像特征之间的关系。
4. 直线检测(1)选择图像数据:选取一张包含直线的图像作为实验对象。
(2)哈夫变换直线检测:使用Python和OpenCV实现哈夫变换直线检测算法,调整参数,比较检测效果。
(3)对图像进行预处理(如边缘检测)以提高直线检测效果。
(4)分析哈夫变换在实际场景中的应用和局限性。
三、实验结果与分析1. 边缘检测通过对比Sobel算子和Canny算子的边缘检测结果,发现Canny算子具有更好的检测效果,能够有效抑制噪声,同时保留边缘信息。
《数字图像处理》实验教案一、实验目的与要求1. 实验目的(1) 理解数字图像处理的基本概念和原理;(2) 掌握常用的数字图像处理方法和技术;(3) 能够运用数字图像处理软件进行图像处理和分析。
2. 实验要求(1) 熟悉计算机操作和图像处理软件的使用;(2) 能够阅读和理解图像处理相关的文献资料;二、实验内容与步骤1. 实验内容(1) 图像读取与显示;(2) 图像的基本处理方法:灰度化、二值化、滤波;(3) 图像的增强与复原;(4) 图像的分割与描述;(5) 图像的压缩与编码。
2. 实验步骤(1) 打开图像处理软件,导入实验所需的图像;(2) 进行图像的基本处理,观察处理前后的效果;(3) 应用图像的增强与复原方法,改善图像的质量;(4) 使用图像的分割与描述技术,提取图像中的目标区域;(5) 对图像进行压缩与编码,观察压缩后的效果。
三、实验注意事项1. 实验前请确保已经安装了图像处理软件,并熟悉其基本操作;3. 在进行图像分割与描述时,请合理选择阈值和算法,确保目标区域的准确提取;四、实验报告要求1. 实验报告应包括实验目的、实验内容、实验步骤、实验结果和实验总结;2. 实验报告中应详细描述实验过程中遇到的问题及解决方法;3. 实验报告应有清晰的图像处理结果展示,并附上相关图像的处理参数和效果对比;五、实验评分标准1. 实验目的与要求(20分):是否达到实验目的,是否符合实验要求;2. 实验内容与步骤(30分):是否完成实验内容,是否遵循实验步骤;3. 实验注意事项(20分):是否注意实验注意事项,处理过程中是否出现错误;4. 实验报告要求(30分):报告结构是否完整,描述是否清晰,图像处理结果是否合理,总结是否到位。
评分总分:100分。
六、实验一:图像读取与显示1. 实验目的(1) 学习如何使用图像处理软件读取和显示图像。
2. 实验步骤(1) 打开图像处理软件。
(2) 导入实验所需的图像文件。
华南师范大学实验报告 一、实验目的 1、.掌握边缘检测的Matlab实现方法 2、了解Matlab区域操作函数的使用方法 3、了解图像分析和理解的基本方法 4、了解纹理特征提取的matlab实现方法 二、实验平台 计算机和Matlab软件环境 三、实验内容 1、图像边缘检测 2、图像纹理特征提取 四、实验原理 1、图像边缘检测 图像理解是图像处理的一个重要分支,它研究的是为完成某一任务需要从图像中提取哪些有用的信息,以及如何利用这些信息解释图像。边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征。边缘检测实际上就是检测图像特征发生变化的位置。 由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本内容:首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。边缘检测的方法大多数是基于方向导数掩模求卷积的方法。 导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值比较高,因此可将这些导数值作为相应点的边界强度,通过设置门限的方法,提取边界点集。
一阶导数fx与fy是最简单的导数算子,它们分别求出了灰度在x和y方向上的变化率,而方向α上的灰度变化率可以用下面式子计算: cossin(cossin)fffGijxy
对于数字图像,应该采用差分运算代替求导,相对应的一阶差分为: (,)(,)(1,)(,)(,)(,1)xyfijfijfijfijfijfij
方向差分为: (,)(,)cos(,)sinxyfijfijfij
函数f在某点的方向导数取得最大值的方向是1tan/ffyx,方向导数的最大值
是1222ffGxy称为梯度模。利用梯度模算子来检测边缘是一种很好的方法,它不仅具有位移不变性,还具有各向同性。为了运算简便,实际中采用梯度模的近似形式,如:(,)(,)xyfijfij、max((,),(,))xyfijfij及max(,)(,)fijfmn等。另外,
还有一些常用的算子,如Roberts算子和Sobel算子。 Roberts算子的表达式为: max((,)(1,1),(1,)(,1))fijfijfijfij Sobel算子的表达式为:
X方向算子:121000121 y方向算子:101202101 其中,由于Sobel算子是滤波算子的形式,用于提取边缘。我们可以利用快速卷积函数,简单有效,因此应用很广泛。 拉普拉斯高斯(LoG)算法是一种二阶边缘检测方法。它通过寻找图像灰度值中二阶微分中的过零点(Zero Crossing)来检测边缘点。其原理为,灰度级变形成的边缘经过微分算子形成一个单峰函数,峰值位置对应边缘点;对单峰函数进行微分,则峰值处的微分值为0,峰值两侧符号相反,而原先的极值点对应于二阶微分中的过零点,通过检测过零点即可将图像的边缘提取出来。 2、区域简单形状特征 2.1 面积S和周长L 面积和周长时描述块状图形大小的最基本特征。图像中的图形面积S可用同一标记的 区域中像素的个数来表示。图形周长L用图形上相邻边缘间距离之和来表示。 3、图像纹理特征提取 3.1 基于图像灰度直方图的特征提取 图像灰度直方图的形状揭示了图像的特征。例如,分布范围狭窄的直方图表示低对比度的图像;单峰直方图描述图像中所含目标的灰度范围相对背景来说具有较窄的灰度范围。 设图像可能的灰度级数为L,其灰度直方图为h(i),i=0,1…,L-1,灰度均值为m,则其n阶中心统计矩为
,...3,2)()(10nihmiuLinn 式中,u2也称方差,是对灰度对比度的度量,可以描述直方图的相对平滑程度;u3表示了直方图的偏斜度;u4描述了直方图的相对平坦型。常见的纹理统计度量如下:
(1) 均值: 10)(Liiihm (2) 标准偏差:2 (3) 平滑度:211-1R
(4) 三阶矩:23L (5) 一致性:10i2iLhU (6) 熵:10)(log)(Liihihe 3.2基于图像灰度共生矩阵的特征提取 灰度共生矩阵能反映出图像灰度关于方向、相邻间隔、变化幅度的综合信息,它是分析图像的局部模式和它们排列规则的基础。它反映了图像中任意两点灰度的相关性,根据它可以进行纹理特征的抽取及分析。 为了能更直观地以共生矩阵描述纹理状况,从共生矩阵导出一些反应矩阵状况的参数,典型的有以下几种: (1)对比度: ninjjipjiCON002),()( (2)相关: ninjyxyxjipjiCOR00),(1 其中:
njniyynjnixxnjniyninjxjipjnjipinjipjip002000000),()(1),()(1),(),( (3)能量: ninjjipASM002),( (4)逆差矩: 10102)(1),(LiLjjijiPNC 3.3 基于频域的纹理统计方法 纹理的频谱度量是基于傅里叶频谱的,适用于描述图像中的周期或近似周期二维模式的方向性。这些在频域中易于识别的全局纹理模式,在空间域中很难检测到。因此,纹理的频谱对于判别周期纹理模式和非周期纹理模式非常有用,对于量化两个周期末时间的差也非常有用。 对纹理描述有用的傅里叶频谱的3个特征:(1)频谱中突起的尖峰给出了纹理模式的主要方向;(2)在频谱平面中尖峰的位置给出了模式的基本空间周期;(3)通过过滤除去所有周期性的部分,而留下非周期性的图像元素,然后,这些留下的元素可以通过统计技术进行描述。 在用频谱法进行纹理特征提取时常使用函数),(rS的极坐标表达比较简单。这里S是频谱函数,r和 是坐标系中的变量。对于每个方向 ,),(rS可以看做一维函数)r(S。类似的,对每个频率r,)(rS也是一个一维函数。对固定的 值分析)r(S,可得到沿着自原点的辐射方向上的频谱所表现的特性。繁殖,分析固定r值的)(rS,可得到沿着以原点为圆心的圆形上的特性。 通过求这些函数的积分(离散变量求和),我们可得到全局描述:
010)()()()r(RrrSSrSS 这里R0是以原点为圆心的圆的半径。 五、思考题 1、在边缘提取中,比较边缘提取中LOG、Canny算子的边缘提取效果。 答:用canny算子与log算子提取边缘的代码如下: I=double(imread('circles.png')); bw4=edge(I,'canny'); %canny边缘检测 bw5=edge(I,'log'); %log边缘检测 subplot(2,3,1);imshow(I);title('原图') subplot(2,3,2);imshow(bw4);title('canny边缘检测') subplot(2,3,3);imshow(bw5);title('log边缘检测')
运行结果如下:
由上图可以看出,Canny算子提取的边缘的完整与连续性优于Log算子,并且Canny算子对于弱边缘的检测能力也优于Log算子,具有较高的边缘定位精度,边缘较为平滑。 2、在纹理的频域特征提取中,分析纹理方向和纹理周期与Fourier变换谱之间的关系? 答:利用频谱法提取纹理特征代码如下: f1=imread('texture1.jpg'); [srad1,sang1,s1]=specxture(f1); subplot(2,4,1); imshow(f1); title('原始图像'); subplot(2,4,2); imshow(s1,[]); title('原始图像的频谱'); subplot(2,4,3); plot(srad1); title('s(r)曲线'); subplot(2,4,4); plot(sang1); title('s(o)曲线'); f2=imread('texture2.jpg'); [srad2,sang2,s2]=specxture(f2); subplot(2,4,5); imshow(f2); title('原始图像'); subplot(2,4,6); imshow(s2,[]); title('原始图像的频谱'); subplot(2,4,7); plot(srad2); title('s(r)曲线'); subplot(2,4,8); plot(sang2); title('s(o)曲线');
运行结果如下: