I must say you are going to do a really nice project.
Well, according to best of my knowledge CAMSHIFT is not heavilydependent on the colour. If you somehow create the blob, usingthresholding or what ever the method CAMSHIFT will help you to track it.But as u said you must give the first position.
Initially, you can have a better algorithm to detect exactly thelocation of LEDs. As soon as you detect the LEDs you can switch to thenormal algorithm where you just track what you have acquired initially.
You have to do is segment the LED section properly and find the contour.After getting the contour of the blob give that to the CAMSHIFTfunction.
int cvCamShift(const CvArr* prob_image, CvRect window, CvTermCriteriacriteria, CvConnectedComp* comp, CvBox2D* box=NULL);
As I remember (used this function in 2002 ;-)), you should give theinitial window through "window" and get the next window to be considered through "comp->rect". Then apply that new window as the initial windowwhen it is called next time.
Hope this will help you. Good Luck![I have used camshift to track a person inside a room. CAMSHIFT workedperfectly. I just found the blob using a normal skin color detectionmethod. And just gave the blob contour bounding box to the CamShift.]
-----Original Message-----From: OpenCV@yahoogroups.com [mailto:OpenCV@yahoogroups.com] On BehalfOf MikaelSent: Tuesday, September 20, 2005 12:39 PMTo: OpenCV@yahoogroups.comSubject: [OpenCV] Tracking LED's with OpenCV and CAMSHIFT
Hi,I'm currently working on a project to build a helicopter which I thenhave to track (and control) using a camera + opencv.
I'm going to mount 4 LED's beneath the helicopter (in a form of across), and then track them from ground using a webcam to figure out itsorientation.I have had thoughts using CAMSHIFT, but after some research I'vediscovered that it relies heavily on colors. Colors could be a problemsince the main plan was to use IR LED's, and that would make most of theimage BW.The other problem is that I have to manually tell CAMSHIFT what itshould track (by putting a small box around one of the LED's), and Iwould rather have a system running that auto discovers the LED points.
Anyone got a suggestion for another tracking method approach maybe?Any help would be greatly appreciated!