提取图像纹理特征——灰度共生矩阵

上传人:桔**** 文档编号:487710902 上传时间:2022-10-24 格式:DOCX 页数:20 大小:146.58KB
返回 下载 相关 举报
提取图像纹理特征——灰度共生矩阵_第1页
第1页 / 共20页
提取图像纹理特征——灰度共生矩阵_第2页
第2页 / 共20页
提取图像纹理特征——灰度共生矩阵_第3页
第3页 / 共20页
提取图像纹理特征——灰度共生矩阵_第4页
第4页 / 共20页
提取图像纹理特征——灰度共生矩阵_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《提取图像纹理特征——灰度共生矩阵》由会员分享,可在线阅读,更多相关《提取图像纹理特征——灰度共生矩阵(20页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上摘 要图像的特征提取是图像的识别和分类、基于内容的图像检索、图像数据挖掘等研究内容的基础性工作,其中图像的纹理特征对描述图像内容具有重要意义,纹理特征提取己成为目前图像领域研究的热点。文中深入研究了基于灰度共生矩阵(GLCM)的纹理特征提取方法,给出了基于Matlab的简便实现代码,分析了共生矩阵各个构造参数对构造共生矩阵的影响。分析结果对优化灰度共生矩阵的构造、实现基于灰度共生矩阵( GLCM)的特定图像的纹理特征提取等都具有重要参考意义。本文分析了图像纹理的特征提取灰度共生矩阵,是物体表而最本质的属性。纹理特征提取是作为纹理分析的首要任务,纹理提出了用灰度共生矩阵

2、的方法提取纹理特征,通过MA丁LAB仿真实现,结果由灰度共生矩阵产生的四个纹理特征能具有较好的鉴别能力。关键词: 特征提取;灰度共生矩阵;纹理特征;Matlab目 录 专心-专注-专业提取图像纹理特征灰度共生矩阵1 设计目的由于纹理是由灰度分布在空间位置上反复出现而形成的,因而在图像空间中相隔某距离的两象素之间会存在一定的灰度关系,即图像中灰度的空间相关特性。灰度共生矩阵就是一种通过研究灰度的空间相关特性来描述纹理的常用方法。直觉上来说,如果图像的是由具有相似灰度值的像素块构成,则灰度共生矩阵的对角元素会有比较大的值;如果图像像素灰度值在局部有变化,那么偏离对角线的元素会有比较大的值。灰度直方

3、图是对图像上单个象素具有某个灰度进行统计的结果,而灰度共生矩阵是对图像上保持某距离的两象素分别具有某灰度的状况进行统计得到的5。2 相关知识2.1 MATLAB简介MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在方面首屈一指。MATLAB可以进行运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、金融建模设计与分析等领域7。2.2 MATLAB应用MATLAB 产品族可以用来进行以下各种工作: 数值分析 数值和符号计算 工程与

4、科学绘图 控制系统的设计与仿真 数字图像处理 技术 数字信号处理 技术 通讯系统设计与仿真 财务与金融工程 MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题【2】。2.3 MATLAB特点此高级语言可用于技术计算 此开发环境可对代码、文件和数据进行管理 交互式工具可以按迭代的方式探查、设计及求解问题 数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等 二维和三维图形函数可用于可视化数据

5、各种工具可用于构建自定义的图形用户界面 各种函数可将基于MATLAB的算法与外部应用程序和语言(如 C、C+、Fortran、Java、COM 以及 Microsoft Excel)集成 不支持大写输入,内核仅仅支持小写32.4 MATLAB的优势 MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采的的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互

6、性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。 Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C语言基础上的,因此语法特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人

7、员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因【1】。3 设计方案 灰度共生矩阵的特征参数:灰度共生矩阵反映的是图像灰度关于方向、相邻间隔、变化幅度的综合信息。通过灰度共生矩阵可以分析图像的局部模式和排列规则等,为了能更直观地以灰度共生矩阵描述纹理状况,一般不直接应用得到的共生矩阵,而是在其基础上获取二次统计量。为了分析方便,先将各个元素dP (i,j)除以各元素之和 S,得到各元素都小于 1 的归一化值dP ( i.j ) ,由此得到归一化共生矩阵。Haralick 等人定义了 14 个用于纹理分析的灰度共生矩阵特征参数。Ula

8、by等人研究发现:在基GLCM 的14个纹理特征中,仅有4个特征是不相关的,这 4 个特征既便于计算又能给出较高的分类精度,一般采用下面四个最常用的特征来提取图像的纹理特征6。3.1 二阶距(能量) 二阶距是灰度共生矩阵元素值得平方和,所以也称为能量,反映了图像灰度分布均匀程度和纹理粗细程度。如果灰度共生矩阵的所有值均相等,则 f1 小。如果其中一些值大而其他值小,则 f1 大。当 f1 大时,纹理粗,能量大;反之,f1 小时,纹理细,能量小4。3.2 惯性矩 惯性矩是灰度共生矩阵的二次统计量,与其他统计量如逆矩阵、方差、熵等相比,惯性矩将图像灰度的空间分布差异拉开,更能分辨出灰度空间分布的复

9、杂程度。3.3 相关相关是用来衡量灰度共生矩阵的元素在行或列方向上的相似程度。当矩阵元素值均匀相等时,相关值就大;相反,如果矩阵像素值相差很大则相关值小。如果图像中有水平方向纹理,则水平方向矩阵的相关值大于其余矩阵的相关值4。3.4 熵熵是图像具有信息量的度量,纹理信息也属于图像的信息,是一个随机性的度量,当灰度共生矩阵中所有元素有最大的随机性、灰度共生矩阵中所有值几乎相等时,共生矩阵中元素分散分布时,熵较大4。它表示图像中纹理的非均匀程度或复杂程度。若图像没有任何纹理,则灰度共生矩阵几乎为零阵。它反映图像中纹理的复杂程度或非均匀度。若纹理复杂,熵值大;反之,若图像中灰度均匀,共生矩阵中元素大

10、小差异大,熵值小8。4 程序设计程序代码如下: Gray = imread(d:1.jpg);M,N,O = size(Gray);M = 256; N = 256;% Gray = double(0.3*Image(:,:,1)+0.59*Image(:,:,2)+0.11*Image(:,:,3);for i = 1:Mfor j = 1:Nfor n = 1:256/16if (n-1)*16=Gray(i,j)&Gray(i,j)=(n-1)*16+15 Gray(i,j) = n-1; end end endend P = zeros(16,16,4); for m = 1:16 f

11、or n = 1:16for i = 1:Mfor j = 1:Nif j1&jN&Gray(i,j)=m-1&Gray(i-1,j+1)=n-1P(m,n,2) = P(m,n,2)+1;P(n,m,2) = P(m,n,2);endif iM&Gray(i,j)=m-1&Gray(i+1,j)=n-1P(m,n,3) = P(m,n,3)+1;P(n,m,3) = P(m,n,3);endif iM&jN&Gray(i,j)=m-1&Gray(i+1,j+1)=n-1P(m,n,4) = P(m,n,4)+1;P(n,m,4) = P(m,n,4); end end end if m=n

12、P(m,n,:) = P(m,n,:)*2; end end enddisp(0度时的灰度共生矩阵:);disp(P(:,:,1);disp(45度时的灰度共生矩阵:);disp(P(:,:,2);disp(90度时的灰度共生矩阵:);disp(P(:,:,3); disp(135度时的灰度共生矩阵:);disp(P(:,:,4);for n = 1:4P(:,:,n) = P(:,:,n)/sum(sum(P(:,:,n);endH = zeros(1,4);I = H;Ux = H; Uy = H;deltaX= H; deltaY = H;C =H;for n = 1:4E(n) = s

13、um(sum(P(:,:,n).2); %能量for i = 1:16for j = 1:16if P(i,j,n)=0H(n) = -P(i,j,n)*log(P(i,j,n)+H(n); %熵 end I(n) = (i-j)2*P(i,j,n)+I(n); %惯性矩 Ux(n) = i*P(i,j,n)+Ux(n); %相关性中x Uy(n) = j*P(i,j,n)+Uy(n); %相关性中y end end end for n = 1:4 for i = 1:16 for j = 1:16 deltaX(n) = (i-Ux(n)2*P(i,j,n)+deltaX(n); %相关性中

14、x deltaY(n) = (j-Uy(n)2*P(i,j,n)+deltaY(n); %相关性中y C(n) = i*j*P(i,j,n)+C(n); end end C(n) = (C(n)-Ux(n)*Uy(n)/deltaX(n)/deltaY(n); %相关性 end a1 = mean(E) b1 = sqrt(cov(E) a2 = mean(H) b2 = sqrt(cov(H) a3 = mean(I) b3 = sqrt(cov(I) a4 = mean(C) b4 = sqrt(cov(C) sprintf(0,45,90,135方向上的能量依次为: %f, %f, %f, %f,E(1),E(2),E(3),E(4) % 输出数据; sprintf(0,45,90,135方向上的熵依次为: %f, %f, %f, %f,H(1),H(2),H(3),H(4) % 输出数据; sprintf(

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号