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

参考文献:
https://blog.csdn.net/qq_36654309/article/details/106527876?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242
https://blog.csdn.net/ajianyingxiaoqinghan/article/details/71552744
https://baike.baidu.com/item/%E7%81%B0%E5%BA%A6%E5%85%B1%E7%94%9F%E7%9F%A9%E9%98%B5/1498946?fr=aladdin
https://github.com/LinghuiXia/GLCM

概念

在遥感图像的研究中,我们经常需要对图像的内容进行特征提取,以进行下一步的物体识别等工作。图像的纹理特征就是一种常用的图像特征,而灰度共生矩阵就是用来对图像做纹理特征提取的一种统计分析方法。

灰度共生矩阵是20世纪70年代初由R.Haralick等人提出的,它是在假定图像中各像素间的空间分布关系包含了图像纹理信息的前提下,提出的具有广泛性的纹理分析方法。

灰度共生矩阵法(GLCM, Gray-level co-occurrence matrix),就是通过计算灰度图像得到它的共生矩阵,然后再计算所得到的共生矩阵的部分特征值,来分别代表图像的某些纹理特征。灰度共生矩阵能反映图像灰度关于方向、相邻间隔、变化幅度等综合信息,它是分析图像的局部模式和它们排列规则的基础。

摘自百度百科:
取图像(N×N)中任意一点 (x,y)及偏离它的另一点 (x+a,y+b),设该点对的灰度值为 (g1,g2)。令点(x,y) 在整个画面上移动,则会得到各种 (g1,g2)值,设灰度值的级数为 k,则(g1,g2) 的组合共有 k 的平方种。对于整个画面,统计出每一种 (g1,g2)值出现的次数,然后排列成一个方阵,再用(g

  • 7
    点赞
  • 109
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
图像处理中,纹理特征提取 部分代码如下 // 计算纹理特征 void CTextureDlg::OnBtnComputeTexture() { double dEnergy = 0.0; double dEntropy = 0.0; double dInertiaQuadrature = 0.0; double dLocalCalm = 0.0; double dCorrelation = 0.0; double dEnergy1 = 0.0; double dEntropy1 = 0.0; double dInertiaQuadrature1= 0.0; double dLocalCalm1 = 0.0; double dCorrelation1 = 0.0; unsigned char** arLocalImage; arLocalImage = cmatrix(0, m_grayShow.FilterWindowWidth-1, 0, m_grayShow.FilterWindowWidth-1); int rolltimeH = m_grayShow.ImageHeight/m_grayShow.FilterWindowWidth; int rolltimeW = m_grayShow.ImageWidth /m_grayShow.FilterWindowWidth; int i,j; int p,q; //将图像分成若干个窗口,计算其纹理均值 for(i=0; i< rolltimeH; i++) { for(j=0; j<rolltimeW; j++) { //首先赋值给子窗口 for(p=0; p<m_grayShow.FilterWindowWidth; p++) { for(q=0; q<m_grayShow.FilterWindowWidth; q++) { arLocalImage[p][q] = m_grayShow.ImageArray[i*m_grayShow.FilterWindowWidth+p][j*m_grayShow.FilterWindowWidth+q]; } } m_grayShow.ComputeMatrix(arLocalImage, m_grayShow.FilterWindowWidth); m_grayShow.ComputeFeature(dEnergy1, dEntropy1, dInertiaQuadrature1, dCorrelation1, dLocalCalm1, m_grayShow.PMatrixH, m_grayShow.GrayLayerNum); dEnergy += dEnergy1; dEntropy += dEntropy1; dInertiaQuadrature += dInertiaQuadrature1; dCorrelation += dCorrelation1; dLocalCalm += dLocalCalm1; } } dEnergy /= (rolltimeH*rolltimeW); dEntropy /= (rolltimeH*rolltimeW); dInertiaQuadrature /= (rolltimeH*rolltimeW); dCorrelation /= (rolltimeH*rolltimeW); dLocalCalm /= (rolltimeH*rolltimeW); m_dEnergy = dEnergy; m_dEntropy = dEntropy; m_dInertiaQuadrature = dInertiaQuadrature; m_dCorrelation = dCorrelation; m_dLocalCalm = dLocalCalm; UpdateData(false); }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值