Matlab选择满足信噪比限制的小目标图片

信噪比计算公式

在探测小目标信噪比计算中,最常用的公式为:
S N R = ( g T − g B ) σ B SNR =\frac{ ( g_T-g_B)}{ \sigma_B} SNR=σB(gTgB)
在背景图片已经确定的情况下,信噪比只涉及目标的均值取值.
若: m ≤ S N R ≤ M m\leq SNR \leq M mSNRM
则: g B + σ B m ≤ g T ≤ g B + σ B M g_B + \sigma_B m \leq g_T\leq g_B +\sigma_B M gB+σBmgTgB+σBM

Matlab代码

D = imread('...');
%背景的均值
gB = mean(mean(D));
%求矩阵中所有元素的标准差
sigmaB = std2(D);
%SNR_ = (gB - gT)/sigmaB;
path = 'Targets\2\';
files = dir([path,'*.bmp'])%找格式为bmp的文件

%根据设定的信噪比阈值确定目标灰度均值的上下限
c1 = gB-std2(D)*M;
c2 = gB-std2(D)*m;

%初始化目标均值及满足条件的k
gT = [];
k = [];

%files为结构体变量,files(i).name为第i个对象的名称
num = size(files,1);

%记录满足信噪比条件的小目标在files中的位置;gT为所有小目标的均值
for i = 1:num
    T = imread([path,'\',files(i).name]);
    gt = mean(mean(T));
    if (gt>c1)&&(gt<c2)
        %记录满足条件的图片名称
        k = [k,i];
    end
    gT = [gT,gt];
end

得到的k中包含每个满足条件的T在files中的位置,可以通过files(k(i)).name获得满足条件目标图片的名称,并添加到背景图像中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值