• 大小: 1.53MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-20
  • 语言: Matlab
  • 标签: matlab  DoG  dog  

资源简介

matlab实现的高斯差分滤波,DoG滤波

资源截图

代码片段和文件信息

function [mask]=DoG_test(stringratiosigman)
%参数设置 string 读入图像的名字,例如 ‘LENA.jpg’ ratio sigma1 和sigma2
%的比例,sigma高斯方差,n手动设置模板大小
Img=imread(string);

Mysize=size(Img);
if numel(Mysize)>2
    Img=rgb2gray(Img);
end
%确定摸版大小
%如果参数为三个自动设置模板大小为 3*sigma,否则根据n来设置模板大小
if(nargin==3)
    Xmax=ceil(max(3*ratio*sigma1));
    Xmin=-Xmax;Ymax = Xmax;Ymin = -Xmax;
else
    Xmin=-n;Xmax=n;Ymin=-n;Ymax=n;
end 
[xy] = meshgrid(Xmin:XmaxYmin:Ymax);

%mask
% mask=1/(2*pi)^0.5 * ( 1/(sigma) * exp( -(x.^2+y.^2)/(2*(sigma)^2))  - 1/(ratio*sigma) * exp( -(x.^2+y.^2)/(2*(ratio*sigma)^2))  );
mask=1/(2*pi)^0.5 * ( 1/(ratio*sigma) * exp( -(x.^2+y.^2)/(2*(ratio*sigma)^2))  - 1/(sigma) * exp( -(x.^2+y.^2)/(2*(sigma)^2))  );
ImgMask=imfilter(Imgmask ‘replicate‘);
ImgD=ImgMask-Img;
figureimshow(Img)title(‘orignal‘);
figureimshow(ImgMask)title(‘ImgMask‘);
figureimshow(ImgD)title(‘ImgD‘);
end



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     527334  2016-06-24 17:40  DOG_filter\bingnv.jpg

     文件        983  2016-07-05 11:02  DOG_filter\DoG_test.m

     文件     261040  2016-06-24 17:37  DOG_filter\dota2.jpg

     文件     389224  2016-06-24 17:37  DOG_filter\ES.jpg

     文件     279548  2016-07-05 10:15  DOG_filter\hunan.jpg

     文件     129837  2016-06-24 17:38  DOG_filter\jugg.jpg

     文件      17718  2016-06-24 17:19  DOG_filter\LENA.jpg

     文件      47977  2016-07-05 10:15  DOG_filter\zhalan.jpg

     目录          0  2016-07-05 11:04  DOG_filter

----------- ---------  ---------- -----  ----

              1653661                    9


评论

共有 条评论