Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Check if two images are similarity or not.

I'm doing a demo to find all similar images of user's input image in collections of images.

It is similar to this example http://ramsrigoutham.com/2012/11/22/panorama-image-stitching-in-opencv/ but what I want is return list of images that similar to the user's input image (All images are similar that taken in different angle have to be showed in result lists).

So I'm using OpenCV Java to it as following:

  • detectKeypoints using FeatureDetector.FAST;
  • computeDescriptors using DescriptorExtractor.SURF;
  • fetureMatching using DescriptorMatcher.FLANNBASED;
  • Then call Calib3d.findHomography(obj, scene, Calib3d.RANSAC, 3) to find Mat object of inline points.

My question here is how can I check if two input images are similar or not because the return result from findHomography(...) is still a Mat object (not something like boolean value TRUE Or FALSE) And my demo require to run in real-time environment. So algorithms I used (FAST, SUFT, FLANNBASED) is correctly to adapt in real-time environment.

Thanks!

Check if two images are similarity or not.

I'm doing a demo to find all similar images of user's input image in collections of images.

It is similar to this example http://ramsrigoutham.com/2012/11/22/panorama-image-stitching-in-opencv/ but what I want is return list of images that similar to the user's input image (All images are similar that taken in different angle have to be showed in result lists).

So I'm using OpenCV Java to it as following:

  • detectKeypoints using FeatureDetector.FAST;
  • computeDescriptors using DescriptorExtractor.SURF;
  • fetureMatching using DescriptorMatcher.FLANNBASED;
  • Then call Calib3d.findHomography(obj, scene, Calib3d.RANSAC, 3) to find Mat object of inline points.

My question here is how can I check if two input images are similar or not because the return result from findHomography(...) is still a Mat object (not something like boolean value TRUE Or FALSE) And my demo require to run in real-time environment. So algorithms I used (FAST, SUFT, FLANNBASED) is correctly to adapt in real-time environment.environment or not ?.

Thanks!