lecture4特征提取-七月在线-cv
霍夫变换
http://blog.csdn.net/sudohello/article/details/51335237
http://blog.csdn.net/glouds/article/details/39002113
在参数空间相交于同一点的所有直线,在图像坐标空间都有共线的点与之对应。根据这个特性,给定图像坐标空间的一些边缘点,就可以通过Hough变换确定连接这些点的直线方程。
参数空间a−b上的细分程度决定了最终找到直线上点的共线精度。上述的二维累加数组A也被称为Hough矩阵。
参数空间中对应各个间断点的曲线或者曲面不能相交,则说明间断点不符合某已知曲线。
在xy空间中,垂直于x轴的直线斜率无穷大,所以在坐标空间无法表示---极坐标
ppt中---
点越亮,则表示原图中线越长,因为投票的点越多
opencv中分为 传统hough变换、概率hough变换(多少长度的线段时,将两段视为一段)、多尺度霍夫变换(不同精度)
角点检测
https://www.cnblogs.com/polly333/p/5416172.html
M为梯度的协方差矩阵 ,在实际应用中为了能够应用更好的编程,定义了角点响应函数R,通过判定R大小来判断像素是否为角点。R取决于M的特征值,对于角点|R|很大,平坦的区域|R|很小,边缘的R为负值。
ppt----
bloc斑点 --如树上的小斑点 海森矩阵、高斯拉普拉斯算子
corner角点--如拐点
M的计算---
w可以表示各个方向上灰度的变化率
M-协方差矩阵-两个特征值-角点位置,两个值都很大
角点响应函数R-在浮点计算很弱时,计算很耗时,这样不需要把两个特征值都算出来
由两张图片的对比可知,无论位置、光强等如何,都可以将角点检测出来
SIFT
http://blog.csdn.net/zddblog/article/details/7521424
关键点描述:在每个关键点周围的邻域内,在选定的尺度上测量图像局部的梯度。这些梯度被变换成一种表示,这种表示允许比较大的局部形状的变形和光照变化。
SIFT算法是在不同的尺度空间上查找关键点,而尺度空间的获取需要使用高斯模糊来实现,Lindeberg等人已证明高斯卷积核是实现尺度变换的唯一变换核,并且是唯一的线性核。
高斯模糊是一种图像滤波器,它使用正态分布(高斯函数)计算模糊模板,并使用该模板与原图像做卷积运算,达到模糊图像的目的。
高斯函数的可分离性是指使用二维矩阵变换得到的效果也可以通过在水平方向进行一维高斯矩阵变换加上竖直方向的一维高斯矩阵变换得到。
ppt----
Automatic Scale Selection中式子的意思是:需要定义一种函数,使得在不同尺度下图像同一位置的响应相同
scale space尺度空间-相当于从外太空到近距离不断拉近距离:高斯核是尺度变换唯一的核,图像-尺度不断变大,越小越细腻,越大越模糊模糊的越粗糙--相当于模拟人体看物体
使用opencv的sift来检测某一尺度上对DOG(高斯差分)的响应值-跟图像越相似,响应值越高
DOG是LOG的近似
scale space in SIFT的过程--原图像用不同的均方差的值对应的高斯核进行高斯模糊,再分别2倍降采样再高斯模糊,构建金字塔;DOG就是高斯模糊后再高斯模糊来做特征点检测,不包括做降采样;SIFT使用了图像金字塔,SIFT是DOG的一种应用,使用了下采样
computation in gaussian scale pyramid--octave层数是由图像大小决定的 log512/log2 - 2,减去2是为了往后退两层,要不然最后一层是1*1,来做高斯模糊是没有意义的
把前一次的尺度减掉,算出新的sigma值--每一幅是用前一幅做的高斯模糊
https://www.cnblogs.com/JiePro/p/sift_1.html
s=3---用前一个octave中的倒数第三幅图像生成下一octave中的第一幅图像- 不同层且下采样是为了保证空间的连续性
DOG定义的是五个尺度,所以一个octive需要六个图像-因为是要做差,6-1=5
DOG空间为什么是连续的?

添加高斯项,是指成为连续的-所以添加ksigma的平方。。


