本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!
今晚是平安夜,跟众多四眼技术宅一样,这个时候还是跟电脑过节
......
上次讲解了在Android上通过NDK把彩图转换为灰度图,现在可以把WindowsMobile版的ASIFT 例子移植到Android上了.......在这里还是要再次感谢Jean-Michel Morel和Guoshen Yu两位大牛的无私奉献,尊重知识尊重开源精神。
先来看看本文程序运行截图:


左图是设定识别率为最低的结果,右图是设定识别率为较低的结果。
本文的代码可以到这里下载:http://www.pudn.com/downloads314/sourcecode/comm/android/detail1391871.html
这里ASIFT的NDK代码(C++)跟WM篇的DLL代码大体一样,不过也存在一些不同:
1、JNI不支持引用传递,所以有些值必须通过函数返回,例如:
2、ASIFT接受的是8bit的灰度图,使用前要转换为8bit的灰度图:
使用后要把8bit灰度图转为RGB565:
主类testASIFT.java的逻辑代码如下:
分享到:
相关推荐
ASIFT是对SIFT算法的改进,旨在增强其在大角度视角变化下的鲁棒性。ASIFT算法不仅保留了SIFT的基本特性,还引入了两个新的空间特征描述参数:经度和纬度。这两个参数能够量化仿射形变,定义了绝对倾斜(absolute ...
ASIFT则是对SIFT的一种优化,它通过适应性地调整图像的尺度空间和角度,能够在不同的视角和光照条件下实现特征匹配。ASIFT的关键改进包括: 1. **多视角预处理**:ASIFT通过对输入图像进行一系列旋转,生成多个不同...
ASIFT(Adaptive SIFT)是一种改进的尺度不变特征变换(Scale-Invariant Feature Transform),它在标准SIFT算法的基础上进行了优化,以适应不同光照、尺度和角度的变化。这个压缩包"ASIFT vs2010"包含的是ASIFT源...
综上所述,Asift算法通过对SIFT算法的改进,有效地解决了因相机视角变化导致的特征匹配问题。它不仅提高了匹配的准确性,而且在计算效率上也有较好的表现。Asift算法为图像匹配领域提供了一种新的解决方案,尤其是在...
ASIFT则在SIFT的基础上引入了自适应对齐的概念,使得算法能够处理更大范围的视角变化,提高了匹配的鲁棒性。 源码"asift源码2008版本"是ASIFT算法的实现,适用于Visual Studio 2008(VS2008)开发环境。这个版本的...
ASIFT扩展了SIFT的能力,使其不仅对尺度变化具有不变性,还能够处理由于视角变化导致的仿射变形,从而在图像识别中具有更好的鲁棒性和可靠性。 2. 人脸识别技术: 人脸识别是生物识别技术的一种,它通过分析人的...
ASIFT(Affine-SIFT)是一种自动图像配准算法,它是对传统的Scale-Invariant Feature Transform(SIFT)特征匹配算法的扩展,增加了对仿射变换的鲁棒性。SIFT算法由David Lowe在1999年提出,是图像处理领域中的一个...
3. **方向分配**:ASIFT会为每个关键点分配多个方向,以确保在旋转变化后仍能正确匹配特征。 4. **描述符生成**:在确定了关键点的位置和方向后,ASIFT将计算出描述符,这些描述符用于特征点的匹配。ASIFT可能使用...
总之,"demo_ASIFT_src.tar.gz_DEMO_asift_sift 匹配"是一个关于使用ASIFT进行图像匹配的实践案例,它涉及了SIFT和ASIFT特征提取、关键点匹配以及仿射不变性的概念,这些技术广泛应用于图像识别、三维重建和视觉导航...
这样,ASIFT可以在一个更广泛的仿射变化范围内找到稳定的特征点,提高了特征匹配的鲁棒性。C++实现的ASIFT库提供了高效的计算和内存管理,使得算法能在实际应用中快速运行。 MATLAB是一个广泛用于数值计算和数据...
3. **多方向检测**:不同于SIFT只在四个主方向上检测关键点,ASIFT可能使用更多的检测方向,以增强对不同视角的适应性。 4. **关键点定位与描述符提取**:在确定了尺度和方向后,ASIFT会像SIFT一样,计算关键点的...
ASIFT则通过构建一组仿射变换的图像金字塔来弥补这一缺陷,从而可以在更广泛的几何变化下保持特征的稳定性。 ASIFT的工作原理是,首先对原始图像进行一系列的仿射预变换,形成多个不同几何形状的图像版本。这些预...
ASIFT+OpenCV图像特征匹配实战VC工程源码 OpenCV包含头文件: #include "cv.h" #include "highgui.h" #include "cxcore.h" 核心代码如下: if (!m_pImage1||!m_pImage2) { AfxMessageBox("please,select 2...
它可以更准确地处理大角度视角变化下的图像特征匹配问题,无论是在平移、旋转还是尺度变换的情况下,都能保持较高的匹配精度和鲁棒性。这使得ASIFT在多种场景下,如图像识别、三维重建、目标跟踪和机器人定位等领域...
其匹配能力较强,可以处理两幅图像之间发生平移、旋转、仿射变换情况下的匹配问题,甚至在某种程度上对任意角度拍摄的图像也具备较为稳定的特征匹配能力。
特征点是图像中具有显著性和稳定性的点,它们在不同视角、光照变化下仍能被可靠地识别,这对于图像匹配、物体识别、全景拼接等应用至关重要。SIFT(尺度不变特征变换)是一种经典的特征点检测算法,由David G. Lowe...
由于ASIFT在特征提取阶段已经考虑了仿射变换,因此匹配结果更准确,特别是在存在透视变换的场景中。 C++实现ASIFT的主要挑战在于优化计算效率,因为需要处理多个仿射视图和大量的图像数据。通常,为了提高性能,会...
因此,ASIFT能够有效地处理光照变化和目标旋转的情况,提高特征的鲁棒性。 特征匹配是通过ASIFT算法实现的,它能够在前后两帧序列图像间实现精准匹配,为目标跟踪提供准确的定位信息。最后,利用CamShift算法进行...