I am currently working on a presentation of computer vision with OpenCV. The app includes goal identification and feature identification. Actually, I will have a target cross in the visible area and slowly go through it after a couple of seconds. This should give me 50-60 frames from the camera in which I can find the target.
We have successfully implemented detection algorithms using SWT and OCR (all targets have alphanumeric identifiers, which makes them relatively easy to distinguish). I want to use as much data as possible from all 50-60 snapshots of each target. To do this, I need to somehow determine that a specific ROI of image 2 contains the same goal as another ROI from image 1.
That I ask for a little advice from someone who may have come across this before. How can I easily / quickly determine, with a reasonable margin of error, that ROI # 2 has the same purpose as ROI # 1? My first instinct looks something like this:
- Target detection in frame 1.
- Calculate the specific unique functions of each of the targets in frame 1. Save.
- Get frame 2.
- Immediately find ROIs that have the same features as in step 2. Grab them and send them down the line for further processing, skipping step 5.
- Detecting new targets in frame 2.
- Transferring targets to the stream to calculate the shape, color, GPS coordinates, etc.
- Pour, rinse, repeat.
I think that the capabilities of SURF or SIFT may be a way to accomplish this, but I am worried that they might have trouble identifying targets as the same from frame to frame due to color distortion or fading. I do not know how to set the threshold for SIFT / SURF functions.
Thank you for any light you can shed on this issue.
source share