close all;
clear all;
I=imread('corner2.gif');
[posX,posY]=susan(I,);
figure;
imshow(I);hold on;
plot(posX,posY,'g*');
function [posX,posY]=susan(I,radius)
%SUSAN角点检测
%I:输入图像
%radius:圆形模板的半径
%(posX,posY):角点坐标
[r,c]=size(I);
mask=generatemask(radius);
th1=;%阈值越小,提取的角点越多
th2=sum(mask(:))/;%阈值越大,提取的角点越多
R=zeros(r,c);%角点响应值
res=zeros(r,c);%是否是角点
for i=radius+:r-radius
for j=radius+:c-radius
B=I(i-radius:i+radius,j-radius:j+radius);
usan=(abs(B-I(i,j))<th1).*mask;%USAN区域
N=sum(usan(:));
if(N<th2)
R(i,j)=th2-N;
end
end
end %非极大值抑制
tr=radius+;
for i=tr+:r-tr
for j=tr+:c-tr
tmp=R(i-tr:i+tr,j-tr:j+tr);
tmp(tr+,tr+)=;
if(R(i,j)>max(tmp(:)))
res(i,j)=;
end
end
end
[posY,posX]=find(res); function mask=generatemask(radius)
%生成半径为radius的掩模
mask=zeros(*radius+,*radius+);
[row,col]=size(mask);
cenr=(row+)/;
cenc=(col+)/;
for i=:row
for j=:col
if((i-cenr)^+(j-cenc)^<=radius^)
mask(i,j)=;
end
end
end

结果:

SUSAN角点检测的更多相关文章

  1. opencv-角点检测之Harris角点检测

    转自:https://blog.csdn.net/poem_qianmo/article/details/29356187 先看看程序运行截图:   一.引言:关于兴趣点(interest point ...

  2. OpenCV计算机视觉学习(13)——图像特征点检测(Harris角点检测,sift算法)

    如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice 前言 ...

  3. opencv笔记6:角点检测

    time:2015年10月09日 星期五 23时11分58秒 # opencv笔记6:角点检测 update:从角点检测,学习图像的特征,这是后续图像跟踪.图像匹配的基础. 角点检测是什么鬼?前面一篇 ...

  4. Harris角点及Shi-Tomasi角点检测(转)

    一.角点定义 有定义角点的几段话: 1.角点检测(Corner Detection)是计算机视觉系统中用来获得图像特征的一种方法,广泛应用于运动检测.图像匹配.视频跟踪.三维建模和目标识别等领域中.也 ...

  5. OpenCV3入门(十二)角点检测

    1.角点介绍 角点检测(Corner Detection)是计算机视觉系统中用来获得图像特征的一种方法,广泛应用于运动检测.图像匹配.视频跟踪.三维建模和目标识别等领域中,也称为特征点检测.在图像中角 ...

  6. harris角点检测的学习

    Harris通过运用微分运算和自相关矩阵改进了Moravec角点检测算法.用微分算子重新定义灰度强度变化的公式,其灰度强度变化表示为: 式中的wu,v为高斯窗口在(u,v)处的系数.X,Y它们是像素点 ...

  7. Harris角点检测算法优化

    Harris角点检测算法优化 一.综述 用 Harris 算法进行检测,有三点不足:(1 )该算法不具有尺度不变性:(2 )该算法提取的角点是像素级的:(3 )该算法检测时间不是很令人满意. 基于以上 ...

  8. Shi-Tomasi角点检测

    代码示例: #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #inc ...

  9. Harris角点检测

    代码示例一: #include<opencv2/opencv.hpp> using namespace cv; int main(){ Mat src = imread(); imshow ...

随机推荐

  1. java上下文Context类

    Context在Java中的出现是如此频繁,但其中文翻译"上下文"又是如此诡异拗口,因此导致很多人不是很了解Context的具体含义是指什么,所以很有必要来深究一下这词的含义. 先 ...

  2. HDOJ 5045 Contest

    状压DP.. . . Contest Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Other ...

  3. Linux时间子系统之四:定时器的引擎:clock_event_device【转】

    本文转载自:http://blog.csdn.net/droidphone/article/details/8017604 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+] ...

  4. nodejs api 中文文档

    文档首页 英文版文档 本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可. Node.js v0.10.18 手册 & 文档 索引 | 在单一页面中浏览 | JSON格 ...

  5. Web前端性能优化经验分享

    最近一直有给新同学做前端方面的培训,也有去参与公司前端的招聘,所以把自己资料库里面很多高效且有用的知识做了些 规整分类,然后再分享一篇关于前端优化方面的总结.而且春节一过就又是招聘的高峰期了,在校的. ...

  6. html5--6-24 css3前缀

    html5--6-24 css3前缀 学习要点 掌握css3前缀的使用 CSS3目前很多新增属性尚未被W3C列为标准,对这些暂时未被公布为标准的属性,各家浏览器会在属性前加上前缀词,也将其称之为浏览器 ...

  7. c#-关于自动属性的思考

    参考:c#-关于自动属性的思考 我的理解:自动属性跟 公有字段 一模一样,编程习惯而已.目前是这么认为的. 自动属性:public string Name{  get;  set } 公有字段:pub ...

  8. 理解 Android MVP 开发模式

    /***************************************************************************************** * 理解 Andr ...

  9. [Selenium] Selenium 疑难杂症

    1. jsclick 也不管用 Actions action = new Actions(driver); WebElement theRow = page.getInvisibleElement() ...

  10. BZOJ_1406_[AHOI2007]密码箱_枚举+数学

    BZOJ_1406_[AHOI2007]密码箱_枚举+数学 Description 在一次偶然的情况下,小可可得到了一个密码箱,听说里面藏着一份古代流传下来的藏宝图,只要能破解密码就能打开箱子,而箱子 ...