как найти 16 самых распространенных цветов в img с расширением BMP - PullRequest
0 голосов
/ 07 января 2019
for(int yy=0; yy<height/2; yy++)
{
  SDL_Color kolor = getPixel(xx,yy); //we are gettig each pixel in img;

 setPixel(xx+width/2,yy+height/2,kolor.r,kolor.g,kolor.b );


 //setPixel(xx,yy+height/2,kolor.r,kolor.g,kolor.b);


 //setPixel(xx+width/2,yy,kolor.r,kolor.g,kolor.b);





}

}

Я пытаюсь с помощью цикла найти 16 наиболее распространенных цветов в img и получить его RGB.

Я использовал картографию и пытался что-то сделать со структурой, но все было в порядке.

Если у вас есть идеи о том, как найти эти цвета, я буду вам очень благодарен. Спасибо

1 Ответ

0 голосов
/ 12 января 2019

Если бы у вас было 4x4 img, это было бы просто. Упростим также, гистограмма функционирует на каждом уровне RGB (0-255x3), ожидая, что там будет присутствовать каждый «популярный» цвет. Сортируйте беспорядок в 16 лучших, используемых для каждого, снова ожидая, что они будут правильными. Если у вас нет диких цветов, больше ничего. Проверьте второй раз, чтобы увидеть, существуют ли популярные цвета на самом деле. Наконец, вы можете захотеть сгруппировать в «достаточно близкие» категории, jpegs с потерями из-за ошибки, все в пределах 4 вариаций RGB сгруппировано вместе, уменьшая значения 0-256 до 0-64, если цвета не изменяются широко. Если вы использовали магическую палочку в программе рисования, вы знаете, что допуск = 0 делает очень большие ошибки, та же идея. Медианный фильтр. Это определенно уменьшит количество цветов путем слияния со средним грязным цветом, например, 3x3, 4x4, круглая взвешенная область выборки.

Если ничего не помогает, украдите безопасную веб-палитру с 256 цветами и работайте оттуда.

SWAG-Scientific Wild Ass Guess метод, удачи.

...