Normalize illumination variable in a color image (real-time tracking C++)
Hi community c: I'm doing my final university test and i'm trying to track color objects in real time, specifically blue (i'm noob in opencv). I achieved this but when i change of environment, and light obviously changes, the program doesn't track the object anymore or just track a part of it that had a similar color of the first environment. I investigate about it and i found a lot of information about histogram equalization and normalization by gamma and Gaussian Blur correction, but i didn't get the results that i expected, and to be honest i didn't get it like as i would have like, and also i'm not sure if that methods work in color images...
Doing a summary of the code that i use, i convert RGB to HSV and then threshold the frames captured to find a specific color with a specific interval. Then apply the track code that find the white pixels.
So my question is, how can I eliminate the illumination variable to detect a blue object in differents environments?
I'll appreciate a lot if you could guide me with this, i'm doing my best. thanks :)
You won't simply fix this. Illuminations is somewhat the hardest parameter to completely remove. There is still alot of active research in it. You should go further than simply segmentation, trying to train a detector for your object.