Алгоритмы и структуры данных 2 2017/2018/Segmentation: различия между версиями
Перейти к навигации
Перейти к поиску
Aumnov (обсуждение | вклад) Нет описания правки |
Aumnov (обсуждение | вклад) Нет описания правки |
||
| Строка 3: | Строка 3: | ||
В этом задании вам необходимо реализовать алгоритм сегментации изображений с помощью максимального разреза. Для простоты мы будем делать сегментацию на 2 класса на основе цветов пикселей. | В этом задании вам необходимо реализовать алгоритм сегментации изображений с помощью максимального разреза. Для простоты мы будем делать сегментацию на 2 класса на основе цветов пикселей. | ||
Вам дается код с заготовкой, в которой написана базовая загрузка изображений и некоторые удобные функции для работы с ними. Необходимо реализовать функцию | Вам дается код с заготовкой, в которой написана базовая загрузка изображений (с помощью библиотеки scipy) и некоторые удобные функции для работы с ними. Необходимо реализовать функцию | ||
сегментации и проверить ее работу на нескольких примерах изображений. | сегментации и проверить ее работу на нескольких примерах изображений. | ||
| Строка 9: | Строка 9: | ||
[https://www.dropbox.com/s/90byx68xotodm9m/images.zip?dl=0 Примеры изображений] | [https://www.dropbox.com/s/90byx68xotodm9m/images.zip?dl=0 Примеры изображений] | ||
Реализацию необходимо отправить | |||
Пояснения по заданию и коду: | Пояснения по заданию и коду: | ||
Версия от 16:13, 1 октября 2017
Сегментация изображений
В этом задании вам необходимо реализовать алгоритм сегментации изображений с помощью максимального разреза. Для простоты мы будем делать сегментацию на 2 класса на основе цветов пикселей.
Вам дается код с заготовкой, в которой написана базовая загрузка изображений (с помощью библиотеки scipy) и некоторые удобные функции для работы с ними. Необходимо реализовать функцию сегментации и проверить ее работу на нескольких примерах изображений.
Реализацию необходимо отправить
Пояснения по заданию и коду:
- Для каждого класса фиксируется свой основной цвет (переменные S и T, нужно задавать вручную для каждого изображения).
- Расстояние между двумя цветам вычисляется как среднеквадратичное между яркостями компонент (функция dist).
- Штраф данного пикселя за принадлежность к классу равен расстоянию от него до цвета класса.
- Штраф для отнесения соседних пикселей к разным классам равен расстоянию между их цветами.
- В заготовке после сегментации пиксели изображения подкрашиваются в соответствующий цвет для наглядности.
- Заготовкой пользоваться не обязательно, программировать можно как на Python, так и на C++ (но заготовки для C++ нет).