I want to describe the color of an image patch (say, of size 5x5) centered around a pixel of an RGB image. The most straightforward way to do that is to calculate the average color over that patch and have a 3D vector, where each component represents the average color of the corresponding channel.
Another way, more informative in my opinion, is to calculate an weighted average where the weights decrease the further we go from the center of the patch. In the literature, is there an efficient and proven way to describe the color of a small patch of an image?
I'm asking this question because I'm trying to implement a particle filter that tracks an object that has a certain color. Now, the object I want to track is very narrow, so my patch should be very small to fit inside it.
Most of the color-based particle filtering algorithms represent the color information with a histogram and calculate the battacharyya distance - for example, between the histogram of the particle and the reference histogram. For a patch of 5x5, a histogram is not efficient because there are only 25 pixels.
On the other hand, patch descriptors like SIFT and SURF are not suited for color in my opinion (but if you have a different opinion it's more than welcome), this is why I'm looking for another way to robustly represent the color on a small patch of pixels.