九之再续:教你一步一步用c语言实现sift算法上July

教你一步一步用c语言实现sift算法、上

sift算法的步骤要实现一个算法,首先要完全理解这个算法的原理或思想。咱们先来简单了解下,什么叫sift算法:sift,尺度不变特征转换,是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由DavidLowe在1999年所发表,2004年完善总结。

所谓,Sift算法就是用不同尺度(标准差)的高斯函数对图像进行平滑,然后比较平滑后图像的差别,差别大的像素就是特征明显的点。

以下是sift算法的五个步骤:一、建立图像尺度空间(或高斯金字塔),并检测极值点

首先建立尺度空间,要使得图像具有尺度空间不变形,就要建立尺度空间,sift算法采用了高斯函数来建立尺度空间,高斯函数公式为:G(x,y,e)=[1/2*pi*e^2]*exp[-(x^2+y^2)/2e^2]上述公式G(x,y,e),即为尺度可变高斯函数。

而,一个图像的尺度空间L(x,y,e),定义为原始图像I(x,y)与上述的一个可变尺度的2维高斯函数G(x,y,e)卷积运算。即,原始影像I(x,y)在不同的尺度e下,与高斯函数G(x,y,e)进行卷积,得到L(x,y,e),如下:L(x,y,e)=G(x,y,e)*I(x,y)

以上的(x,y)是空间坐标,e,是尺度坐标,或尺度空间因子,e的大小决定平滑程度,大尺度对应图像的概貌特征,小尺度对应图像的细节特征。大的e值对应粗糙尺度(低分辨率),反之,对应精细尺度(高分辨率)。

尺度,受e这个参数控制的表示。而不同的L(x,y,e)就构成了尺度空间,具体计算的时候,即使连续的高斯函数,都被离散为(一般为奇数大小)(2*k+1)*(2*k+1)矩阵,来和数字图像进行卷积运算。随着e的变化,建立起不同的尺度空间,或称之为建立起图像的高斯金字塔。

ok,耐心点,咱们再来总结一下上述内容:1、高斯卷积在组建一组尺度空间后,再组建下一组尺度空间,对上一组尺度空间的最后一幅图像进行二分之一采样,得到下一组尺度空间的第一幅图像,然后进行像建立第一组尺度空间那样的操作,得到第二组尺度空间,公式定义为L(x,y,e)=G(x,y,e)*I(x,y)

图像金字塔的构建:图像金字塔共O组,每组有S层,下一组的图像由上一组图像降采样得到,效果图,图A如下(左为上一组,右为下一组):

效果图,图B:

4、对上图得到的每一层相邻的高斯图像相减,就得到了高斯差分图像,如下述第一幅图所示。下述第二幅图中的右列显示了将每组中相邻图像相减所生成的高斯差分图像的结果,限于篇幅,图中只给出了第一层和第二层高斯差分图像的计算(下述俩幅图统称为图2):

5、因为高斯差分函数是归一化的高斯拉普拉斯函数的近似,所以可以从高斯差分金字塔分层结构提取出图像中的极值点作为候选的特征点。对DOG尺度空间每个点与相邻尺度和相邻位置的点逐个进行比较,得到的局部极值位置即为特征点所处的位置和对应的尺度。

二、检测关键点为了寻找尺度空间的极值点,每一个采样点要和它所有的相邻点比较,看其是否比它的图像域和尺度域的相邻点大或者小。如下图,图3所示,中间的检测点和它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,以确保在尺度空间和二维图像空间都检测到极值点。

因为需要同相邻尺度进行比较,所以在一组高斯差分图像中只能检测到两个尺度的极值点(如上述第二幅图中右图的五角星标识),而其它尺度的极值点检测则需要在图像金字塔的上一层高斯差分图像中进行。依次类推,最终在图像金字塔中不同层的高斯差分图像中完成不同尺度极值的检测。当然这样产生的极值点并不都是稳定的特征点,因为某些极值点响应较弱,而且DOG算子会产生较强的边缘响应。

三、关键点方向的分配为了使描述符具有旋转不变性,需要利用图像的局部特征为给每一个关键点分配一个方向。利用关键点邻域像素的梯度及方向分布的特性,可以得到梯度模值和方向如下:

方向直方图的峰值则代表了该特征点处邻域梯度的方向,以直方图中最大值作为该关键点的主方向。为了增强匹配的鲁棒性,只保留峰值大于主方向峰值80%的方向作为该关键点的辅方向。因此,对于同一梯度值的多个峰值的关键点位置,在相同位置和尺度将会有多个关键点被创建但方向不同。仅有15%的关键点被赋予多个方向,但可以明显的提高关键点匹配的稳定性。至此,图像的关键点已检测完毕,每个关键点有三个信息:位置、所处尺度、方向。由此可以确定一个SIFT特征区域。

