Есть ли способ узнать цвет большинства в файле изображения в Java? - PullRequest
1 голос
/ 16 марта 2012

Я хочу выяснить основной цвет в файле изображения и установить его в качестве фона поворотной рамки. Что мне делать?

Ответы [ 3 ]

1 голос
/ 16 марта 2012

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

1 голос
/ 16 марта 2012

Все сводится к эффективности. Вы можете буквально прочитать каждое значение RGB изображения и найти режим, но это займет много времени.

Скорее, я бы просто разделил изображение на части, скажем, 100 квадратов или что-то в этом роде. Мы берем значение в центре каждого квадрата, и тот, который появляется больше всего, вероятно, является наиболее распространенным цветом. Да, это довольно рискованно, потому что, если изображение просто имеет менее используемый цвет во ВСЕХ пикселях, которые вы оценили. Лучше всего, во-первых, иметь диапазон, поэтому, если вы получаете похожие rgb, такие как (0,2,0) и (0,0,0), вы просто рассматриваете их как одинаковые.

Следующее, что вы должны сделать, это взять около 10% изображения в качестве образца. Скорее всего, вы получите правильный ответ. Таким образом, если изображение имеет 500 пикселей, используйте 50 пикселей в качестве образца, равномерно распределенного вдоль изображения.

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

1 голос
/ 16 марта 2012

вам нужно извлечь процентное значение RGB из вашего изображения для этого некоторого алгоритма, который дает значение RGB. И вам также нужно разделить все ваше изображение на несколько частей (например, квадрат девяти), а затем получить значение RGB, и таким образом вы получите цвет, который больше в вашем изображении. Может быть это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...