2

I want to find an image in another image. I already tried a "template matching" approach, but i didn't know how make it invariant to changes in scale, rotation, perspective, etc.

I have read about feature detection and suspect that usage of sift-features might be the best approach. Beside that i need an implementation of using feature detection using javacv not opencv.

Is there any implementation using feature detection or any other proposal for my problem?

Sebastian Schmitz
  • 1,884
  • 3
  • 21
  • 41
HADEV
  • 437
  • 8
  • 19
  • You really should use more than one sentence to describe your problem! – Sebastian Schmitz Jan 20 '14 at 12:55
  • My problem is that i have a simple image suppose a logo and i want to find this logo in another image where this image may contain light or rotated or .. so match template is not effective so i need implementation of feature detection using sift or any proposal for finding an image in another image other than match template – HADEV Jan 20 '14 at 17:35

2 Answers2

2

If you understand the basics of JavaCV you can look at the ObjectFinder example of JavaCV.

ObjectFinder @ code.google.com

This example shows you, how to do the important steps to solve your problem.

Before using the ObjectFinder you have to call the following method to load the non free modules (e.g. SURF):

com.googlecode.javacv.cpp.opencv_nonfree.initModule_nonfree();
benny.la
  • 1,212
  • 12
  • 26
  • I tried this but i have an exception The function/feature is not implemented (OpenCV was built without SURF support) in unknown function I googled that exception and i found this solution on this [link][1] But what i am not understanding is that i am linking opencv as a jar file so how can i link dll windows and to where [1]: http://stackoverflow.com/questions/11175794/opencv-surf-function-is-not-implemented – HADEV Jan 21 '14 at 19:25
  • Have you tried this: com.googlecode.javacv.cpp.opencv_nonfree.initModule_nonfree(); – benny.la Jan 22 '14 at 07:24
0

Just for completeness. You can use the image feature matching capabilities provided by opencv, described here. There is even a full implementation of a well working matcher with javacv (in scala though, but it's easily portable into java).

th0m4d
  • 152
  • 10