Lê uma imagem e descobrir quais são as 20 cores mais predominantes

Olá pessoal,

Na disciplina de computação gráfica. O professor passou o seguinte desafio:

  • Elabore um código em C que, dada uma imagem em RGB, determine as 20 cores
    mais presentes na imagem.

O problema é que eu não faço a mínima ideia por onde começar, quais bibliotecas do C usar e etc.
Ele quer isso seja feito usando uma biblioteca chamada Cekeikon, claro que necessariamente não precisa ser usando essa biblioteca.
Já dei uma googleada e não encontrei nada relevante que me ajudasse, sinceramente acho a documentação em si desse negócio podre.

manual de instalação - cekeikon

Tem um exemplo onde, ele lê uma imagem, me faltaria a parte de descobrir quais as cores mais predominantes:

//exemplo2.cpp
#include <cekeikon.h>
int main()
{ Mat_<COR> a;
 le(a,"exemplo1.png");
 for (int l=0; l<a.rows; l++)
 for (int c=0; c<a.cols; c++) {
 a(l,c)[2]=(5*c)%256;
 a(l,c)[1]=(10*c)%256;
 }
 imp(a,"exemplo2.jpg90");
}

Primeiro que nada, seu código ai é C++, não C. E você parece estar usando OpenCV no seu exemplo.

Enfim, a lógica é a mesma de contar as palavras mais comuns em um texto, se já fez isso é igual, exercício comum para ensinar estruturas de dados.

Caso não tenha acendido a lâmpada, basta procurar por isso e terá muitas respostas.