资源简介
包括计算共生矩阵、对共生矩阵归一化、对共生矩阵计算能量、熵、惯性矩、相关4个纹理参数、求能量、熵、惯性矩、相关的均值和标准差作为最终8维纹理特征
代码片段和文件信息
%**************************************************************************
% 图像检索——纹理特征
%基于共生矩阵纹理特征提取,d=1θ=0°45°90°135°共四个矩阵
%所用图像灰度级均为256
%参考《基于颜色空间和纹理特征的图像检索》
%function : T=Texture(Image)
%Image : 输入图像数据
%T : 返回八维纹理特征行向量
%**************************************************************************
function T = Texture(Image)
% Image = imread(‘E:\1\3.tiff‘);
% [MNO] = size(Image);
M = 256;
N = 256;
%--------------------------------------------------------------------------
%1.将各颜色分量转化为灰度
%--------------------------------------------------------------------------
Gray = double(0.3*Image(::1)+0.59*Image(::2)+0.11*Image(::3));
%--------------------------------------------------------------------------
%2.为了减少计算量,对原始图像灰度级压缩,将Gray量化成16级
%--------------------------------------------------------------------------
for i = 1:M
for j = 1:N
for n = 1:256/16
if (n-1)*16<=Gray(ij)&Gray(ij)<=(n-1)*16+15
Gray(ij) = n-1;
end
end
end
end
%--------------------------------------------------------------------------
%3.计算四个共生矩阵P取距离为1,角度分别为04590135
%--------------------------------------------------------------------------
P = zeros(16164);
for m = 1:16
for n = 1:16
for i = 1:M
for j = 1:N
if j P(mn1) = P(mn1)+1;
P(nm1) = P(mn1);
end
if i>1&j P(mn2) = P(mn2)+1;
P(nm2) = P(mn2);
end
if i P(mn3) = P(mn3)+1;
P(nm3) = P(mn3);
end
if i P(mn4) = P(mn4)+1;
P(nm4) = P(mn4);
end
end
end
if m==n
P(mn:) = P(mn:)*2;
end
end
end
%%---------------------------------------------------------
% 对共生矩阵归一化
%%---------------------------------------------------------
for n = 1:4
P(::n) = P(::n)/sum(sum(P(::n)));
end
%--------------------------------------------------------------------------
%4.对共生矩阵计算能量、熵、惯性矩、相关4个纹理参数
%--------------------------------------------------------------------------
H = zeros(14);
I = H;
Ux = H; Uy = H;
deltaX= H; deltaY = H;
C =H;
for n = 1:4
E(n) = sum(sum(P(::n).^2)); %%能量
for i = 1:16
for j = 1:16
if P(ijn)~=0
H(n) = -P(ijn)*log(P(ijn))+H(n); %%熵
end
I(n) = (i-j)^2*P(ijn)+I(n); %%惯性矩
Ux(n) = i*P(ijn)+Ux(n); %相关性中μx
Uy(n) = j*P(ijn)+Uy(n); %相关性中μy
end
end
end
for n = 1:4
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3879 2008-01-17 11:39 纹理特征的提取\Texture.m
目录 0 2010-04-22 09:47 纹理特征的提取
----------- --------- ---------- ----- ----
4097 3
相关资源
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
- k近邻算法matlab实现
- matlab识别系统
- 神经网络分类matlab程序
- matlab正弦信号发生器的设计
- matlab程序用Hopfield网络解决TSP
评论
共有 条评论