小玩OpenSURF图像识别

基于 MATLAB 的红外与可见光图像配准融合 在实际应用中,由于种种原因,获取到的图像有可能具有不同的成像特点、噪声或者失真现象,这就给图像配准带来了一定的困难。本文提出的基于 MATLAB 的 OpenSUFT 算法的红外与可见光图像配准融合方法,能够较好地将两幅图像进行融合,并且具有较为稳定的特征匹配和仿射变换能力。从实验结果可以看出,本文方法能够将红外图像和可见光图像进行配准融合,并且生成的混合图像具有很好的视觉效果。为了验证本文方法的有效性,我们利用 Pleiades 卫星上的可见光图像和红外图像进行了实验。%% 加载红外图像和可见光图像。 阅读详情

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

      最近工作有点闲,有时间就玩点有意思的东西------SURF 图像识别(WIKI地址),懂了图像识别,真的有很多东西可以玩。。。。。先看看本文实现的效果:

 左图不是相同的指纹,右图为相同的指纹

ShapeContext算法中典型的实验图片。。。借来用用而已。。。

本文修改后的代码可以到这里:http://download.youkuaiyun.com/source/2515577下载,本文的代码改自GoogleCode的OpenSource。

      网上已经有很多封装好的SURF算法,这里我挑OpenSURF.OpenSURF在GoogleCode的地址http://code.google.com/p/opensurf1/,在【Source】 Tab里有C++版和C#版,C++版依赖Opencv,C#版不依赖OpenCV,我选择了C#版裸奔SURF。。。。在使用OpenSURF的C#版发现两个问题:

1。没有Match模块,所以这个就得自己写了;
2。OpenSURF for C#竟然大量使用GetPixel() ...... -. -||| ......做过图像处理的兄弟都应该知道GetPixel()的效率...........这个也得自己改改。

解决问题1:C++版包含了Match模块,所以我就参考C++版的,写成C#。。。。。以下是我自己添加的Match代码:

解决问题2:参考网上的代码,把IntegralImage.cs的FromImage(Bitmap image)函数改成:

OK,解决了以上两个问题,OpenSURF的C#版功能算是跟C++差不多了。。。。当然,C#跟C++的速度还有点差距的。。。。接下来就说说如何提高识别率,有两个关键的系数要微调的:

1。FastHessian.getIpoints(0.0001f, 5, 2, iimg);的第一个参数决定了特征点的数量,越小则特征点越多;

2。在Utils.cs里面的if (d1 / d2 < 0.77) //越小匹配的点越少,但误判断点也越少;越大匹配的点越多,但误判断点也越多。

以上两个要微调的函数就要具体情况具体微调了。。。。

【图像配准】基于matlab OpenSUFT图像配准【含Matlab源码 1232期】 OpenSUFT图像配准 完整的代码,方可运行;可提供运行操作视频!适合小白! 阅读详情

相关推荐

OpenSURF和SURF特征描述子的实践应用

本文还有配套的精品资源,点击获取 简介:OpenSURF和SURF算法是计算机视觉中用于特征检测和描述的技术,广泛应用于图像处理、物体识别、视频分析等领域。OpenSURF作为SURF的改进版,提供了更快的特征检测和描述性能,特别是在图像匹配和3D重建任务中表现出色。本文将详细介绍OpenSURF的特征检测与描述过程,并讨论其在不同应用场合的实践步骤和开源API的使用方法。...

weixin_35749545的博客 1092

opensurf具体过程分析

源码下载地址:http://opensurf1.googlecode.com/files/OpenSURFcpp.zip 具体函数调用即surflib里面的surfDetDes函数。本文就如下代码段作个分析 void surfDetDes(IplImage *img, /* 检测兴趣点的图像 image to find Ipoints in */ std::vector &ip

selinahuiling的专栏 6134

OpenSURF(包括Image Warp):SURF(Speeded Up Robust Features)图像特征点检测/匹配,如SIFT-matlab开发

描述: 这个函数 OPENSURF,是 SURF(加速鲁棒特征)的一个实现。 SURF 将检测图像中的地标点,并通过对(一点点)旋转、缩放和噪声具有鲁棒性的向量来描述这些点。 它可以以与获得专利的 SIFT(尺度不变特征变换)相同的方式使用。 因此根据对应点对齐(配准)两个或多个图像(参见 example3.m),或进行 3D 重建。 执行: Surf 的这个 Matlab 实现是 Chris Evans 的 OpenSurf C# 代码的 Matlab 优化翻译,并给出了完全相同的答案。 Chris Evans 编写了最好的、结构良好的全包 SURF 实现之一。 在他的网站上,您可以找到 OpenSURF 的评估以及 C# 和 C++ 代码。 http://www.chrisevansdev.com/opensurf/ Chris Evans 允许我在(Mathworks)BSD 许

深入解读OpenSURF中快速黑塞矩阵计算的思想——FastHessian_buildResponseLayer

前看了理论,觉得很容易,跟SIFT差不多,但是一看代码,傻眼了,好多操作都不熟悉,甚至很难看懂,没办法,从头开始熟悉高斯滤波模板、黑塞矩阵模板等。琢磨了两天,终于搞明白了积分图与快速黑塞矩阵计算的关系,这里简单做一下笔记,也希望可以帮助到看到这里卡壳的朋友。 下面这个是计算积分图的matlab程序,网上很多,贴出来结合代码理解。 function pic=IntegralImage_Integ...

maum61的专栏 1125

改进OpenSURF的C#版

改进OpenSURF的C#版,提高了分析特征点的速度,已经加入了Match模块。

OpenSURF实现

OpenSURF实现,开发环境为vs2008,可以实现两张图的比对(支持扭曲缩放),实现场景识别

小玩OpenSURF图像识别 (C++)

在我的一篇文章 http://blog.youkuaiyun.com/chenyujing1234/article/details/7601800 里面讲到C#版的OpenSURF图像识别例子,它是不信赖于OpenCV的; 这里我将对C++版本进行代码分析。希望对大家有帮助。(源码可到http://code.google.com/p/opensurf1/ 下载) 链接的openCV lib文件有:

chenyujing1234的专栏 1万+

OpenSURF_matlab源代码

OpenSURF matlab 源代码

分析OpenSurf(1)

说是surf,其实原算法是基于Notes on the OpenSURF Library这篇文档。   下载地址:http://opensurf1.googlecode.com/files/OpenSURFcpp.zip   首先定义 #define PROCEDURE 1 紧接着进入main()主函数: main.cpp int main(void)

ShaderJoy 的兴趣技术杂货铺 3348

OpenSURF.zip_OpenSURF_SURF descriptor_descriptor_surf_zip

SURF feature descriptor

matlab算法源码surf算法OpenSURF

matlab算法源码surf算法OpenSURF_version1c提取方式是百度网盘分享地址

上一篇: MSP430读写片内FLASH保存数据
下一篇: 移植Opencv 1.10到WINCE/WM
欧巴Godwin
欧巴Godwin 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄20年 9690粉丝 141原创
评论 23
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值