Что на самом деле делает фильтр Photoshop «High Pass» под капотом?

18

Я пытаюсь обернуть голову вокруг этого фильтра. Как и некоторые другие фильтры, я обнаружил, что не понимаю, как это работает, как визуально, так и с точки зрения алгоритма. Я надеюсь, что, изучая второе, первое также каким-то образом нажмет.

Adi
источник
1
Подумайте, спросите, какой обычай для следующего;)
joojaa
Если вы хотите понять алгоритм, я предлагаю руководство для ученых и инженеров по цифровой обработке сигналов .
Фил Фрост
Проверьте этот случай: graphicdesign.stackexchange.com/questions/98558/… Там есть ответ, который показывает в деталях 1), как работает фильтрация HP Photoshop внутренне 2) предполагаемый принцип работы создает то же самое, что и фильтр HP. История не основана на дизассемблировании Photoshop. Он содержит одно предположение: фильтрация HP в Photoshop осуществляется путем вычитания из изображения размытой версии того же изображения.
user287001

Ответы:

28

Высокий проход - противоположность гауссовому размытию

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

разрушенное изображение

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

введите описание изображения здесь

Filip
источник
5
Возможно, вы захотите добавить, что изображение серое, потому что его смещение позволяет избежать отрицательных значений. И наложение в основном добавить что-нибудь выше 128 и вычесть значения ниже. Таким образом, нерезкая маска в основном повышает фильтр высоких частот. Я добавляю ответ на этот вопрос, но предпочел бы удалить его в пользу вашего ответа. Также есть еще 3-й вариант использования, который является частотным разделением.
Джуджаа
2
Незначительный спор: 1-е предложение: «Отфильтровывает» означает «устраняет», поэтому фильтр нижних частот (размытие) не «отфильтровывает низкие частоты». Фильтр верхних частот (пропускает через него высокие частоты), фильтр нижних частот (пропускает через него низкие частоты). Фильтр нижних частот также называют «фильтром высоких частот», поскольку он устраняет высокие частоты. И таким образом это относится к верхнему проходу, будучи низкочастотным.
Йорик
joojaa- хороший комментарий. Йорик - спасибо, исправил.
filip
2
Святое дерьмо. Возьмите изображение в файл Photoshop. Дублируйте слой с изображением. Размытие (значение 10) на слое 1. Фильтр верхних частот (значение 10) на слое 2. Установите для слоя 2 непрозрачность 50%. Добавьте контрастный слой, установите его на прежний уровень и +50 контраст. Сравните это с исходным изображением. Разум взорван. Это прекрасно объясняет, что все это делает.
Дирк против Б
@DirkvB Я попробовал то, что ты сказал, и это сработало. Не могли бы вы объяснить причину непрозрачности 50% и контрастности +50? Также следует отметить, что этот метод воссоздает исходное изображение, но оно не идентично (просто запустите смесь различий между оригиналом и этим, чтобы понять, что я имею в виду).
Даг Ричардсон,
7

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

Теперь, если вы вычтите размытие из изображения, вы получите отрицательные пиксели. Это невозможно для фотошопа. Поэтому вместо этого результат смещается на 127 (или 0,5, если вы хотите получить значения с плавающей запятой), поэтому серый цвет фактически означает отсутствие изменения значения. Наложение и режим линейного освещения предназначены для работы с изображениями, закодированными таким образом (бит, в зависимости от того, что вам нужно, умножение / сложение или сложение / вычитание).

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

Это подводит нас к рабочим процессам разделения частот , и мы видим, что изображение может быть слегка неравномерным или довольно часто неровным. Но вы точно не хотите разрушать текстуру изображения. Итак, теперь вы разбили свое изображение на низкие и высокие компоненты. Затем вы можете закрасить низкие компоненты до муарового цвета, сохранив текстурный слой сверху. Или вы можете сделать обратное устранение недостатков в высокочастотной карте, сохраняя при этом общий вид. По причинам точности вы, скорее всего, не будете использовать оба размытия на верхнем проходе, вместо этого вы будете вычитать вручную, но это все тот же метод, только размытие и округление результатов отличаются.

пример

Рисунок 1 : Частотное разделение позволяет легко починить старую обувь, по общему признанию, я должен был сделать немного больше работы. Исходное изображение отсюда .

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

joojaa
источник
5

Ни один из ответов до сих пор не коснулся математики за фильтром. Вот подробное описание, которое я цитирую:

Частотные фильтры обрабатывают изображение в частотной области. Изображение преобразуется по Фурье, умножается на функцию фильтра, а затем повторно преобразуется в пространственную область. Ослабление высоких частот приводит к более гладкому изображению в пространственной области, ослабление низких частот усиливает края.

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

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

(Эта цитата примерно на полпути, и предшествует пример изображения, которое должно быть весьма полезным).

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

Крис Н
источник
и просто ради обывателя: « ослабить» означает «уменьшить силу, ценность или удар»
Йорик,
@ Йорик, который не приходил мне в голову. Это слово я использую ежедневно в своей работе. Отредактировано
Chris H
3
@ChrisH Преобразование Фурье - это один из способов реализации фильтра верхних частот (но не только при этом), но я уверен, что после экспериментов Photoshop не делает Фурье напрямую, а вместо этого вычитает размытие. Тем не менее, возможно, что новые фотошопы фактически используют Фурье для размытия (до CS, версии CC, по-видимому, этого не делали), поскольку он предлагает ярлык для вычисления размытия .... Но FFT имеет свою долю проблем и может быть PS на самом деле просто выплескивает ядро ​​свертки без этой оптимизации в цикле. Таким образом, я на самом деле объяснил, как работает фильтр.
Джуджаа
@joojaa вычитает размытие - это то, что делает нерезкая маска, и оба варианта существуют, поэтому у меня есть сомнения. Если бы у меня был фотошоп, я бы попробовал проверить его (хотя форма фильтра в области Фурье неизвестна, если будет трудно доказать, что именно используется). Все, что я мог протестировать в GIMP, не сильно помогло бы.
Крис Х
1
Преобразования @ChrisH и Фурье для дискретных данных также подвержены шуму.
OrangeDog
0

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

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

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

SZCZERZO KŁY
источник