paper 131:【图像算法】图像特征:GLCM【转载】
转载地址:http://www.cnblogs.com/skyseraph/archive/2011/08/27/2155776.html
一 原理
1 概念:GLCM,即灰度共生矩阵,GLCM是一个L*L方阵,L为源图像的灰度级
2 含义:描述的是具有某种空间位置关系的两个像素的联合分布,可看成两个像素灰度对的联合直方图,是一种二阶统计
3 常用的空间位置关系:有四种,垂直、水平、正负45°
4 常用的GLCM特征特征:
(1)能量: 是灰度共生矩阵元素值的平方和,所以也称能量,反映了图像灰度分布均匀程度和纹理粗细度。
如果共生矩阵的所有值均相等,则ASM值小;相反,如果其中一些值大而其它值小,则ASM值大。
当共生矩阵中元素集中分布时,此时ASM值大。ASM值大表明一种较均一和规则变化的纹理模式。
(2)对比度:反映了图像的清晰度和纹理沟纹深浅的程度。纹理沟纹越深,其对比度越大,视觉效果越清晰;
反之,对比度小,则沟纹浅,效果模糊。灰度差即对比度大的象素对越多,这个值越大。
灰度公生矩阵中远离对角线的元素值越大,CON越大。
(3)相关: 它度量空间灰度共生矩阵元素在行或列方向上的相似程度,因此,相关值大小反映了图像中局部灰度相关性。
当矩阵元素值均匀相等时,相关值就大;相反,如果矩阵像元值相差很大则相关值小。如果图像中有水平方向纹理,
则水平方向矩阵的COR大于其余矩阵的COR值。
(4)熵: 是图像所具有的信息量的度量,纹理信息也属于图像的信息,是一个随机性的度量,当共生矩阵中所有元素有最大的随机性、
空间共生矩阵中所有值几乎相等时,共生矩阵中元素分散分布时,熵较大。它表示了图像中纹理的非均匀程度或复杂程度。
(5)逆差距:反映图像纹理的同质性,度量图像纹理局部变化的多少。其值大则说明图像纹理的不同区域间缺少变化,局部非常均匀。
5 原理理解:
假设衣服图像的纹理矩阵P如下:
P = [ 0 1 2 0 1 2
1 2 0 1 2 0
2 0 1 2 0 1
0 1 2 0 1 2
1 2 0 1 2 0
2 0 1 2 0 1
]
①相距为1(第一个参数),位置方向为0°第二个参数)的GLCM矩阵如下:
[ 0 10 10
10 0 10
10 10 0
]
//解析:因为P中灰度级为3,故GLCM为3*3方阵
②相距为1(第一个参数),位置方向为正负45°第二个参数)的GLCM矩阵如下:
[ 16 0 0
0 16 0
0 0 18
]
-------------------------------------------------------------------------------------------------------------------------------
二 结果
图像(lenna):
另附:关于lenna,风靡图像界这张图像,源原轶事:http://www.cs.cmu.edu/~chuck/lennapg/ ^_^

单个 GLCM以及4个方向的均值、方差GLCM特征:

