Search code examples
javaimageimage-processingrgbpixel

algorithms used for content based image retrieval systems


i recently heard about the topic called "content based image retrieval systems". i am trying to learn about the algorithms used in this topic. I already found 2 algorithms. 1) AverageRGB- which calculates the average values of red,green and blue channel of each pixel in an image.

2) GlobalColorHistograms - which create a 64 buckets of colors using the 2 significant bits of RGB colorspace.

Here is my question.How is it that we are getting 64 distinct colors by taking 2 significant bits of RGB channels.What will be the value of the significant bits? i have looked at different places but couldn't understand anything.


Solution

  • Start by splitting the RGB channels in R, G, and B. Given that you will pick only 2 bits, the only possible values are 00, 01, 10, or 11. No matter the values you have in each channel, these are the only four values you can obtain in a given channel. Supposing you found all the four values in each channel, then there are 64 possible 6-bit colors that you can build from that.

    R: 00 01 10 11
    G: 00 01 10 11
    B: 00 01 10 11
    

    With R at 00 you get 16 colors: 000000, 000001, 000010, 000011, 000100, ... Then more 16 starting with 01 and so on, basics of combinatory.