Алгоритмы и структуры данных 2 2017/2018/Segmentation — различия между версиями
Материал из Wiki - Факультет компьютерных наук
Aumnov (обсуждение | вклад) |
Aumnov (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
== Сегментация изображений == | == Сегментация изображений == | ||
− | В этом задании вам необходимо реализовать алгоритм сегментации изображений с помощью | + | В этом задании вам необходимо реализовать алгоритм сегментации изображений с помощью локального поиска для минимального разреза. Для простоты мы будем делать сегментацию на 2 класса на основе цветов пикселей. |
− | Вам дается код с заготовкой, в которой написана базовая загрузка изображений и некоторые удобные функции для работы с ними. Необходимо реализовать функцию | + | Вам дается код с заготовкой, в которой написана базовая загрузка изображений (с помощью библиотеки scipy) и некоторые удобные функции для работы с ними. Необходимо реализовать функцию |
сегментации и проверить ее работу на нескольких примерах изображений. | сегментации и проверить ее работу на нескольких примерах изображений. | ||
Строка 11: | Строка 11: | ||
Пояснения по заданию и коду: | Пояснения по заданию и коду: | ||
− | * Для каждого класса фиксируется свой основной цвет (переменные S и T, нужно задавать вручную для каждого изображения) | + | * Для каждого класса фиксируется свой основной цвет (переменные S и T, нужно задавать вручную для каждого изображения). |
− | * Расстояние между двумя цветам вычисляется как среднеквадратичное между яркостями компонент (функция dist) | + | * Расстояние между двумя цветам вычисляется как среднеквадратичное между яркостями компонент (функция dist). |
− | * Штраф данного пикселя за принадлежность классу равен расстоянию от него до цвета класса | + | * Штраф данного пикселя за принадлежность к классу равен расстоянию от него до цвета класса. |
− | * Штраф для отнесения соседних пикселей к разным классам равен расстоянию между их цветами | + | * Штраф для отнесения соседних пикселей к разным классам равен расстоянию между их цветами. |
− | * В заготовке после сегментации пиксели изображения подкрашиваются в соответствующий цвет для наглядности | + | * В заготовке после сегментации пиксели изображения подкрашиваются в соответствующий цвет для наглядности. |
− | * Заготовкой пользоваться не обязательно, программировать можно как на Python, так и на C++ (но заготовки для C++ нет) | + | * Заготовкой пользоваться не обязательно, программировать можно как на Python, так и на C++ (но заготовки для C++ нет). |
Текущая версия на 14:37, 10 октября 2017
Сегментация изображений
В этом задании вам необходимо реализовать алгоритм сегментации изображений с помощью локального поиска для минимального разреза. Для простоты мы будем делать сегментацию на 2 класса на основе цветов пикселей.
Вам дается код с заготовкой, в которой написана базовая загрузка изображений (с помощью библиотеки scipy) и некоторые удобные функции для работы с ними. Необходимо реализовать функцию сегментации и проверить ее работу на нескольких примерах изображений.
Пояснения по заданию и коду:
- Для каждого класса фиксируется свой основной цвет (переменные S и T, нужно задавать вручную для каждого изображения).
- Расстояние между двумя цветам вычисляется как среднеквадратичное между яркостями компонент (функция dist).
- Штраф данного пикселя за принадлежность к классу равен расстоянию от него до цвета класса.
- Штраф для отнесения соседних пикселей к разным классам равен расстоянию между их цветами.
- В заготовке после сегментации пиксели изображения подкрашиваются в соответствующий цвет для наглядности.
- Заготовкой пользоваться не обязательно, программировать можно как на Python, так и на C++ (но заготовки для C++ нет).