-------------------------------------------------------------------------------------------------------------------------------
三 源码
类头文件:
类源文件-1:初始化和资源释放
类源文件-2:计算纹理特征
类源文件-3:计算共生矩阵
类源文件-4:计算GLCM特征
类源文件-5:计算GLCM特征均值和方差
说明:
参考了 《VisualC++数字图像模式识别技术详解》、《数字图像处理与机器视觉-VisualC++与Matlab实现》等书,此类为本文作者原创,可直接调用,转载/引用请注明出处。
-------------------------------------------------------------------------------------------------------------------------------
四 参考资料
提取共生矩阵特征 - wqvbjhc的专栏 - CSDN博客
基于灰度共生矩阵的纹理特征提取 - docin.com豆丁网
一个使用GLCM的例子.(修改了CvTexture的bug)
《VisualC++数字图像模式识别技术详解》
《数字图像处理与机器视觉-VisualC++与Matlab实现》
------------------------------------------------------------------------------------------------------------------------------
Author: SKySeraph
Email/GTalk: zgzhaobo@gmail.com QQ:452728574
From: http://www.cnblogs.com/skyseraph/
paper 131:【图像算法】图像特征:GLCM【转载】的更多相关文章
- 【图像算法】图像特征:GLCM灰度共生矩阵,纹理特征
[图像算法]图像特征:GLCM SkySeraph Aug 27th 2011 HQU Email:zgzhaobo@gmail.com QQ:452728574 Latest Modifie ...
- paper 53 :深度学习(转载)
转载来源:http://blog.csdn.net/fengbingchun/article/details/50087005 这篇文章主要是为了对深度学习(DeepLearning)有个初步了解,算 ...
- paper 1:图像特征提取
特征提取是计算机视觉和图像处理中的一个概念.它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征.特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点.连续的曲线或者连 ...
- 原来CNN是这样提取图像特征的。。。
对于即将到来的人工智能时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的领域,会不会感觉马上就out了?作为机器学习的一个分支,深度学习同样需要计算机获得强大的学 ...
- Caffe学习笔记4图像特征进行可视化
Caffe学习笔记4图像特征进行可视化 本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权 欢迎关注我的博客:http://blog.csdn.net/hit201 ...
- opencv2 矩阵方式 resize图像缩放代码(转载)
http://blog.sina.com.cn/s/blog_74a459380101r0yx.html opencv2 矩阵方式 resize图像缩放代码(转载) (2014-05-16 09:55 ...
- OPENCV图像特征点检测与FAST检测算法
前面描述角点检测的时候说到,角点其实也是一种图像特征点,对于一张图像来说,特征点分为三种形式包括边缘,焦点和斑点,在OPENCV中,加上角点检测,总共提供了以下的图像特征点检测方法 FAST SURF ...
- 肺结节CT影像特征提取(一)——肺结节CT图像特征概要
本科毕设做的是医学CT图像特征提取方法研究,主要是肺部CT图像的特征提取.由于医学图像基本为灰度图像,因此我将特征主要分为三类:纹理特征,形态特征以及代数特征,每种特征都有对应的算法进行特征提取. 如 ...
- VGG16提取图像特征 (torch7)
VGG16提取图像特征 (torch7) VGG16 loadcaffe torch7 下载pretrained model,保存到当前目录下 th> caffemodel_url = 'htt ...
- 【遥感专题系列】微波遥感(三、SAR图像特征)
SAR是主动式侧视雷达系统,且成像几何属于斜距投影类型.因此SAR图像与光学图像在成像机理.几何特征.辐射特征等方面都有较大的区别.在进行SAR图像处理和应用前,需要了解SAR图像的基本特征. 本文主 ...
随机推荐
- Django分析之三级下拉菜单选择省/市/县
今天遇到了一个一直想做却没有机会去做的功能,今天完成了便记录下来. 那这次是具体是个什么功能呢?其实还是很简单的效果,就是在用户注册的时候可以选择省/市/县,很简单的一个小功能. 那现在就开始了~首先 ...
- 阿里云SLB双机IIS多站点负载均衡部署笔记
首先SLB是通过局域网与ECS链接 ECS1服务器 test文件夹增加index.html test1文件夹增加index.html 设置ECS1服务器(130)IIS test站点 设置test主机 ...
- 2016huasacm暑假集训训练四 数论_B
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/G 题意:求有多少x(1<=x<=n),使得gcd(x,n)>=m ...
- 保护眼睛(ubuntu 和 chrome)
chrome 安插件https://chrome.google.com/webstore/detail/%E4%BF%9D%E6%8A%A4%E7%9C%BC%E7%9D%9B/fgadnbmmoln ...
- 谢欣伦 - OpenDev原创教程 - 客户端套接字类CxClientSocket
这是一个精练的客户端套接字类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxClientSocket的使用如下(以某个叫做CSo ...
- win7下装完ubuntu linux后,开机画面怎直接进入linux了,win7怎么启动
修复 Windows 7 启动项重新启动ubuntu之后,结果发现选择windows 7的启动项,又进入到Ubuntu的安装界面.下面来说明如何修复,进人Ubuntu系统,打开“应用程序---附件-- ...
- php ajax请求和返回
define('NOW_TIME', $_SERVER['REQUEST_TIME']); define('REQUEST_METHOD',$_SERVER['REQUEST_METHOD']); d ...
- Xamarin.Android Binding
0.要绑定的jar库,需要保证编译jar使用的jdk版本,与绑定时xamarin使用的jdk版本一致. 查看编译jar的jdk版本的方法:jar解压后,a.看MANIFEST.MF b. javap ...
- Android中 Bitmap和Drawable相互转换的方法
1.Drawable->Bitmap Resources res=getResources(); Bitmap bmp=BitmapFactory.decodeResource(res, R.d ...
- [dpdk] 熟悉SDK与初步使用 (三)(IP Fragmentation源码分析)
对例子IP Fragmentation的熟悉,使用,以及源码分析. 功能: 该例子的功能有二: 一: 将IP分片? 二: 根据路由表,做包转发. 路由表如下: IP_FRAG: Socket : ad ...