2013-07-01 2 views
-1

У меня есть изображение, которое мне нужно найти 2 диапазона цветов, которые больше всего кажутся и цвет каждого из них.Найти, какие цвета больше всего видны в изображении

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

Есть ли простой известный алгоритм для решения моей проблемы? Я знаю, что я не первый человек, столкнувшийся с этой проблемой ...

Спасибо!

+1

Чтобы найти наиболее часто используемые цвета, просто создайте [цветную гистограмму] (http://en.wikipedia.org/wiki/Color_histogram) и найдите самые большие значения. – MrSmith42

+0

Если фон является однородной гистограммой цвета, это хорошая идея. первый самый высокий пик - фон, а второй будет передним планом (если передний план имеет большую площадь). –

ответ

0

Это может быть решена по-разному относиться к входному изображению (предполагая, что изображения являются бесшумный - только два цвета):

  • шкалы серого изображения, где пиксели изменяются от 0 до 255: В этом случае создать гистограмму (гистограмма изображения рассчитать появление цветов на изображении, например, черное изображение с небольшим белым диском будет иметь гистограмму из двух столбцов). Из этой гистограммы выберите самое высокое значение как цвет фона и другое значение для линии.

  • Цветное изображение: В этом случае вам нужно отделить цветной канал от других каналов, во многих случаях достаточно модели HSB (Hue Saturation Brightness). Создайте гистограмму значения H и сделайте то же самое, что и в шкале оттенков серого.

спасибо.

Смежные вопросы