Ответы:
Фильтр F называется «линейным», если для любых скаляров , c 2 и любых изображений I 1 и I 2 :
Это включает:
и много других.
Примеры нелинейных фильтров:
Допустим, у вас есть два фильтра, один линейный и один нелинейный (для фильтрации искаженных изображений). то есть у вас есть плохие пиксели с действительно высокими или низкими значениями, которые выглядят как «нечетные» в небольшой прямоугольной области на изображении.
Теперь линейный фильтр (например, «средний») работает так:
Вы заметите, что если вы расширяете область окна фильтра, вы растягиваете ее по большему количеству элементов (т.е. больше элементов составляют среднее значение, автоматически вносящее вклад в значение отфильтрованного пикселя).
С другой стороны, для нелинейного фильтра, такого как медиана (который заменяет фильтруемый пиксель медианным значением внутри квадратного окна), увеличение окна не обязательно вносит вклад в медиану окна и, следовательно, делает не приводит к прямому воздействию на фильтруемый пиксель.
Вот числовой пример: скажем, у вас есть ai, j (т.е. окно 3x3) с якорем (центральный пиксель посередине в позиции (2,2) и значения (уровень яркости) 40, 60, 80, 89, 90 , 100, 101, 105, 185. Вы заметите, что медиана равна 90, поэтому пиксель привязки станет 90. Теперь предположим, что вы увеличиваете размер окна и добавляете больше значений к этим девяти, а именно к окну 5x5. есть вероятность того, что даже после этого медиана все равно будет 90. Таким образом, изменение на входе не обязательно дает пропорциональное изменение на выходе, следовательно, нелинейность.
Это напоминает мне: много лет назад (15?) Я читал в неакадемическом, но довольно известном журнале для разработчиков (cof, cofdr, cof, cofdobbs ...) объяснение о LPC = линейное прогнозирующее кодирование ... Это дало В качестве примера прогнозирование сигнала на основе значений и и объяснил, что для типичного (сглаженного) сигнала это можно сделать, нарисовав прямую линию, проходящую через эти два заданных значения ... и поэтому прогноз был назван «линейным». Я не мог поверить своим глазам.
Конечно, эта «линейность» не имеет ничего общего с линейностью фильтра. Предположим, что я хочу предсказать значение сигнала, используя три предыдущих значения, и я решил подгонять их с помощью полинома второй степени и экстраполировать. Тогда экстраполяция будет соответствовать параболе , но мой фильтр все равно будет линейным , потому что экстраполированное значение является линейной комбинацией входных данных.