1. You guys were very good in the past so here I'm again asking for help.
2. I don't know if this question belongs here. If not, please don't kick me too hard. ;-)
I have a photograph taken by the Android/iPhone camera. This photo consists of:
b) white paper A4
c) human foot
Depending on the lightning condition and the position of the camera shadow will appear on the paper.
My task is to find where the foot is on this picture and get some parameters out of it.
I can successfully filter out the background and get the resulting image with just a paper and the foot.
I can successfully skip processing the paper and find where the actual foot is located.
However I can not differentiate between the actual skin of the foot and the shadow.
Now I know that the resulting pixel of an image is a (background pixel (op) paper pixel (op) shadow pixel | foot pixel). Problem is I have no idea what (op) is and will getting the foreground pixel will help.
I tried googling for "image recognition c++", There are lots and lots of theoretical books of how to do the face recognition what is this algorythm and why it is preferred over that algorythm. But there is no simple: you need to find this compazre with that if they don't match you found the edge.
If they match you need to find the foreground pixel by doing a, b and c.
So my question is: What would be the way of finding out the foreground rgb value of pixel and will it help in my case?
I'm not doing face recgnition which is far more hard task. This is foot, the shape is known and the position is somewhere in the middle of the paper.
It seems to me that the internal color variation of the shadowed region on the paper will be very low. You might be able to use this to identify and discard it. Also, it will probably correspond to the color of the paper, except scaled down in brightness. (This relationship may hold better in non-RGB color spaces, such as CIELAB or HSV).
The color of the foot will be on a continuum from dark brown to tan, but will certainly not be gray. This can also be a disambiguator.