资源简介
经检验,方便可用,输入为一幅灰度图像,彩色图像可采用rgb2gray转换,输出为图像的15个特征,可广泛应用于图像特征提取,图像检索及图像质量评价领域!
代码片段和文件信息
function Texture = Tamuratexture(gray)
%计算Tamura纹理特征
% t0=cputime;
% I = rgb2gray(rgb);
I = gray;
[NxNy] = size(I);
Ng=256;
G=double(I);
%计算粗糙度(coarseness)
Sbest=zeros(NxNy);
E0h=zeros(NxNy);
E0v=zeros(NxNy);
E1h=zeros(NxNy);
E1v=zeros(NxNy);
E2h=zeros(NxNy);
E2v=zeros(NxNy);
E3h=zeros(NxNy);
E3v=zeros(NxNy);
E4h=zeros(NxNy);
E4v=zeros(NxNy);
E5h=zeros(NxNy);
E5v=zeros(NxNy);
flag=0;
for i=1:Nx
for j=2:Ny
E0h(ij)=G(ij)-G(ij-1);
end
end
E0h=E0h/2;
for i=1:Nx-1
for j=1:Ny
E0v(ij)=G(ij)-G(i+1j);
end
end
E0v=E0v/2;
%图片大小必须大于4*4才能计算E1h、E1v
if (Nx<4||Ny<4)
flag=1;
end
if(flag==0)
for i=1:Nx-1
for j=3:Ny-1
E1h(ij)=sum(sum(G(i:i+1j:j+1)))-sum(sum(G(i:i+1j-2:j-1)));
end
end
for i=2:Nx-2
for j=2:Ny
E1v(ij)=sum(sum(G(i-1:ij-1:j)))-sum(sum(G(i+1:i+2j-1:j)));
end
end
E1h=E1h/4;
E1v=E1v/4;
end
%图片大小必须大于8*8才能计算E2h、E2v
if (Nx<8||Ny<8)
flag=1;
end
if(flag==0)
for i=2:Nx-2
for j=5:Ny-3
E2h(ij)=sum(sum(G(i-1:i+2j:j+3)))-sum(sum(G(i-1:i+2j-4:j-1)));
end
end
for i=4:Nx-4
for j=3:Ny-1
E2v(ij)=sum(sum(G(i-3:ij-2:j+1)))-sum(sum(G(i+1:i+4j-2:j+1)));
end
end
E2h=E2h/16;
E2v=E2v/16;
end
%图片大小必须大于16*16才能计算E3h、E3v
if (Nx<16||Ny<16)
flag=1
end
if(flag==0)
for i=4:Nx-4
for j=9:Ny-7
E3h(ij)=sum(sum(G(i-3:i+4j:j+7)))-sum(sum(G(i-3:i+4j-8:j-1)));
end
end
for i=8:Nx-8
for j=5:Ny-3
E3v(ij)=sum(sum(G(i-7:ij-4:j+3)))-sum(sum(G(i+1:i+8j-4:j+3)));
end
end
E3h=E3h/64;
E3v=E3v/64;
end
%图片大小必须大于32*32才能计算E4h、E4v
if (Nx<32||Ny<32)
flag=1;
end
if(flag==0)
for i=8:Nx-8
for j=17:Ny-15
E4h(ij)=sum(sum(G(i-7:i+8j:j+15)))-sum(sum(G(i-7:i+8j-16:j-1)));
end
end
for i=16:Nx-16
for j=9:Ny-7
E4v(ij)=sum(sum(G(i-15:ij-8:j+7)))-sum(sum(G(i+1:i+16j-8:j+7)));
end
end
E4h=E4h/256;
E4v=E4v/256;
end
%图片大小必须大于64*64才能计算E5h、E5v
if (Nx<64||Ny<64)
flag=1;
end
if(flag==0)
for i=16:Nx-16
for j=33:Ny-31
E5h(ij)=sum(sum(G(i-15:i+16j:j+31)))-sum(sum(G(i-15:i+16j-32:j-31)));
end
end
for i=32:Nx-32
- 上一篇:matlab图像形状识别
- 下一篇:matlab实现矩阵归一化源代码
相关资源
- matlab图像形状识别
- PCA和IHS图像融合
- 图像稀疏表示matlab193095
- 自编Matlab函数实现图像缩放
- CV模型matlab
- 单通道图像转化为三通道,并与彩色
- 在matlab中读取遥感图像BSQ数据代码
- 基于matlab的图像拼接
- 集装箱号识别中图像及字符的处理分
- 灰度共生矩阵提取结肠癌图像特征,
- 基于视频图像的车辆检测与跟踪
- 基于nsct+pcnn的图像融合
- MATLAB处理向前映射和向后映射
- matlab的CT图像重建代码
- 三种图像增强算法的matlab源代码
- Matlab将二维图像三维重构
- 小波包信号能量特征提取
- 基于混沌算法的图像加密解密
- 基于DCT变换的图像压缩算法
- 图像文件格式转换
- 用MATLAB实现GAC模型
- 多尺度retinex算法,图像增强
- matlab代码实现图像亮度增强
- 图像压缩试验matlab
- gabor特征提取matlab实现
- 模糊集图像增强matlab实现
- matlab实现图像亮度变换的源代码
- 求图像二维灰度直方图的matlab程序
- 直接反投影法重建CT图像
- matlab模糊聚类算法进行图像分割的源
评论
共有 条评论