首页 > 其他 > 详细

DOG算子

时间:2014-03-26 12:00:09      阅读:321      评论:0      收藏:0      [点我收藏+]

DOG算子是一种边缘检测算子,用于Sift,Canny等算法中。

matlab实现:

bubuko.com,布布扣
function [output] = DOG(source,sigma1,sigma2,width)
% sigma1,sigma2: Parameter of Gaussian Distribution
% width: Width of Gaussian Window
output = uint8(GaussianFilter(source,sigma1,width)-GaussianFilter(source,sigma2,width));
end
bubuko.com,布布扣
bubuko.com,布布扣
function [output] = GaussianFilter(source,sigma,width)
    filter = zeros(width,width);
    for i = -1*floor(width/2):floor(width/2)
        for j=-1*floor(width/2):floor(width/2)
            filter(i+1+floor(width/2),j+1+floor(width/2))=exp(-(i^2+j^2)/(2*sigma^2));
        end
    end
    filter = filter/sum(sum(filter));
    output = conv2(source,filter);
    output = uint8(output);
end
bubuko.com,布布扣

DOG算子,布布扣,bubuko.com

DOG算子

原文:http://www.cnblogs.com/Student-W/p/3620688.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!