¿Qué hace realmente el filtro "Paso alto" de Photoshop debajo del capó?

Estoy tratando de envolver mi cabeza alrededor de este filtro. Al igual que otros filtros, encuentro que no entiendo cómo funciona, tanto visualmente como en términos del algoritmo. Espero que al aprender lo último, lo primero también haga clic de alguna manera.

Considere preguntar cuál es la costumbre para el próximo;)
Verifique este caso: graphicdesign.stackexchange.com/questions/98558/… Hay una respuesta que muestra en detalles 1) cómo funciona internamente el filtrado HP de Photoshop 2) el principio de funcionamiento asumido crea lo mismo que el filtro HP. La historia no se basa en desmontar Photoshop. Contiene una suposición: el filtrado HP de Photoshop se realiza sustrayendo de la imagen una versión borrosa de la misma imagen.

Respuestas (4)

El paso alto es lo opuesto al desenfoque gaussiano

Si toma una imagen y la desenfoca, solo conserva las "frecuencias bajas". El paso alto hace lo contrario, solo deja pasar las "frecuencias altas", o lo que la mayoría de la gente llama "los detalles". Cualquier imagen se puede deconstruir en estos dos componentes.

imagen deconstruida

¿Ha utilizado una máscara de enfoque para enfocar una imagen? Ese filtro es en realidad equivalente a tomar una imagen y agregarle una copia filtrada de paso alto. Puede confirmar esto en Photoshop aplicando el filtro de paso alto en una capa duplicada y cambiando el modo de fusión a superposición.

ingrese la descripción de la imagen aquí

Es posible que desee agregar que la imagen es gris porque está desplazada para evitar valores negativos. Y la superposición es básicamente agregar cualquier cosa por encima de 128 y restar los valores a continuación. Así que unsharpmask es básicamente un filtro de altas frecuencias. Estoy agregando una respuesta a este efecto, pero preferiría eliminarla a favor de su respuesta. También hay un tercer caso de uso que es la separación de frecuencia.
Problema menor: primera oración: "Filtros" significa "elimina", por lo que un filtro de paso bajo (desenfoque) no "filtra las bajas frecuencias". Filtro de paso alto (permite el paso de las frecuencias altas); filtro de paso bajo (permite el paso de las frecuencias bajas). Un filtro de paso bajo también se denomina "filtro de corte alto", ya que elimina las frecuencias altas. Y por lo tanto, un paso alto es un corte bajo.
joojaa-buen comentario. Yorik - gracias, lo arreglé.
Santo cielo. Tome una imagen en un archivo de Photoshop. Duplica la capa con la imagen en ella. Desenfoque (valor 10) en la capa 1. Filtro de paso alto (valor 10) en la capa 2. Configure la capa 2 al 50% de opacidad. Agregue una capa de contraste, configúrela en legado y +50 de contraste. Compara eso con la imagen original. Alucinante. Eso explica perfectamente lo que hace todo.
@DirkvB Probé lo que dijiste y funcionó. ¿Podría explicar el razonamiento detrás del 50% de opacidad y +50 de contraste? También tenga en cuenta que este método recrea de cerca la imagen original, pero no es idéntica (solo ejecute una combinación de diferencias entre el original y este para ver a qué me refiero).
Gracias por señalar la cosa de la mezcla de diferencias. ¡Eso es genial! Creo que, en un nivel alto, se trata de agregar dos imágenes entre sí tomando la mitad de cada una. Pierde datos de ambos, por lo que "aplana" los rangos. "Rangos" se refiere a los valores de color del píxel. No soy un especialista (las matemáticas no son mi fuerte), así que solo puedo explicar cómo tuvo sentido para mí :) Si encuentra una mejor respuesta, ¡comparta!

