LINUX.ORG.RU

История изменений

Исправление mashina, (текущая версия) :

- зачем делается 2 прохода, справа налево и слева направо?

Таким проходом можно аппроксимровать ядро определённое только при x >= 0. Если, например, двигаться только слева на паво, то каждое R[x] значение результата будет зависеть от U[y] y <= x исходных значений. Чтобы аппроксимировать всю неограниченную гауссиану на (-Inf, +Inf) приходится делать два прохода каждый из которых аппроксимирует по половине ядра, при x >=0 и x <= 0.

как в таких фильтрах поступают с краями картинки, когда точек перестает хватать?

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

Исходная версия mashina, :

- зачем делается 2 прохода, справа налево и слева направо?

Таким проходом можно аппроксимровать ядро определённое только при x >= 0. Если, например, двигаться только слева на паво, то каждое R[x] значение результата будет зависеть от U[y] y <= x исходных значений. Чтобы аппроксимировать всю неограниченную гауссиану на (-Inf, +Inf) приходится делать два прохода каждый из которых аппроксимирует по половине ядра, при x >=0 и x <= 0.

как в таких фильтрах поступают с краями картинки, когда точек перестает хватать?

Так же как и везде, т.е. зависит от «вкуса», ~ продолжают краевым значением, зеркально продолжают значения за границы, различные экспраполяции.