Implementing SIFT in Java

后端 未结 3 1942
青春惊慌失措
青春惊慌失措 2020-12-13 23:01

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 tha

相关标签:
3条回答
  • 2020-12-13 23:13

    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

    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

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

    Fiji can be downloaded from here:

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

    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

    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

    0 讨论(0)
  • 2020-12-13 23:26

    You might want to consider ImageJ - http://en.wikipedia.org/wiki/ImageJ

    There is a SIFT plugin for it.

    And check answers on stackoverflow here - Using SIFT for Augmented Reality

    0 讨论(0)
  • 2020-12-13 23:29

    This tutorial in openimaj shows a step by step procedure on how to use SIFT from OpenImaj library.

    http://openimaj.org/tutorial/sift-and-feature-matching.html

    However, If you need to the java implementation, as the tutorial says,

    We’ll use the difference-of-Gaussian feature detector which we describe with a SIFT descriptor. The features we find are described in a way which makes them invariant to size changes, rotation and position. These are quite powerful features and are used in a variety of tasks. The standard implementation of SIFT in OpenIMAJ can be found in the DoGSIFTEngine class:

    The API method reference for the "DoGSIFTEngine" can be found by going through the following link.

    http://openimaj.org/apidocs/org/openimaj/image/feature/local/engine/DoGSIFTEngine.html

    Here is the link to the full implementation

    http://openimaj.org/apidocs/src-html/org/openimaj/image/feature/local/engine/DoGSIFTEngine.html

    0 讨论(0)
提交回复
热议问题