今天学到一个高招

本文详细介绍了如何使用MATLAB通过穷举法计算给定LoG(Laplacian of Gaussian)SIGMA值对应的最佳DoG(Difference of Gaussian)SIGMA值,以寻找最接近的滤波器内核。
摘要由CSDN通过智能技术生成
给出一个LoG的SIGMA值,怎么求相应的DoG的两个SIGMA?到GOOGLE上把两个FILTER的计算公式找到,然后解一下...你会崩溃的!

下面是我们用的MATLAB程序,计算SIGMA从0.1到2.5步长为0.1的LoG对应的DoG:

tab = [];

for sigma = 0.1:0.1:2.5; 
Hlog = fspecial('log', [15 15], sigma);
bestSigma1 = -1;
bestSigma2 = -1;
bestResult = 100000000;
for sigma1 = 0.01:0.001:4*sigma
    for sigma2 = sigma1:0.001:4*sigma
        g1 = fspecial('gaussian', [15 15], sigma1 );
        g2 = fspecial('gaussian', [15 15], sigma2 );
        g = g2 - g1;
        d = sum(sum(abs(Hlog-g)));
        if( d < bestResult )
            bestResult = d;
            bestSigma1 = sigma1;
            bestSigma2 = sigma2;
            bestFilter = g;
        end
    end
end
tab = [tab; sigma bestSigma1 bestSigma2]
end

看懂了吧,就是用穷举法列出一大堆的DoG filter kernel, 然后从中选一个最接近那个LoG filter kernel的.

图龙说的好:
------ that's why we need Matlab!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值