LINUX.ORG.RU

[loroogle][шумбанъ] алгоритмы над изображеними.

 


0

1

Насоветуйте пожалуйста алгоритмы избавления от шумов на изображениях. Если, кто ещё и знает наименования библиотек - пишите.

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

Гаусс не предлагать.

★★★

И в 100500й раз советую почитать Гонсалеса и Вудса.

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

Если области с шумом редки и одного цвета, как говорите, можно выделить их тупым поиском цвета (переводим в HSV и ищем цвет в диапазоне X₀±dX, где X₀ - средний цвет вашего шума, dX - предельное отклонение), затем «загладить» эту область (метод интерполяции по ближайшему, линейной, биквадратной или бикубической).

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

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от visual

Ого! Так у вас задачка посложней.

Советую попробовать библиотеку leptonica.

Алгоритм таков: бинаризуем изображение (интенсивность выше некоего порога заменяем на 1, остальное - нулями), затем функцией из лептоники или самостоятельно сжимаем изображение в битовое (т.е. соседние 8 пикселей кодируем одним байтом), далее лептоникой же ищем связанные области, затем ищем среди них те, чьи размеры меньше некоего предела. Их и выбрасываем на итоговом изображении (вам, похоже, достаточно просто нулями заменить).

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

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

о, большое спасибо, завтра буду разбираться

visual ★★★
() автор топика
Ответ на: комментарий от yoghurt

После того прошло довольно много времени и я (не без помощи ЛОРа) перешел на mercurial :)

Eddy_Em ☆☆☆☆☆
()

>красное шум, зелёное - то что надо оставить в первозданном виде

Ярославский Л.П. Цифровая обработка сигналов в оптике и голографии: Введение в цифровую оптику.

§8. (стр.188) Адаптивные линейные фильтры для локализации объектов на изображении.

>сначала стоит пройтись медианным фильтром. // Eddy_Em

§9. (стр.214) Ранговые алгоритмы обработки изображений - эффективнее.

quickquest ★★★★★
()
Ответ на: комментарий от visual

По идее надо любой более эффективный чем порог по интенсивности алгоритм выделения областей, чтобы серые края не превращались в чёрно-белую сетку. Можно просто LoG пробежаться и порог от него брать, можно сегментацией (водораздел, деление графа и т.д.) Ну и дальше просто искать цельные области площадью в пикселях больше заданной. Если серые края не нужны, то можно прямо к тому что есть порог по размеру зерна применять.

http://gwyddion.svn.sourceforge.net/viewvc/gwyddion/branches/GWYDDION-3/libgw...

dn2010 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.