我正在开发一个项目,其中我必须检测对象的特征(在视频帧中)并将其与其他对象(在其他帧内)匹配以识别同一对象进行跟踪。我在谷歌上搜索了许多特征检测器算法。我还对它们进行了一些比较(SIFT、SURF 和 ASIFT)。
ASIFT 的计算量有点大,但与 SIFT 和 SIFT 相比,结果更准确。冲浪。
我在谷歌上搜索了很多关于 ASIFT 的信息,但我的项目没有取得任何成功。
有人可以帮助我在我的项目中使用 ASIFT 吗?
ASIFT 参考:
http://www.ipol.im/pub/algo/my_affine_sift/
哪些文件我应该包含在我的项目中吗?我正在研究 OPENCV 2.1 、IDE VS 2010。
这是我在这个平台上的第一篇文章。希望有人能帮助我。
I am working on a project where I have to detect the features of an object (in a Video Frame) and match it with other objects (inside some other frame) to recognize the same object for tracking. I have googled many Feature detector algorithms. I also did some comparisons between them (SIFT,SURF & ASIFT).
ASIFT is computationally a bit expensive but the results are more accurate when compared to SIFT & SURF.
I have googled a lot about ASIFT but did not get any success regarding my project.
Can someone please help me with using ASIFT in my project?
ASIFT reference:
http://www.ipol.im/pub/algo/my_affine_sift/
Which files should I include in my project? I'm working on OPENCV 2.1 , IDE VS 2010.
Its my first post on this platform. Hope some one will help me.
发布评论
评论(1)
重要的函数位于文件compute_asift_keypoints.{c,h} 和compute_asift_matches.{c,h} 中。他们会告诉您哪些功能是强制性的。从那里你可以选择:
快速而肮脏的方式:
您需要包含并编译除可执行部分(文件 demo_*.cpp)之外的所有内容。您可以将这些文件编译为库(通过修改 CMakeLists.txt),也可以将它们添加到 IDE 中的项目中。请注意,例如,您不会使用 io_png 中的函数,但如果您不想因缺少函数的编译器错误而烦恼,则需要编译它们。
干净(但更长)的方式:
你必须忽略/删除所有也包含 I/O 部分的文件,因为 OpenCV 可以处理它们。然后,您还可以查找 OpenCV 中已实现的函数,例如应用仿射变换、SVD...并逐步用 OpenCV 对应函数替换它们。
The important functions are in the files compute_asift_keypoints.{c,h} and compute_asift_matches.{c,h}. They will inform you about which functions are mandatory. From there you have the choice:
Quick-and-dirty way:
you need to include and compile everything, except the executable part (file demo_*.cpp). You can either compile the files as a library (by modifying the CMakeLists.txt) or add them to your project in your IDE. Note that you will not use the functions from io_png for example, but you need to compile them if you don't want to be annoyed by compiler errors about missing functions.
Clean (but longer) way:
you have to ignore / remove all the files that also contain the I/O part, since OpenCV can take care of them. Then you can also look for functions that are already implemented in OpenCV, such as applying an affine transform, SVD... and progressively replace them by their OpenCV counterpart.