Что это значит при обработке изображений, когда фильтр называется нелинейным?


14

Что означает обработка изображений, когда фильтр называется нелинейным?

Означает ли это, что уравнение фильтра содержит производные, и если бы его не было, его бы назвали линейным?

Ответы:


23

Фильтр F называется «линейным», если для любых скаляров , c 2 и любых изображений I 1 и I 2 :с1с2я1я2

F(с1я1+с2я2)знак равнос1F(я1)+с2F(я2)

Это включает:

  • производные
  • Интегралы
  • преобразование Фурье
  • Z-преобразование
  • Геометрические преобразования (вращение, перевод, масштабирование, деформация)
  • Свертка и корреляция
  • состав любого набора линейных фильтров (т.е. применение какого-либо линейного фильтра к выходу другого линейного фильтра )F(грамм(я))
  • сумма результата любых двух линейных фильтров (то есть выход одного фильтра добавляется попиксельно к выходу другого фильтра )F(я)+грамм(я)

и много других.

Примеры нелинейных фильтров:

  • квадрат, абсолют, квадратный корень, exp или логарифм результата любого линейного фильтра
  • F(я)грамм(я)
  • морфологические фильтры
  • средний фильтр

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

1
ЧАС1(Z)ЧАС2(Z)ЧАС1(е)ЧАС2(е)Передаточные функции - это то, что подразумевается под произведением двух линейных фильтров, и этот фильтр является нелинейным, даже если его два компонента являются линейными фильтрами.
Дилип Сарвейт

@DilipSarwate: Хороший вопрос. Я добавил композицию в список и пояснил, что я имел в виду под «произведением двух фильтров».
Ники Эстнер

@nikie Отличный список. Вы могли бы также перечислить Сегментацию изображения (поскольку я вижу, что она существует как отдельная техника) как другой нелинейный метод. (Эквивалентно удерживанию обмолота в 1-D смысле).
Спейси

@nikie Я не верю, что перевод - это линейная операция.
Спейс

1

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

Теперь линейный фильтр (например, «средний») работает так:

  1. Поместите окно над элементом
  2. Возьмите среднее - суммируйте элементы и разделите сумму на количество элементов.

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

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

Вот числовой пример: скажем, у вас есть ai, j (т.е. окно 3x3) с якорем (центральный пиксель посередине в позиции (2,2) и значения (уровень яркости) 40, 60, 80, 89, 90 , 100, 101, 105, 185. Вы заметите, что медиана равна 90, поэтому пиксель привязки станет 90. Теперь предположим, что вы увеличиваете размер окна и добавляете больше значений к этим девяти, а именно к окну 5x5. есть вероятность того, что даже после этого медиана все равно будет 90. Таким образом, изменение на входе не обязательно дает пропорциональное изменение на выходе, следовательно, нелинейность.


-1. Я бы согласился, что Медиана является нелинейным фильтром. Однако ваше объяснение неприемлемо.
Дипан Мехта

0

Это напоминает мне: много лет назад (15?) Я читал в неакадемическом, но довольно известном журнале для разработчиков (cof, cofdr, cof, cofdobbs ...) объяснение о LPC = линейное прогнозирующее кодирование ... Это дало В качестве примера прогнозирование сигнала Икс[T+1] на основе значений Икс[T] и Икс[T-1]и объяснил, что для типичного (сглаженного) сигнала это можно сделать, нарисовав прямую линию, проходящую через эти два заданных значения ... и поэтому прогноз был назван «линейным». Я не мог поверить своим глазам.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.