Jump to content

Размытие коробки

Пример изображения, размытого с помощью размытия по рамке

Блок -размытие (также известный как прямоугольный линейный фильтр) — это линейный фильтр пространственной области, в котором каждый пиксель результирующего изображения имеет значение, равное среднему значению соседних пикселей во входном изображении. Это разновидность фильтра нижних частот («размытия»). Размытие прямоугольника 3 на 3 («радиус 1») можно записать в виде матрицы.

Благодаря свойству использования равных весов его можно реализовать с использованием гораздо более простого алгоритма накопления, который значительно быстрее, чем использование алгоритма скользящего окна. [1]

Размытие по прямоугольнику часто используется для аппроксимации размытия по Гауссу . [2] Согласно центральной предельной теореме , повторное применение размытия по квадрату будет аппроксимировать размытие по Гауссу. [3]

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

Расширения

[ редактировать ]
  • Гвосдек и др. расширено размытие поля, чтобы получить дробный радиус: края 1-D фильтра расширяются на дробь. Это делает возможным немного лучшее гауссово приближение за счет устранения ошибки округления целых чисел. [3]
  • У Марио Клингеманна есть «размытие стека», которое пытается лучше имитировать вид Гаусса за один проход путем наложения весов: [4] [5] Треугольная импульсная характеристика, которую он формирует, распадается на два раунда размытия поля. [3]
  • Составное интегральное изображение, автор Bhatia et al. берет средневзвешенное значение нескольких размытий прямоугольников, чтобы соответствовать кривой гауссова отклика. [3]

Выполнение

[ редактировать ]

Следующий псевдокод реализует размытие поля 3x3.

Box blur (image)
{
    set newImage to image;

    For x /*row*/, y/*column*/ on newImage do:
    {
        // Kernel would not fit!
        If x < 1 or y < 1 or x + 1 == width or y + 1 == height then:
            Continue;
        // Set P to the average of 9 pixels:
           X X X
           X P X
           X X X
        // Calculate average.
        Sum = image[x - 1, y + 1] + // Top left
              image[x + 0, y + 1] + // Top center
              image[x + 1, y + 1] + // Top right
              image[x - 1, y + 0] + // Mid left
              image[x + 0, y + 0] + // Current pixel
              image[x + 1, y + 0] + // Mid right
              image[x - 1, y - 1] + // Low left
              image[x + 0, y - 1] + // Low center
              image[x + 1, y - 1];  // Low right

        newImage[x, y] = Sum / 9;
    }

    Return newImage;
}

В примере не обрабатываются края изображения, которые не помещаются внутри ядра, поэтому эти области остаются неразмытыми. На практике проблему лучше решить следующим образом: [3]

  • Введение альфа-канала для обозначения отсутствия цветов;
  • Расширение границы путем заполнения значений, ранжированных по качеству:
    • Заполните зеркальное изображение на границе
    • Заполните постоянным цветом, начиная с последнего пикселя.
    • Подушка фиксированного цвета

можно применить ряд оптимизаций : При реализации размытия поля радиуса r и N пикселей [6]

  1. Блок размытия — это разделимый фильтр , поэтому только два 1D-прохода со средним размером 2 r + 1 для каждого пикселя потребуется пикселя, один по горизонтали и один по вертикали. Это снижает сложность с O( Nr 2 ) до O( Nr ) . В терминологии цифровой обработки сигналов каждый проход представляет собой фильтр скользящего среднего .
  2. Накопление. Вместо того, чтобы отбрасывать сумму для каждого пикселя, алгоритм повторно использует предыдущую сумму и обновляет ее, вычитая старый пиксель и добавляя новый пиксель в диапазон размытия. таблицу суммированных площадей Аналогичным образом можно использовать . Это снижает сложность с O( Nr ) до O( N ) .
  3. При использовании в нескольких проходах для аппроксимации размытия по Гауссу конструкция каскадного интеграторно-гребенчатого фильтра позволяет выполнить эквивалентную операцию за один проход. [7]

См. также

[ редактировать ]
  1. ^ Войцех Ярош. 2001. Быстрые свертки изображений .
  2. ^ Спецификация W3C SVG1.1, 15.17 Примитив фильтра feGaussianBlur .
  3. ^ Jump up to: а б с д и Гетрёйер, Паскаль (17 декабря 2013 г.). «Обзор алгоритмов гауссовской свертки» . Обработка изображений в режиме онлайн . 3 : 286–310. дои : 10.5201/ipol.2013.87 . ( код документа )
  4. ^ «Стекблюр и квадратичный стекблюр» . observablehq.com . 12 ноября 2018 г.
  5. ^ «Как размыть изображение на Android» . Середина . 10 февраля 2020 г.
  6. ^ Куцвир, Иван. «Самое быстрое размытие по Гауссу (за линейное время)» . Проверено 4 апреля 2020 г.
  7. ^ Ситакер, Краген. «Хм, если не считать моей заметки о том, что семейство ядер, обнаруженное Костеллой, представляет собой в точности однородные кардинальные B-сплайны…» Hacker News .


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6b937f8380c81ea8a3c087c6a71fa66a__1711076100
URL1:https://arc.ask3.ru/arc/aa/6b/6a/6b937f8380c81ea8a3c087c6a71fa66a.html
Заголовок, (Title) документа по адресу, URL1:
Box blur - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)