OpenCV Tutorial 11: Object Detection and Tracking via SURF (Speeded Up Robust Features) in Emgu CV
Why Stack Overflow recommends it
Stack Overflow users link it when answering questions about SURF, feature matching and object tracking in OpenCV or Emgu CV, especially for C# developers who want a working example.
Recommended by 4 people across 4 different months, 2013 to 2017.
What it is
A 44-minute tutorial by Chris Dahms from his OpenCV series, showing how to detect and track an object in Emgu CV (the C# wrapper for OpenCV) using SURF keypoint matching. It walks through the code for finding a known object in a live or still image.
What people said
Recommends Dimitri Mockelyn · 2013-08 · Stack Overflow · on “C++ OpenCV hand gesture recognition”
I think you should take a look at color tracking and feature detection Here is a great tutorial about color tracking [LINK] And a tutorial about feature detection [this video] Good luck for your project !
Recommends Shiva · 2014-02 · Stack Overflow · on “emgu c# object tracking moments”
The Canny function is the implementation of an edge detection algorithm ,it uses a multi-stage algorithm to detect a wide range of edges in images. refer to this wikipedia article [LINK] or this tutorial/code [LINK] to understand better. The other part of the question is a bit more tricky as drawing a shape around the tracked object will depend on the quality of the image received after applying the canny edge detection and also the geometry of the object. So you might want to adjust values of the canny function to suit your needs. but you can refer to these youtube video tutorials to better understand/code your object tracking logic. Video 1 [this video] Video 2 [LINK] . Hoping it helps.
Recommends Aphire · 2015-05 · Stack Overflow · on “SURF algorithm implementation in C#”
I would suggest you take a look at this [this video] fantastic resource. This is SURF implemented via the OpenCV C# port called "EMGU" Hope it helps.
Recommends pastaleg · 2017-06 · Stack Overflow · on “Find pixel coordinates in an input image in keypoint matching algorithm using opencv?”
It is a multifaceted problem. Its easier to help with specific questions or problems. This tutorial on Youtube [this video] helped me with this problem.
Cites Raphael Quintão · 2013-04 · Stack Overflow · on “Android OpenCV Object Detection”
Im trying to implement something like this: [this video] on android. Here my code: public Mat onCameraFrame(CvCameraViewFrame inputFrame) { Mat novo = new Mat(); Mat resp = new Mat(); Mat homer = new Mat(); //resp = inputFrame.gray(); novo = inputFrame.gray(); Mat lido = new Mat(); try { lido = Utils.loadResource(this, R.drawable.homer); } catch (IOException e) { e.printStackTrace(); } Imgproc.cvtColor(lido, homer, Imgproc.COLOR_RGB2GRAY); FeatureDetector surf = FeatureDetector.create(FeatureDetector.FAST); MatOfKeyPoint keypointsHomer = new MatOfKeyPoint(); MatOfKeyPoint keypoints = new MatOfKeyPoint(); surf.detect(homer, keypointsHomer); surf.detect(novo, keypoints); DescriptorExtractor SurfExt
Cites Basheer_CAD · 2014-03 · Stack Overflow · on “OpenCV detect image against a image set”
I would recommend using SURF for that, because pictures can be on different distances form your camera, i.e changing the scale. I had one similar experiment and SURF worked just as expected. But SURF has very difficult adjustment (and expensive operations), you should try different setups before you get the needed results. Here is a link: [LINK] youtube video (in C#, but can give an idea): [this video]