Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Взвешенный медианный фильтр 3x1 |
Автор: Чистый 7.1.2013, 18:23 |
Добрый день! Делаю к.р. Надо реализовать взвешенный медианный фильтр 3x1, в нете информация только по медианному фильтру и то я все равно не понимаю как его применять, не могли бы растолковать этот алгоритм, не нужна реализация, а просто что бы растолковали. Например, медианный фильтр подразумевает использование матрицы, в маем случае как я понимаю это матрица 3х1, она накладывается на изображение, в итоге получаем 3 пикселя изображения, теперь этот массив пикселей надо отсортировать, вопрос как? Ведь пиксель это как минимум три значения (RGB) или банально преобразовать в какой-нить unsigned char* ? Дальше после отсортировки мы берем среднее значение и это значение применяется к текущему пикселю. Это касательно медианного фильтра, взвешенный же, судя по логике, подразумевает использование весового значения для каждого элемента матрицы, вот и встает вопрос откуда эти весовые значения брать? После опять сортируем и выбираем медиану, которую применяем к текущему пикселю. Зарание спасибо за объяснения непутевому студенту! |
Автор: Чистый 7.1.2013, 19:10 | ||||
я работаю c изображением, вот и предположил это.... получается я раскладываю изображение на три канала и отдельно их обрабатываю затем соединяю и получаю исходное изображение?
так откуда взять этот самый фильтр? |
Автор: Фантом 7.1.2013, 19:19 | ||
Надеюсь, все же не исходное. ![]() Дело в том, что для двумерных данных (т.е., в частности, для изображений) такой фильтр будет анизотропным, что несколько странно. В общем случае лучше использовать маски в виде квадратов, крестов и т.п., а такое анизотропное сглаживание имеет смысл только в том случае, если помехи на изображении тоже почему-то линейны (и это заранее известно). Подобрать самому. Правда, для такой маленькой маски добавка весов будет практически лишена смысла: уже даже тот пример, который я привел выше, с весами 1 3 1, фактически отключает сглаживание полностью. |
Автор: Чистый 7.1.2013, 19:26 | ||||
я имел ввиду что получу обработанное изображение.
почему странно? Просто у меня в задании написано то как я назвал тему, и полагаю что 3x1 это и есть маска или я недопонимаю чего-то? |
Автор: Фантом 7.1.2013, 19:38 |
Это действительно должна быть маска, так что формально все правильно. Просто задание не очень осмысленное. Впрочем, подсчет медианы на такой малой выборке в принципе не слишком разумен... ![]() |
Автор: Чистый 7.1.2013, 19:54 |
тогда последний вопрос, можно ли этим методом зашумить изображение например на 20%? Если до то что меняется в логике? Спасибо за помощь! |
Автор: Фантом 7.1.2013, 20:03 | ||
По-настоящему зашумить - нет. Можно "размазать". |
Автор: Чистый 7.1.2013, 20:07 |
Спасибо, буду пробовать все это добро реализовать, будут вопросы/результаты буду отписываться! Спасибо! |
Автор: Чистый 7.1.2013, 23:10 | ||
вообщем вот что написал (Qt/C++):
изображение не изменяется никак :( |