【问题标题】:calculation error in histogram features直方图特征中的计算错误
【发布时间】:2014-11-21 01:03:31
【问题描述】:

我只得到了 251 个块的峰度值,因为我将图像分成块我没有得到什么是错误的,实际上它应该显示 252 个块请查看代码提前谢谢

clear all;
close all;

x =  imread('image009.png');
rgb = imresize(x,0.5);
green  = rgb(:,:,2);
[m,n]=size(green);
imnum=input('enter image number');
g=1;
q=1;
scaler=36;
scalec=37.5;
bno=1;
g=1;

for i=1:scaler:(m-scaler)
    if((i==1)||(i==(m-scaler))
        continue;    
    end

    for j=1:scalec:(n-scalec)

        if((j==1)||(j==(n-scalec)))
            continue;
        end
        tbpcolr = imcrop(green,[j,i,scalec,scaler])
        ip=input('press some key');
        mgreen = mean2(tbpcolr);
        stats = hisfeatures(tbpcolr);
        Mean(1,g) = stats(1)
        Variance(1,g) =stats(2)
        Skewness(1,g) =stats(3)
        Kurtosis(1,g)=stats(4)
        Energy(1,g) =stats(5)
        Entropy(1,g) =stats(6)
        Kurtosis = Kurtosis(~isnan(Kurtosis))
        Entropy = Entropy(~isnan( Entropy))
        Skewness = Skewness(~isnan(  Skewness))
        g=g+1;
        bno=bno+1; 
    end
end

blockno = [];
for  i = 1:252
    blockno(i)=i;
end

for  i = 1:252
    result_his=vertcat(Energy,Mean,Variance,Kurtosis,Skewness,Entropy,blockno); 
end

result_his=result_his.'

【问题讨论】:

  • 作为拥有自己的数据/图像和所有原始代码的人,您是最适合调试的人。请参阅:uk.mathworks.com/help/matlab/debugging-code.html

标签: matlab image-processing histogram


【解决方案1】:

使用 NaN 删除单元格会破坏矩阵结构。删除包含 NaN 的整行将丢弃真实数据。相反,Statistics Toolbox 具有多种与其他 MATLAB 函数类似的函数,但它们将 NaN 值视为缺失,因此在计算中忽略它们。

【讨论】:

    猜你喜欢
    • 2018-08-04
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    相关资源
    最近更新 更多