# What mathematically is back projection?

I'm able to use openCV backprojection and I'm also able to implement it myself. However, I don't really understand why it works.

On the obvious side it is just building up a histogram of a target image, creating a probability distribution with it and then applying that pdf to a new image. I believe this is done in the hope that the new back projected image will only show the target information with high probability in the backprojected image.

However, in the docs page ([http://docs.opencv.org/doc/tutorials/...]) it says:

"In terms of statistics, the values stored in BackProjection represent the probability that a pixel in Test Image belongs to a skin area, based on the model histogram that we use."

I'm really struggling to interpret this and in particular the "represent the probability". There must be some formula that specifies it like:

prob("Pixel is from test image" | "New image pixel") = ?????

I just can't get my head around it though. Does anybody have any links or a good explanation of what the terms in the equation are?

Many thanks

edit retag close merge delete

Sort by ยป oldest newest most voted

I think the model histogram can be interpreted as a look up table of the distribution prob("pixel with color h,s shows skin") (if you normalize the histogram). Using this look up table allows you to have arbitrarily shaped distributions. In the case of skin colour, you probably could also fit a gaussian to the model histogram (using the number of pixels that fall into one hs-bin as weight) and then use this to compute the skin-probability.

more

Official site

GitHub

Wiki

Documentation