Группа: Свой
Сообщений: 144
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 210
Пытаюсь разобраться с проблемой фильтрации бинарного изображения. Есть изображение с фоном (уровень 1) и информацией(уровень 2). Нужно все области связанных пикселей (связь вертикальная либо горизонтальная), размер которых меньше заданного. Я сделал рекурсивный алгоритм, но даже при развороте рекурсии: 1. производительсность его весьма мала 2. невозможно распараллелить
Хочется переложить алгоритм на GPU(вся остальная обработка ведется именно там и не хватает пропускной способности чтобы гонять промежуточне изображения для фильтрации туда-сюда), для этого нужно его как-то распараллелить. Может кто-нибудь знает подходящий для такой фильтрации алгоритм? Интересуют в целом не рекурсивные алгоритмы (может с обходом контуров и подсчетом периметра и др.), которые могут помочь при решении задачи.
Группа: Участник
Сообщений: 18
Регистрация: 21-04-11
Пользователь №: 64 536
Какого размера изображение, какие требования по производительности? Попробуйте поиск в ширину, оптимизировать можно, например, используя очередь. Это классическая задача поиска компонент связности в графе. Простейший способ распараллеливания - обрабатывать изображение частями, затем объединяя области одного цвета на границах.
Группа: Свой
Сообщений: 144
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 210
Цитата(LexsZero @ Sep 15 2011, 14:35)
Какого размера изображение, какие требования по производительности? Попробуйте поиск в ширину, оптимизировать можно, например, используя очередь. Это классическая задача поиска компонент связности в графе. Простейший способ распараллеливания - обрабатывать изображение частями, затем объединяя области одного цвета на границах.
Спасибо, а может есть ссылочка на литературу по этому вопросу?