(1).CalTexture.m文件

function T = CalTexture(Image)
[M,N,O] = size(Image);%% 得到图像的宽,高和通道
%--------------------------------------------------------------------------
%1.原始图像灰度化
%--------------------------------------------------------------------------
if O==3Gray = double(0.3*Image(:,:,1)+0.59*Image(:,:,2)+0.11*Image(:,:,3));
elseif O==1Gray =Image;end;
end;
% imshow(Gray);
%--------------------------------------------------------------------------
%2.Î灰度共生矩阵分块,减少计算量
%--------------------------------------------------------------------------
Layer =8;
for i = 1:Mfor j = 1:Nfor n = 1:256/Layerif (n-1)*Layer <= Gray(i,j) && Gray(i,j)<=((n-1)*Layer +Layer-1)Gray(i,j) = n-1;endendend
end
%--------------------------------------------------------------------------
%3.计算四个方向的灰度矩阵0,45,90,135
%--------------------------------------------------------------------------
P = zeros(Layer,Layer,4);
dis = 5;
for m = 1:Layerfor n = 1:Layerfor i = 1:Mfor j = 1:Nif j<N-dis&&Gray(i,j)==m-1&&Gray(i,j+dis)==n-1P(m,n,1) = P(m,n,1)+1;%P(n,m,1) = P(m,n,1)+1;P(n,m,1) = P(n,m,1)+1;endif i<M-dis&&j<N-dis&&Gray(i,j)==m-1&&Gray(i+dis,j+dis)==n-1P(m,n,2) = P(m,n,2)+1;P(n,m,2) = P(n,m,2)+1;endif i<M-dis&&Gray(i,j)==m-1&&Gray(i+dis,j)==n-1P(m,n,3) = P(m,n,3)+1;P(n,m,3) = P(n,m,3)+1;endif i<M-dis&&j>dis&&Gray(i,j)==m-1&&Gray(i+dis,j-dis)==n-1P(m,n,4) = P(m,n,4)+1;P(n,m,4) = P(n,m,4)+1;endendendif m==nP(m,n,:) = P(m,n,:)*2;endend
end%
% for n=1:4
%     imshow(p(n));
% end%%---------------------------------------------------------
% ¶灰度矩阵归一化
%%---------------------------------------------------------
for n = 1:4P(:,:,n) = P(:,:,n)/sum(sum(P(:,:,n)));
end
%--------------------------------------------------------------------------
%4.¶计算灰度矩阵的特征
%--------------------------------------------------------------------------
H = zeros(1,4);
I = H;
Ux = H;      Uy = H;
deltaX= H;  deltaY = H;
C =H;
L =H;
for n = 1:4E(n) = sum(sum(P(:,:,n).^2)); %%计算能量for i = 1:Layerfor j = 1:Layerif P(i,j,n)~=0H(n) = -P(i,j,n)*log(P(i,j,n))+H(n); %%计算熵endI(n) = (i-j)^2*P(i,j,n)+I(n);  %%计算中心矩L(n)  = P(i,j,n)/(1+(i-j).^2)+L(n);%计算惯性Ux(n) = i*P(i,j,n)+Ux(n); %计算X均值Uy(n) = j*P(i,j,n)+Uy(n); %计算Y均值endend
end
for n = 1:4for i = 1:Layerfor j = 1:LayerdeltaX(n) = (i-Ux(n))^2*P(i,j,n)+deltaX(n); %deltaY(n) = (j-Uy(n))^2*P(i,j,n)+deltaY(n); %% C(n) = i*j*P(i,j,n)+C(n);C(n) = (i-Ux(n))*(j-Uy(n))*P(i,j,n)+C(n);%计算相关性endend%C(n) = (C(n)-Ux(n)*Uy(n))/deltaX(n)/deltaY(n); %Ïà¹ØÐÔC(n)= C(n)/deltaX(n)/deltaY(n);
end%--------------------------------------------------------------------------
T(1,1) = mean(E);   T(2,1) = sqrt(cov(E));
T(1,2) = mean(H);   T(2,2) = sqrt(cov(H));
T(1,3) = mean(I);   T(2,3) = sqrt(cov(I));
T(1,4) = mean(C);   T(2,4) = sqrt(cov(C));

//输出结果到数组,有四组结果

for n =1:4;T(3,n)=C(n);T(4,n)=E(n);T(5,n)=H(n);T(6,n)=I(n);T(7,n)=L(n);
end;

