2012-03-16 18 views
9

Instagram agregó un botón Lux recientemente, que permite el contraste automático/nivelación de las imágenes que toma.Instagram efecto Lux

Tengo un montón de imágenes que necesito para auto-nivelar de una manera similar, haciendo que esas fotos se vean mejor. Si quisiera usar un comando por lotes con Imagemagick, ¿cuáles serían los "ingredientes secretos" para usar? ¿Debería limitarme a la configuración de contraste o jugar con los niveles, etc.?

Como no sé si la imagen original será oscura, brillante, ya contrastada, tendré que analizar la imagen antes de procesarla.

Por lo tanto 2 preguntas:

  1. Cuáles son los ajustes que debería prestar atención a la hora de crear mi comando por lotes para Imagemagick que busca constantemente una mejor salida de las fotografías?

  2. ¿Tiene sentido ejecutar el lote y revertir los "falsos positivos" a mano más tarde (tengo alrededor de 50,000 imágenes para procesar)?

Respuesta

25

Una forma lineal simple de realizar "auto-contraste" es estirar linealmente y compensar las intensidades de la imagen.
La idea es encontrar el tramo (contraste) y parámetros de desplazamiento (intensidad) de corrección de tal manera que en la imagen corregida del percentil 5 se asignará a 0, y el percentil 95 se asignará a 255.

Mi ejemplo es para una imagen en escala de grises. Para las imágenes en color, puede convertir a cualquier espacio de color que tenga un solo canal de intensidad y 2 canales de color (por ejemplo, Lab, HSV, YUV, etc.) y realizar esto solo en el canal de intensidad.

  1. Crear un histograma de la imagen
  2. Encuentra el 5 y el 95 percentil de color gris-valor (uso acumulan suma sobre los valores del histograma).
  3. Resuelva para a y b en estas 2 ecuaciones lineales simples: percentiles
    a*p5+b=0 y a*p95+b=255, donde p5 y p95 son el quinto y 95 gris-valor, respectivamente.
  4. a es el contraste, y b es la intensidad correcciones.
  5. Ahora mapea todas las intensidades de tus píxeles grises de acuerdo con la ecuación: g'=a*g+b para todos g = 0..255.

Por supuesto, es posible que desee utilizar valores diferentes para el percentil y las asignaciones reales. Vea lo que funciona para usted.