I've been working with openCV to try to track a green ring. Basically I convert to HSV space, pyramid down twice, blur, then split the channels and equalize the V. Then I merge the channels, set upper and lower bounds for each channel and do an in-range. From there I do some circle detection using a simple Blob detector. All I'm after is the center of this ring as it moves around so I just want that keypoint.
What I find is it works great if I adjust the upper and lower bounds at my desk. Even if I turn off my light or shine a flashlight on it. But then I go out in the hallway under different light and it doesn't work. I can of course adjust it to get it to work.
Am I going about this the wrong way? I was thinking of next trying to run detection at different preset ranges, or a sliding window of ranges to find my circle.