Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 25, 2011 16:47:46

smilova
От:
Зарегистрирован: 2011-11-25
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача распознавания цветовых областей

Доброго времени суток, уважаемые жители Королевства!
Пожалуйста, помогите в решении следующей задачи: необходимо на основе сделанной фотографии (пока это файл .jpg) построить индексную карту цветов изображения и построить цветовой рисунок с выделением областей для каждого встречающегося цвета.
Уже сделано:
- для каждого пикселя изображения определен цвет и его координаты (цвет на изображении сравнивается с одним из цветов заданного постоянного массива с помощью вычисления расстояния Евклида).
- построен отсортированный массив (color, (xi, yi)), т.е. с каждым цветом соотнесен перечень координат соответсвующих пикселей (сортировка выполнена по x-координате и в ее рамках - по y-координате). Саму программу надо написать на Python, но Pasсal гораздо привычнее, поэтому прошу помощи здесь.
Возник затор:
-каким образом выделять прямоугольником области для каждого цвета. Ведь цвета друг с другом чередуются как по горизонтали, так и по вертикали. При построении области выделения для одного цвета, просто выбирая из массива самую верхнюю левую и нижнюю правую можно захватить другой цвет.
Пример:
(red, (1, 1), (1, 2), (1, 3), (1, 7), (1, 8), (1, 9), (1, 11),
(2, 1), (2, 2), (2, 3), (2, 5), (3, 7), (6, 9), (6, 10))
(green, (1, 4), (1, 5), (2, 6)),
(blue, (1, 6)), … и т.д.
По сути задача будет в дальнейшем развиваться и относится к классу задач распознавания образов.

Заранее благодарю за подсказку!



Офлайн

#2 Ноя. 25, 2011 17:42:51

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Задача распознавания цветовых областей

а вы http://www.mmorph.com/pymorph/ смотрели? Может ваша задача уже решена?
Выбранная вами структура данных для хранения областей с одним цветом слишком затратна. Ее желательно изменить.

Простейшая структура для хранения этих данных - матрица в которой каждому пикселу соответствует номер области.



Отредактировано (Ноя. 25, 2011 17:52:57)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version