SURF:海森矩阵进行特征提取+高斯滤波 -》 box filter来简化了运算
sift是改变图像大小,滤波模板没变;SURF是图像没变,改变了filter大小,没有构建金字塔
提到特征点,就要确定尺度范围--60度范围内,对梯度进行直方图统计,最大的作为主方向
每个区域四个描述子-共16*4个-64维的特征向量
lecture4特征提取-七月在线-cv的更多相关文章
- 第六课cnn和迁移学习-七月在线-cv
ppt 参数共享终于把拿一点想清楚啦,一定要知道w是矩阵! 在传统BP中,w前后连接时是all的,辣么多w使得你给我多少图片我就能记住多少信息-->导致过拟合-->cnn当中权值共享 激励 ...
- lecture7图像检索-七月在线-cv
http://blog.csdn.net/u014568921/article/details/52518587 图像相似性搜索的原理 BOW 原理及代码解析 Bag Of Visual Words ...
- 七月在线爬虫班学习笔记(五)——scrapy spider的几种爬取方式
第五课主要内容有: Scrapy框架结构,组件及工作方式 单页爬取-julyedu.com 拼URL爬取-博客园 循环下页方式爬取-toscrape.com Scrapy项目相关命令-QQ新闻 1.S ...
- 七月在线爬虫班学习笔记(六)——scrapy爬虫整体示例
第六课主要内容: 爬豆瓣文本例程 douban 图片例程 douban_imgs 1.爬豆瓣文本例程 douban 目录结构 douban --douban --spiders --__init__. ...
- 七月在线爬虫班学习笔记(二)——Python基本语法及面向对象
第二课主要内容如下: 代码格式 基本语法 关键字 循环判断 函数 容器 面向对象 文件读写 多线程 错误处理 代码格式 syntax基本语法 a = 1234 print(a) a = 'abcd' ...
- lecture1-Word2vec实战班-七月在线nlp
nltk的全称是natural language toolkit,是一套基于python的自然语言处理工具集.自带语料库.词性分类库.自带分类分词等功能.强大社区支持.很多简单版wrapper 文本处 ...
- 牛客网/LeetCode/七月在线/HelloWorld114
除了知乎,还有这些网站与offer/内推/秋招/春招相关. 其中HelloWorld114更是囊括许多IT知识. 当然,我们可以拓宽思考的维度,既然课堂上的老师讲不好,我们可以自己找资源啊= => ...
- 七月在线spark教程
链接:https://pan.baidu.com/s/1Ir5GMuDqJQBmSavHC-hDgQ 提取码:qd2e
- python多种格式数据加载、处理与存储
多种格式数据加载.处理与存储 实际的场景中,我们会在不同的地方遇到各种不同的数据格式(比如大家熟悉的csv与txt,比如网页HTML格式,比如XML格式),我们来一起看看python如何和这些格式的数 ...
随机推荐
- 把旧系统迁移到.Net Core 2.0 日记 (12) --发布遇到的问题
1. 开发时是在Mac+MySql, 尝试发布时是在SQL2005+Win 2008 (第一版) 在Startup.cs里,数据库连接要改,分页时netcore默认是用offset关键字分页, 如果用 ...
- angular4,angular6 父组件异步获取数据传值子组件 undefined 问题
通过输入和输出属性 实现数据在父子组件的交互在子组件内部使用@input接受父组件传入数据,使用@output传出数据到父组件详细标准讲解参考官方文档https://angular.cn/guide/ ...
- @Configuration的使用 和作用
1从spring4.0以后,@Spring boot Application就包含了@ComponentScan,@ComponentScan就不用写了 2@MapperScan(basePackag ...
- ssh免输入密码登录
ssh免输入密码登录 ubuntu下生成ssh密钥参见. https://confluence.atlassian.com/display/BITBUCKET/Use+the+SSH+prot ...
- [Linux]Linux下yaf发送IPV4和IPV6的IPfix
一.IPFIX与NetFlow 一.IPFIX 全称IP Flow Information Export,即IP流信息输出,是网络流量监测的国际标准.IPFIX是IETF的一个工作组,它的主要工作就是 ...
- 在命令行中的vim编辑器加上行号
在使用vim编辑器时运行脚本程序纠察缺少相应的行号,检测起来非常不方便, 所以在vim编辑器每行前面加上相应的行号: 输入命令::set nu 按下回车,完成
- Android知识补充(Android学习笔记)
Android知识补充 ●国际化 所谓的国际化,就是指软件在开发时就应该具备支持多种语言和地区的功能,也就是说开发的软件能同时应对不同国家和地区的用户访问,并针对不同国家和地区的用户,提供相应的.符合 ...
- gc图波峰波谷一直上升问题
垃圾回收曲线,波峰和波谷一直上升.正常是波峰波谷在同一水平线上,可以想象如果程序继续运行下去,老年代内存回收后也不断上升,当达到老年代满了的时候,就会报内存溢出错误. 用jmap -histo pid ...
- Thread.join方法的解析(转)
原文链接:https://www.cnblogs.com/huangzejun/p/7908898.html 1. join() 的示例和作用 1.1 示例 1 // 父线程 2 public cla ...
- dubbo的几种配置方式(转)
昨天刚接触公司dubbo,发现公司中项目里面的spring-dubbo-privider的dubbo中<dubbo:application name=""/>和< ...