接下来以关键点为中心取8×8的窗口。上图,图5中左部分的中央黑点为当前关键点的位置,每个小格代表关键点邻域所在尺度空间的一个像素,箭头方向代表该像素的梯度方向,箭头长度代表梯度模值,图中蓝色的圈代表高斯加权的范围(越靠近关键点的像素梯度方向信息贡献越大)。然后在每4×4的小块上计算8个方向的梯度方向直方图,绘制每个梯度方向的累加值,即可形成一个种子点,如图5右部分所示。此图中一个关键点由2×2共4个种子点组成,每个种子点有8个方向向量信息。这种邻域方向性信息联合的思想增强了算法抗噪声的能力,同时对于含有定位误差的特征匹配也提供了较好的容错性。

实际计算过程中,为了增强匹配的稳健性,Lowe建议对每个关键点使用4×4共16个种子点来描述,这样对于一个关键点就可以产生128个数据,即最终形成128维的SIFT特征向量。此时SIFT特征向量已经去除了尺度变化、旋转等几何变形因素的影响,再继续将特征向量的长度归一化,则可以进一步去除光照变化的影响。

五、最后一步:当两幅图像的SIFT特征向量生成后,下一步我们采用关键点特征向量的欧式距离来作为两幅图像中关键点的相似性判定度量。取上图中,图像A中的某个关键点,并找出其与图像B中欧式距离最近的前两个关键点,在这两个关键点中,如果最近的距离除以次近的距离少于某个比例阈值,则接受这一对匹配点。降低这个比例阈值,SIFT匹配点数目会减少,但更加稳定。

sift算法的c实现ok,上文搅了那么多的理论,如果你没有看懂它,咋办列没关系,下面,咱们来一步一步实现此sift算法,即使你没有看到上述的理论,慢慢的,你也会明白sift算法到底是怎么一回事,sift算法到底是怎么实现的...。yeah,请看:

前期工作:在具体编写核心函数之前,得先做几个前期的准备工作:1、首先,定义几个宏,及变量,以免下文函数中,突然冒出一个变量,而您却不知道怎么一回事:

