Перейти к содержимому
Compvision.ru
oma

Фильтрация изображений.

Recommended Posts

Подскажите, как по-простому реализовать Винеровскую фильтрацию изображений средствами OpenCV?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В самом opencv такой функции нет. В комьюнити на yahoo есть только пара ссылок на cvWiener2, но мертвые. Так что по-простому не выйдет - самому писать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На Yahoo я уже был :) Сам писать пробовал (используя cvMulSpectrums), но что-то я делаю неаккуратно. За основу брал http://public.cranfield.ac.uk/c5354/teachi...dft_highpass.cc Если удастся разобраться за выходные, то выложу свой код на всеобщее обозрение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хотелось бы узнать какие существуют современные алгоритмы фильтрации изображений для шумов соль перец, гауссового шума , а так же больше всего интересно для комбинированного шума когда шум соль перец накладыватся на гауссов шум.

Интересуют как готовые реализации так и просто ссылки на источники, описания, работы в этой проблемной области.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Хотелось бы узнать какие существуют современные алгоритмы фильтрации изображений для шумов соль перец, гауссового шума , а так же больше всего интересно для комбинированного шума когда шум соль перец накладыватся на гауссов шум.

Интересуют как готовые реализации так и просто ссылки на источники, описания, работы в этой проблемной области.

Можете посмотреть фильтр Винера (Wiener) в Google там-же если набрать cupbook.pdf найдется неплохая книжка, еще книжка найдется если набрать Kim-Hui Yap, Ling Guan, Stuart Perry - Adaptive Image Processing A Computational Intelligence Perspective (2nd Ed.) 2009

Пока больше ничего нет под рукой. Сейчас пытаюсь разобраться с винеровской фильтрацией, не хватает фунции cvDivSpectrums, хотя cvMulSpectrums имеется. Поэтому свертка получается, а обратно нет.

ЗЫ: Есть еще китайские исходники allofimage.rar в Google.

ЗЫЗЫ: здесь есть юиюлиотека генерации шума с разными параметрами: http://libnoise.sourceforge.net/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Собственно говоря фильтр винера у меня уже реализован на С#(без OpenCV) и в матлабе он есть.(там же генерю шумы), и теорию я по нему читал, правда несколько напрягает, что вся теория в частотной области, а реализация в пространсвенной.(вроде даже читал что выигрыш по скорости у пространсвенных (кроме то ли малых изображений, то ли малых масок) потому как фурье преобразование туда сюда гонять надо и это ресурсоемко)

но работает он как то неудовлетворительно, как я понимаю сильная привязка к уровню шума, который определяется как средняя дисперсия по всему изображению(и соответсвенно очень неточно).Правда тут есть идея его модифицировать, для оценки параметров шума из зашумленного изображения вычитаем фильтрованное, в итоге получаем примерное распределение шума что то типа как на картинке.

начальное

image.png

с шумом

image.png

разница

image.png

выделенные области

image.png

так вот задача стоит в том чтобы убрать из рассмотрения эти черные области которые портят статистику, а с помощью чего это сделать я не знаю.

Смотрел еще какие то принты последних лет на английском, там идет сравнение 5 алгоритмов 2009-2010 годов но теорию не осилил, да еще и на английском.

(попозже может скину если найду)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А вейвлет-фильтрацию в Матлабе не смотрел? Может устроит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
А вейвлет-фильтрацию в Матлабе не смотрел? Может устроит?

Вообще как то не хочеться лезть в частотную область и вейвлеты.(по книжке по матлабу смотрел вейвлет фильтрацию)

Скорее хочеться узнать о всяких там адаптивных алгоритмах или итеративных в пространсвенной области.

и еще решить вышеописанную задачу по винеру.

кстати еще вопрос.

как вообще в теории ищутся прямоугольные области?

Допустим я нашел контур области,посчитал периметр, потом нашел центр масс, нашел краевые точки сверху снизу и по бокам, и теперь не очень понятно как считать площадь этой фигуры или определить ее принадлежность к прямоугольнику.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В теории области прямоугольной формы ищутся с помощью преобразования Хафа. В OpenCV есть примеры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×