非自帶函數
function t=statxture(f,scale)
%f是uint8類型二維矩陣
%scale是矩陣元素縮放倍數,默認1
%t有6個元素:平均灰度、平均對比度、平滑度、三階矩、一致性、熵
if nargin==1
scale(1:6)=1;
else
scale=scale(:)';
end
p=imhist(f);
p=p./numel(f);
L=length(p);
[v,mu]=statmoments(p,3);
t(1)=mu(1);
t(2)=mu(2).^0.5;
varn=mu(2)/(L-1)^2;
t(3)=1-1/(1+varn);
t(4)=mu(3)/(L-1)^2;
t(5)=sum(p.^2);
t(6)=-sum(p.*(log2(p+eps)));
t=t.*scale;
function [v,unv]=statmoments(p,n)
Lp=length(p);
if(Lp~=256)&&(Lp~=65536)
error('P must be a 256- or 65536-element vector.');
end
G=Lp-1;
p=p/sum(p);p=p(:);
z=0:G;
z=z./G;
m=z*p;
z=z-m;
v=zeros(1,n);
v(1)=m;
for j=2:n
v(j)=(z.^j)*p;
end
if nargout>1
unv=zeros(1,n);
unv(1)=m.*G;
for j=2:n
unv(j)=((z*G).^j)*p;
end
end
平均灰度——反映整體的亮、暗,越高越亮
平均對比度——一幅圖亮暗的差異
平滑度——一幅圖灰度的均勻性,0-1:平滑-不平滑
三階矩——直方圖偏斜度的度量。對稱為0,右偏斜為正,左偏斜為負
一致性——度量一致性
熵——反映像素的隨機性,越大越粗糙