Un filtro de paso alto es un filtro que elimina la información de baja frecuencia de una señal. Ahora hay muchas maneras de implementar un filtro de paso alto, pero lo más probable es que el filtro de paso alto de Photoshop sea el resultado de restar la imagen borrosa del original (como lo menciona @filip ). Simplemente toda la imagen menos la baja frecuencia es solo la alta frecuencia.

Ahora, si resta un desenfoque de una imagen, terminará con píxeles que son negativos. Esto no es posible para Photoshop. Entonces, lo que se hace es que el resultado se compensa con 127 (o 0.5 si desea valores de punto flotante), por lo que el gris en realidad significa que no hay cambio de valor. El modo de superposición y de luz lineal están diseñados para operar al revés de las imágenes codificadas de esta manera (un poco dependiendo de lo que necesite, multiplicación/suma o suma/resta por partes).

Ahora, ¿para qué usarías esto? Bueno, puede usarse para aislar bordes, y el caso de uso principal es usarlo como una herramienta de afilado. De hecho, la máscara de enfoque hace esto en un solo paso. A veces, sin embargo, la máscara de desenfoque no le da suficiente control sobre los resultados. Por lo tanto, puede usar el filtro de paso alto para dividir la etapa intermedia y manipularla para controlar dónde desea que se produzca la nitidez y dónde no.

Esto nos lleva a los flujos de trabajo de separación de frecuencias , vea que puede ser que su imagen sea levemente desigualmente clara o, con bastante frecuencia, la piel sea algo desigual. Pero no quieres destruir exactamente la textura de la imagen. Así que ahora divides tu imagen en componentes bajos y altos. A continuación, puede pintar los componentes inferiores con un color uniforme muaré, manteniendo la capa de textura en la parte superior. O puede hacer lo contrario para eliminar fallas en el mapa de alta frecuencia mientras conserva la apariencia general. Por razones de precisión, lo más probable es que no utilice tanto el desenfoque como el paso alto, sino que restaría manualmente, pero este sigue siendo el mismo método, solo que los desenfoques y el redondeo de los resultados difieren.

Ejemplo

Imagen 1 : La separación de frecuencias facilita la reparación de zapatos viejos, es cierto que debería haber hecho un poco más de trabajo. Imagen original de aquí .

Ahora hay MUCHA magia que puedes hacer con este filtro. Pero desafortunadamente, muchos de estos flujos de trabajo mágicos pueden requerir que pienses como un gurú del procesamiento de señales. Por ejemplo, el filtrado de paso alto puede funcionar como base para un algoritmo de reducción de ruido o como una capa de rectificación para la eliminación de la neblina enmascarada por la luminosidad de la imagen, etc.

Ninguna de las respuestas hasta ahora ha tocado las matemáticas detrás del filtro. Aquí hay una descripción detallada de la cual cito:

Los filtros de frecuencia procesan una imagen en el dominio de la frecuencia. La imagen se transforma por Fourier, se multiplica con la función de filtro y luego se vuelve a transformar en el dominio espacial. La atenuación de las frecuencias altas da como resultado una imagen más suave en el dominio espacial, la atenuación de las frecuencias bajas mejora los bordes.

En este punto, debemos tener en cuenta que un filtro de paso alto deja pasar las frecuencias altas y atenúa (es decir, reduce) las frecuencias bajas .

Como resultado de atenuar (o bloquear) las bajas frecuencias, las áreas de intensidad constante en la imagen de entrada son cero en la salida del filtro de paso alto. Las áreas de fuerte gradiente de intensidad, que contienen las frecuencias altas, tienen valores de intensidad positivos y negativos en la salida del filtro. Para mostrar la imagen en la pantalla, se agrega un desplazamiento a la salida en el dominio espacial y se escalan las intensidades de la imagen. Esto da como resultado un valor de gris medio para las áreas de baja frecuencia y valores claros y oscuros para los bordes.

(Esta cita es de aproximadamente la mitad y precede a una imagen de ejemplo que debería ser muy útil).