THE END
1.电子网络营销怎么学?这份学习路线图请收好!随着互联网的快速发展,电子网络营销已经成为企业拓展市场、提高知名度的重要手段。那么,如何系统地学习电子网络营销呢?以下是一份详细的学习路线图,供您参考。 一、了解网络营销基本概念 1. 理解网络营销的定义:网络营销是指企业利用互联网和数字技术,通过一系列手段和策略,实现产品推广、品牌传播和销售的目的。 http://news.xnnews.com.cn/taoyitui/Article-xiaoxiaoYi-1849.html
2.网络营销商机2.目标受众精准:借助数据分析工具,网络营销能够精确地定位目标受众,提高营销活动的针对性和有效性。3.互动性强:网络营销允许企业与消费者进行实时互动,收集用户反馈,及时调整策略,增强品牌与消费者之间的联系。二、网络营销的创新策略 1.内容营销:优质的内容是吸引用户的关键。企业可以通过发布有价值、有趣味性的https://baijiahao.baidu.com/s?id=1818201184638297591&wfr=spider&for=pc
3.网络推广营销策划撒于哪些因素运营品牌定位?:企业需要明确自己的品牌宣传目标和市场定位,这是互联网营销推广的重中之重。通过分析品牌和市场的特征,企业可以选择适合的推广方式和平台,从而提高品牌知名度和影响力?。 目标群体分析?:深入了解目标群体的年龄、性别、受教育程度、收入、爱好及网络习惯等,根据这些数据制定针对性的网络推广方案。这有https://www.163.com/dy/article/JJ7M67FT0556ADON.html
4.学了这么长时间的全网营销,那么全网营销到底是什么呢?尽管只有一字相差,但实际产生的效果却截然不同。有区别于市面上常见的点式营销和全网营销,全链营销https://www.zhihu.com/question/325486879/answer/55237079933
5.什么是网络营销?什么是网络营销?网络营销是企业整体营销战略的一个组成部分,是为实现企业总体经营目标所进行的,以互联网为基本手段营造网上经营环境的各种活动。网络营销概念的同义词括:网上营销、互联网营销、在线营销等。这些词汇说的都是同一个意思,笼统地说,网络营销就是以互联网为主要手段开展的营销活动。网络营销具有很强的实践https://cq.xuemanfen.cn/xueyuanwenda/3098-61961.html
6.企业战略管理经典案例(通用10篇)与传统营销渠道一样,以互联网作为支撑的网络营销渠道也应具备传统营销渠道的功能。一个完善的网上销售渠道应有三大功能:订货功能、结算功能和配送功能。 1.订货功能。它为消费者提供产品信息,同时方便厂家获取消费者的需求信息,以求达到供求平衡。一个完善的订货系统,可以最大限度降低库存,减少销售费用。 https://www.yjbys.com/edu/zhanlueguanli/285083.html
7.百度推广是什么意思?信息传播对于百度推广的方法总结分享四、还有以下几个关键点需要注意: 1、内容质量和创意性:推广内容质量和创意性都是非常重要的,只有独具匠心和优质的内容才能真正吸引用户的注意,使用户产生购买欲望。 2、与营销策略结合:网络推广要与营销策略结合,只有这样才能真正实现推广效果的最大化。 https://blog.csdn.net/2301_76243340/article/details/129519599
8.林景新当每一个网民都成为“杀手”时 第二部分 网络舆情与危机意识 什么是网络舆情 网络舆情的成因 网络舆情形成的特点 分析点评:2008年-2011年中国网络舆情事件 舆情危机是对品牌的致命打击 舆情危机是对消费信心的无情毁灭 对舆情危机的正确理解 四大关键词解读中国舆情危机 舆情危机的定义及其必然性 永远绷紧危机这根弦https://baike.sogou.com/v7792802.htm
9.全网营销的五个关键点网络营销站长技术全网营销的五个关键点 全网营销,即全网整合营销,是将产品规划、开发、网站建设、运营、品牌推广、分销等一系列电子商务内容集成于一体的营销模式。它涵盖了传统网络、移动互联网、PC互联网、自媒体、短视频、直播等多个渠道,具有提升品牌形象、规范销售市场、促进整体销量、解决线下销售瓶颈、完善客服体系、梳理分销渠道https://www.isolves.com/it/wlyx/tg/2024-02-02/95265.html
10.三创策划书15篇鉴于处于中原中心地区的郑州拥有特殊的地理资源优势,我准备将创业店铺开在郑州市区二七区。同时,实际开店的同时兼营网上商店,开展网络营销。 三、市场定位及市场分析 研究数据显示:从年,在互联网,电视,电台,报纸和杂志这五类媒体中,女对网络媒体的接触比率显示比较稳定,呈明显的增长趋势,媒介体对女的影响力将越来越多https://mip.wenshubang.com/cehuashu/3038786.html
11.北京万博通达(万博网)SEO优化之网站流量提升关键在内容更新上多下功夫 [北京网站制作]PHP安全配置详解 承德网站建设告诉你网站对企业的意义有哪些 浅谈四个我们需要避免的社会SEO误区 企业网站建设抓住三点实现运营效果良好 企业网络营销需要高营业额的定制网站 SEO网站优化之怎样做外链有利于关键词排名 网站突然被降权一般都是哪些原因? 免费http://www.wanbonet.com/
12.职场黄金法则在年少学习的日子里,很多人都经常追着老师们要知识点吧,知识点也不一定都是文字,数学的知识点除了定义,同样重要的公式也可以理解为知识点。哪些才是我们真正需要的知识点呢?下面是小编整理的职场黄金法则,仅供参考,希望能够帮助到大家。 职场黄金法则 1 人要学https://www.jy135.com/zhichang/540775.html
13.图书馆首先要明确的是,对“幼儿发展与健康管理”专业内涵的解读,必须基于对幼儿,特别是对幼儿发展的认识之上,不能脱离学前教育学和心理学的层面而完全陷入到卫生学等健康管理的领域之中,因为该专业并不等同于广义的健康管理,它并不是只开设生理学、卫生学或医学基础课程的一个专业。由于幼儿是着眼点,他们有其不同于其他http://www.zdxy.cn/TSG/contents/185/528.html
14.市场营销活动策划方案15篇任何一个市场营销策划,无论是整体思路还是具体的执行活动方案,都必须要有数个强有力的支撑点。并且这种支撑点应该是实实在在的,是“站在地上的,而不是空中的”。只有这样,才能保证市场营销推广活动方案的实际可操作性;只有这样,才能保证市场营销推广活动方案的有效性,也就是说是能够指导并促进销售的;只有这样,策https://www.cnfla.com/huodongfangan/2713716.html
15.什么是网站推广?网站推广的几大方式秦志强笔记SEO推广(Search Engine Optimization),汉译为搜索引擎优化,较为流行的网络营销方 式,主要目的是增加特定关键字的曝光率以增加网站的能见度,进而增加销售的机会。SEO的主要工作是通过了解各类搜索引擎如何抓取互联网页面、如何进行索引以及如何确定其对某一特定关键词的搜索结果排名等技术,来对网页进行相关的优化,使其提https://www.qinzhiqiang.com/archives/119690.html
16.网站优化步骤和技巧,怎么做网站SEO的方法?(2024更新)网站优化有几个关键点: ● 外贸网站建设要重视 ● 要有懂优化的人员 ● 外贸网站推广过程应避免使用黑帽优化方法 2. 社交媒体营销(SNS营销) 海外社交媒体本身拥有庞大的用户群,活跃度很高。公司可以使用 Facebook、LinkedIn、Twitter、YouTube 等进行营销。海外社交媒体营销对于提高品牌知名度、品牌营销和直接客户开发https://www.globalsir.com/blog_detail.php?id=134
17.培训讲师曾诗斯TPM咨询公司TPM管理6S管理5S培训公司曾诗斯老师拥有10年省级媒体及企业管理经验,曾为中铁一局、二局分公司、广州白云机场股份公司、周六福珠宝集团等企业进行职场商务形象礼仪、职业化素养、沟通表达等系列课程培http://wap.szzttpm.com/a/zixuntuandui/20200921/713.html
18.在时趣,AI是如何解决营销的五个核心问题的?美通社PR5个营销核心点,AI如何为营销人服务? 营销人的工作,基本都脱离不开“营销策略、内容创意、媒介传播、评估优化”这四部分组成的闭环。而在这四个部分中,无论你身处甲方或乙方,在为品牌服务过程中,可能都会要解决到五个核心命题:品牌定位、产品优化、用户洞察、品牌传播策略、媒介投放。这些核心环节中,AI 已经开始帮https://www.prnasia.com/story/239670-1.shtml
19.南水:《资本论》系列第一讲(上)(四)五个预设 二、马克思主义实践观的发展与《资本论》 (一)马克思主义实践观第一阶段:马克思《关于费尔巴哈的提纲》《德意志意识形态》 1、《关于费尔巴哈的提纲》是一个“天才的大纲” 2、四个关键点 (1)“物质利益”与“社会关系总和”的辩证法 (2)“生产关系”与“社会关系总和”的辩证法 http://www.wyzxwk.com/Article/sichao/2018/09/393568.html
20.专访阿那亚:从一个“油腻”的开始说起所以我常说,当地居民的生活就是最好的在地文化,而不光是那些符号化、产品化的民俗风情、名胜古迹。阿那亚的社区文化,就是由一个个阿那亚人来体现、定义的。他们是美好生活的合伙人,也是代言人。 另外一个关键点,阿那亚的社群基因,就是从服务业主开始。 https://www.digitaling.com/articles/1294635.html
21.什么是供应链管理?为什么供应链体系非常重要?界面新闻2.控制度关键点:保齐套和平衡产能 对于欠料和齐套管理,给大家推荐五种方式:一是生产调度例会管理机制,采用例会的方式做终端;二是物料基础数据的监控与管理;三是IT工具的运用管理(ERP—企业资源计划、APS—自动采购系统及其它辅助工具);四是库存报警机制的建设(RYG管理、预缺料管理);五是有效跟单与追料。 https://www.jiemian.com/article/4392572_foxit.html
22.电销运营作业岗对与专业的学习,我想如果要做回电子商务,做好网络营销是必须的,或者掌握一些电子商务环节上如支付,网站管理,网站信息管理等技能,对我来说,网络营销,seo是我的目标,我想话一年的时间来进行尝试性的实践,也完成一个有一个网络营销seo的梦想,主要是通过自己建设网站进行网络营销学习和实战。很希望能在大学的最后一年里https://www.liuxue86.com/k_%E7%94%B5%E9%94%80%E8%BF%90%E8%90%A5%E4%BD%9C%E4%B8%9A%E5%B2%97/
23.微博营销方案以上是总结的企业微博推广、营销、运营的方案,总而言之,企业开微博客进行网络营销,在当前还处于探索阶段,挑战和机遇并存,越早开通企业微博,越有机会在微博客领域获得成功。 微博营销方案3 为了做好微博营销的必须要清楚三点,什么是微博,为什么要做微博,怎样做好微博营销,重点阐述怎样做好营销。什么是微博,顾名思义https://www.ruiwen.com/gongwen/fangan/1379184.html