如何计算 beta 指标?

信息处理 图像处理 matlab
2022-02-17 22:27:56

我正在研究减少超声图像中的斑点。我阅读了一篇论文(该论文的快照包含在下面),其中他们使用了一个称为 beta 度量的度量,它指示了过滤器的边缘保留能力。我尝试使用下面快照中提供的等式 (7) 来实现它。

测试指标

这是代码。

 %---Beta Calculation
    h = fspecial('laplacian');
    I1 = imfilter(Orig_Image,h);
    I2 = imfilter(Esti_Image,h);
    I_1 = mean2(I1);
    I_2 = mean2(I2);
    metrics.Beta = sum(sum((I1 - I_1).*(I2 - I_2)))./(sqrt(sum(((I1 - I_1).^2).*((I2 - I_2).^2))));

如您所见,beta 值是快照内表 2 中的单个值 [1x1] 向量。但是当我运行我的代码时,我得到一个大小为 1x256 的 256x256 图像的 beta 值。我的代码错了吗?如何在MATLAB中正确实现给定的方程(7)?请帮忙。

1个回答

正确的代码是

metrics.Beta = sum(sum((I1 - I_1).*(I2 - I_2)))./(sqrt(sum(sum((I1 - I_1).^2))).*(sum(sum((I2 - I_2).^2))));

您显示的参考文献不正确,参考论文:

2013 年 8 月 Gregorio - “用于减少超声图像散斑的合适阈值”,IEEE 仪器和测量交易