Vale la pena leer el artículo que he enlazado, y tiene algunos ejemplos bastante claros (haz clic en las imágenes). Es demasiado largo para resumirlo y se basa en las cifras incluidas en él.

y solo para el profano: atenuar significa "reducir la fuerza, el valor o el impacto"
@Yorik eso no se me ocurrió. Es una palabra que uso a diario en mi trabajo. editado
@ChrisH Fourier transform es una forma de implementar un filtro de paso alto (aunque no es el único), pero estoy bastante seguro de que Photoshop no hace un Fourier directamente, sino que resta un desenfoque. Sin embargo, podría ser que los Photoshop más nuevos realmente usen Fourier para el desenfoque (las versiones anteriores a CS, CC aparentemente no hicieron esto) ya que ofrece un atajo para calcular el desenfoque ... Pero FFT tiene su parte de problemas y podría ser eso PS en realidad solo está salpicando un núcleo de convolución sin esta optimización en el ciclo. Entonces, de hecho, Filip explicó cómo se hace el filtro.
Sin embargo, @joojaa restar un desenfoque es lo que hace la máscara de enfoque, y ambas opciones existen, así que tengo mis dudas. Si tuviera Photoshop, intentaría probar (aunque como se desconoce la forma del filtro en el dominio de Fourier, sería difícil probar de manera decisiva qué se usa). Cualquier cosa que pudiera probar en el gimp no ayudaría mucho.
@ChrisH bueno, obtienes ambos de la misma operación y base de código. Solo higpass era más útil en el pasado cuando no podías hacer ediciones no destructivas. Pero las operaciones arrojaron exactamente los mismos resultados o al menos dieron los mismos resultados la última vez que probé haciendo esto hace aproximadamente 1,5 años. Del mismo modo, podría hacer una máscara de enfoque con un Fourier o cualquiera de las otras transformaciones relacionadas con el dominio de la frecuencia. Son matemáticamente equivalentes, aunque pueden tener diferentes restricciones de borde en soluciones discretas.
Bastante seguro de que es un kernel de convolución, no un FT. Vea por ejemplo el filtro "personalizado", que le permite definir el núcleo directamente. Todos los demás filtros simplemente crean los núcleos para usted con algunos parámetros amigables para los humanos.
@OrangeDog No puedo descartarlo, pero solo porque algunos filtros definitivamente usan un kernel de convolución no significa que todos lo hagan. Los filtros de paso alto basados ​​en convolución pueden ser propensos al ruido, pero veo que hay algunas mejoras que hacer allí.
@ChrisH y las transformadas de Fourier en datos discretos también son propensas al ruido.
@OrangeDog lo son de hecho; Yo los uso todo el tiempo. Qué enfoque es peor para el ruido probablemente depende de la naturaleza del ruido y la señal.
Ciertamente, para imágenes grandes en computadoras, una convolución también es mucho más rápida que un proceso FT. Es solo una sola pasada de la imagen y, a veces, se puede hacer en el lugar sin tener que asignar otra copia del búfer.
@OrangeDog eso es ciertamente cierto.

High Pass es un filtro de nitidez. Se podría decir que es una mezcla de "detectar bordes" y "afilar". La nitidez detecta cambios repentinos entre el brillo o el color de los píxeles y luego los cambia. Entonces, las partes brillantes son más brillantes y las oscuras son más oscuras.

Pero la tarea de High Pass es notar solo los bordes. La configuración del radio le dice al filtro cuántos píxeles alrededor del borde detectado deben incluirse en la imagen filtrada (capa).

Ahora, este filtro no está diseñado para usarse en sí mismo (por eso, creo, está en un catálogo diferente), debe usar la imagen filtrada con la base, usando modos de fusión o similar, para resaltar los bordes de la imagen. Es por eso que la parte "no incluida" de la imagen es de color gris neutro. Por lo tanto, no afectarán a los colores cuando estén en modo de fusión.