纹理特征:灰度共生矩阵相关推荐

  1. 二维特征分类的基础_纹理特征1:灰度共生矩阵(GLCM)

    GLCM复习备用: 纹理分析是对图像灰度(浓淡)空间分布模式的提取和分析.纹理分析在遥感图像.X射线照片.细胞图像判读和处理方面有广泛的应用.关于纹理,还没有一个统一的数学模型.它起源于表征纺织品表面 ...

  2. 灰度共生矩阵纹理特征提取_纹理特征提取

    纹理通常被定义为图像的某种局部特征,或是对局部区域中像素之间关系的一种度量. 纹理的标志有三要素:①某种局部的序列性,在该序列更大的区域内不断重复:②序列是由基本部分非随机排列组成的:③各部分大致都是 ...

  3. MATLAB 在图像处理和机器视觉的应用举例01 - 官网培训视频笔记(下)分类/灰度共生矩阵/纹理分类学习

    前言: 本节继续讨论Matlab的机器视觉工具集举例,这次为分类的综合实现:该例子,用到了图像处理,统计,并行计算等方法. 1 分类的难度: [计算机视觉里面,分类的精髓在选取适当的数据集和算法,这一 ...

  4. 纹理特征分析的灰度共生矩阵(GLCM)

    纹理分析是对图像灰度(浓淡)空间分布模式的提取和分析.纹理分析在遥感图像.X射线照片.细胞图像判读和处理方面有广泛的应用.关于纹理,还没有一个统一的数学模型.它起源于表征纺织品表面性质的纹理概念,可以 ...

  5. Gray-level Co-occurrence Matrix(灰度共生矩阵)

    共生矩阵用两个位置的象素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的象素之间的位置分布特性,是有关图象亮度变化的二阶统计特征.它是定义一组纹理特征的基础. 一幅图象的 ...

  6. 灰度共生矩阵原理+Matlab中实现

    共生矩阵用两个位置的象素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的象素之间的位置分布特性,是有关图象亮度变化的二阶统计特征.它是定义一组纹理特征的基础. 由于纹理是 ...

  7. 灰度共生矩阵-python

    本篇博客参考灰度共生矩阵(GLCM)附Python代码 ,对其进行了完善与修改. 非常感谢评论区 清慎Arthur.jy2lhz. 小小菜鸡升级ing 指出代码中的问题,目前已根据建议进行修改和优化. ...

  8. 灰度共生矩阵的原理及代码实现(python)

    灰度共生矩阵的原理及代码实现(python) 1原理: 灰度共生矩阵(Gray Level Co-occurrence Matrix,GLCM)统计了灰度图中像素间的灰度值分布规律以区分不同的纹理.灰 ...

  9. 灰度共生矩阵灰度梯度共生矩阵

    文章目录 1,灰度共生矩阵(Gray Level Cooccurrence Matrix) 1.0感谢 1.1初识 1.2Opencv实现 2,灰度梯度共生矩阵(Gray-Gradient Coocc ...

  10. 【图像算法】图像特征:GLCM灰度共生矩阵纹理特征

    [图像算法]图像特征:GLCM SkySeraph Aug 27th 2011  HQU Email:zgzhaobo@gmail.com    QQ:452728574 Latest Modifie ...

最新文章

  1. MyBatis基础入门《九》ResultMap自动匹配
  2. vue 后台返回的文件流进行预览_vue项目-pdf预览和下载,后台返回文件流形式
  3. java读取pi_(树莓派csi相机)使用Java从raspivid-stdout读取h...
  4. C#多线程编程系列(二)- 线程基础
  5. python字典长度可变吗_Python字典dict实现原理
  6. mysql mongodb 事务_认识MongoDB 4.0的新特性——事务(Transactions)
  7. Hive分区入门到精通
  8. mvc:annotation-driven /注解意义
  9. 计算机在材料研究的应用,计算机在材料工程中的应用
  10. 做自媒体赚钱,分享一个完整的影视剪辑的基本流程
  11. Win10(winser2019)关闭驱动数字签名方法
  12. Gephi简单导入数据
  13. 金融市场一周简报(2017-08-18)
  14. 女神青涩时纤毫毕现,腾讯 AI 模型 GFPGAN 火上 GitHub 热榜第一,Demo 在线可玩
  15. 对于自学Java的人来说,如何系统的,全方面的学习Java?
  16. LeetCode之玩筹码
  17. J9数字论:什么是 DAO?DAO 的起源是什么
  18. 中国网游公司上市突击大事记
  19. Mac启动磁盘已满怎么办?Mac启动磁盘已满怎么清理?
  20. python爬虫高级教程,JS逆向之百度翻译

热门文章

  1. 获取控制器 nextResponder的简单应用
  2. Python第二十天 shutil 模块 zipfile tarfile 模块
  3. C# WinForm开发系列 - ToolBar/OutlookBar/Tab/Wizard(转载)
  4. 工行居逸贷,信贷员说3年利率11.38%!!!
  5. C语言之折半查找(二分查找)
  6. POJ 3104 Drying [二分 有坑点 好题]
  7. Js 正则获取Html元素
  8. SAS数据挖掘方法论 ─ SEMMA
  9. Python module模块 包 __name__
  10. CLOUD配置审批流发消息