WindowsMobile上使用ASIFT实现对视角变化更鲁棒的特征匹配

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!

        最近听CV领域的朋友说起ASIFT,后来搜索了一下,发现ASIFT比SIFT更能适应视角变化,并且开源了(网址:http://www.ipol.im/pub/algo/my_affine_sift/),真的要感谢Jean-Michel Morel和Guoshen Yu两位大牛的无私奉献,让我这个超菜的业余爱好者也能玩上ASIFT。

       my_affine_sift项目提供ASIFT的源码是基于C++并大量使用了STL,对于有C++经验的开发者来说不难使用。本文主要把ASIFT的源码封装成DLL,利用.NET/.NET CF平台丰富的图像编解码类库,更简便地在Windows和WindowsMobile平台上使用ASIFT。

PS:由于C#与C++编译的DLL之间不能传递STL对象,因此包含STL对象部分的处理都放在在DLL内操作了。

先来看看本文代码实现的效果:

 

ASIFT算法运行起来比较慢,比上次介绍的Opencv的SURF还慢,因此在移动设备上使用,就必须牺牲点准确率来换取速度了,左图是设定的识别率最低的匹配结果,右图是设定的识别率较低的结果。

本文的代码可以到这里下载:http://www.pudn.com/downloads312/sourcecode/windows/csharp/detail1387079.html

下面是DLL端的ASIFT_Dll.cpp的部分源码:

PS:由于不能传递STL对象,因此初始化第一张图片时就把第一张图片的特征点集合和其他长宽数据作为静态数据保存.......int num_of_tilts是控制识别率的参数,等于1时识别率最低。

以下是C#端的部分源码,在C#端把图像(jpg/bmp/png等)转为灰度图(8bit的数组),然后传给DLL计算特征点,最后再把两幅图的特征点做匹配,并把匹配结果绘制出来:

  • 0
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
评论 9

打赏作者

咪当我系欧巴

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值