在Java中实现SIFT [英] Implementing SIFT in Java

查看:1509
本文介绍了在Java中实现SIFT的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,我正在开发一个简单的Java应用程序,允许用户输入图像作为查询,并让应用程序与图像数据库(它基本上只是不同的图像的目录)进行比较。我基本上正在调查几种图像相似性测量技术,以找出哪些适合比较汽车的照片。

So I'm working on a simple Java app that allows a user to input an image as a query and have the app compare it against a database of images (which is basically no more than a directory of different images). I'm basically investigating several image similarity measurement techniques to find out which ones are appropriate for comparing pictures of cars.

我已经做了一些阅读,除了FFT / SSIM,我看到SIFT算法可以产生非常好的结果。但是,作为只有大约一年的基本Java经验的人,我真的不知道我是否是一个足够好的程序员,以能够实现它。地狱,我仍然无法理解算法的核心概念,因为它显而易见的复杂性。

I've been doing some reading and apart from FFT/SSIM, I've read that the SIFT algorithm can yield very good results. However, as someone with only about a year's worth of basic Java experience, I'm honestly not sure if I'm a good enough programmer to be able to implement it. Hell, I'm still having trouble understanding the core concepts of the algorithm due to it's apparent complexity.

所以我想请求那些比我更多的经验。它是否甚至实用的第一地实现SIFT为此目的?我可以用JDK单独(没有其他插件,如果可能的话)?

So I'd like to ask those with much more experience than me. Is it even practical in the first place to implement SIFT for such purpose? Could I do it with the JDK alone (no other addons, if even possible)? How would I go about doing it?

提前感谢

推荐答案

扩展ImageJ的Fiji图像处理软件包有一个维基网站,其中包含SIFT插件的信息:

The Fiji image processing package, which extends ImageJ, has a wiki website with information on its SIFT plugin:

http://pacific.mpi-cbg.de/wiki/index.php/Feature_Extraction

在java中的SIFT实现的源代码在mpicbg.git存储库中可用:

The source code of the SIFT implementation in java is available in the mpicbg.git repository:

http://pacific.mpi-cbg.de/cgi-bin/gitweb.cgi?p=mpicbg.git

包含SIFT特征提取和特征匹配的库是下载Fiji时的Fiji.app/jars/文件夹下的mpicbg.jar。

The library that includes the SIFT feature extraction and feature matching is the mpicbg.jar, under Fiji.app/jars/ folder when you download Fiji.

斐济可以从这里下载:

http://pacific.mpi-cbg.de/wiki/index.php/下载

SIFT插件的使用示例连续切片在电子显微镜堆叠中的配准。查看此页:

An example of usage of the SIFT plugin is the registration of consecutive slices in an electron microscopy stack. See this page:

http:// pacific .mpi-cbg.de / wiki / index.php / Register_Virtual_Stack_Slices

源代码将教你如何使用库进行SIFT特征提取和从匹配特征集计算变换模型:

The source code will teach you how to use the library for SIFT feature extraction and for computing transformation models from sets of matching features:

http://pacific.mpi-cbg.de/cgi-bin/gitweb.cgi?p= fiji.git; a = blob; f = src-plugins / register_virtual_stack_slices / register_virtual_stack / Register_Virtual_Stack_MT.java; hb = HEAD

这篇关于在Java中实现SIFT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