平均灰度、平均对比度、平滑度、三阶矩、一致性、熵

转载自博主 夕阳行
网址为:https://www.cnblogs.com/xixixing/p/5854860.html
下面是原文
非自带函数

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,右偏斜为正,左偏斜为负

一致性——度量一致性

熵——反映像素的随机性,越大越粗糙
PS:我之前在使用这个特征进行分类时,效果总是很差,最近试了一下多尺度之后,效果差不多在84%,比起一开始的40%好了不少,其实就是划分子块,对每个子块进行特征提取,然后多个子块再串联在一起,一种子块的大小是一个尺度,多个尺度一起提取之后再串联,再pca降维一下作为最后的特征,我发现pca降维是门玄学,有的时候效果变好,有的时候效果变差,时间也没啥很大的改变。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值