资源简介

利用DOG算子实现角点检测,matlab源码,注释详实,有参考的算法讲解网站链接。如果有问题可以在评论区讨论留言,我会尽力解答。

资源截图

代码片段和文件信息

% DOG 检测焦点的算法
% 令狐雄坤
% DOG算子特征提取算法讲解参考网站1:http://www.it610.com/article/4975225.htm
% 代码修改参考网站2:              https://blog.csdn.net/songzitea/article/details/8831909
    clc
    close all
    clear all
    src_old = imread(‘C:\Users\linghuxiongkun\p\flower.jpg‘);
    src = rgb2gray(src_old);
    src = double(src); 
    h1 = fspecial(‘gaussian‘ 5 0.5);  %利用自带的函数设计高斯滤波器
    h2 = fspecial(‘gaussian‘ 5 0.6);
    h3 = fspecial(‘gaussian‘ 5 0.7);
    h4 = fspecial(‘gaussian‘ 5 0.8);

    src1 = imfilter(src h1);  %高斯模板对原图像进行滤波
    src2 = imfilter(src h2);
    src3 = imfilter(src h3);
    src4 = imfilter(src h4);

    % 角点检测算法
    src12 = src1 - src2;
    src23 = src3 - src2;
    src34 = src4 - src3;

    src_DoG(::1) = src12;
    src_DoG(::2) = src23;
    src_DoG(::3) = src34;

    figureimshow(src12);
    title(‘src12‘);
    figureimshow(src23);
    title(‘src23‘);
    figureimshow(src34);
    title(‘src34‘);
    
    result = zeros(size(src_DoG 1) size(src_DoG 2));

    level = 5;
    around = zeros(19);
    for i = 2:size(src_DoG 1)-1
        for j = 2:size(src_DoG 2)-1  %遍历查找目标点相邻26个点的高斯差值,
                                      %判断目标点的高斯差值是否为相邻26个点总的最大值最小值
            near_i

评论

共有 条评论