纹理特征提取

本文介绍了图像纹理特征提取的重要性和两种主要方法,重点讲解了LBP(局部二值模式)方法的工作原理和步骤,包括细胞划分、邻域比较、直方图计算与归一化,以及如何用于纹理分类。LBP方法在交通图像纹理识别中有出色表现,且与HOG特征结合能提升检测效果。

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

一幅图像的纹理是在图像计算中经过量化的图像特征。图像纹理描述图像或其中小块区域的空间颜色分布和光强分布。

纹理特征的提取分为基于结构的方法和基于统计数据的方法。一个基于结构的纹理特征提取方法是将所要检测的纹理进行建模,在图像中搜索重复的模式。该方法对人工合成的纹理识别效果较好。但对于交通图像中的纹理识别,基于统计数据的方法效果更好。

1.1.1   LBP纹理特征

LBP方法(Local binary patterns)是一个计算机视觉中用于图像特征分类的一个方法。LBP方法在1994年首先由T. Ojala, M.Pietikäinen, 和 D. Harwood 提出[43][44],用于纹理特征提取。后来LBP方法与HOG特征分类器联合使用,改善了一些数据集[45]上的检测效果。

对LBP特征向量进行提取的步骤如下:

首先将检测窗口划分为16×16的小区域(cell),对于每个cell中的一个像素,将其环形邻域内的8个点(也可以是环形邻域多个点,如图 3‑4. 应用LBP算法的三个邻域示例所示)进行顺时针或逆时针的比较,如果中心像素值比该邻点大,则将邻点赋值为1,否则赋值为0,这样每个点都会获得一个8位二进制数(通常转换为十进制数)。然后计算每个cell的直方图,即每个数字(假定是

图像处理中,纹理特征提取 部分代码如下 // 计算纹理特征 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); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值