Haga que una imagen desaturada sea transparente manteniendo solo las sombras y los reflejos

He estado tratando de hacer esto durante unos días y no he obtenido los resultados que necesito. No estoy seguro de estar usando la terminología correcta en el título, si no es así, no dude en corregirme y lo actualizaré.

Quiero ir de esto:ingrese la descripción de la imagen aquí

a esto (he muestreado un área de la transparencia para mostrar el valor k en caso de que eso ayude). Observe que las sombras/iluminación están ahí, pero nada más:imagen de resultado

Esto me permite colocar una capa rellena con un color sólido debajo de la imagen transparente. El resultado es una camiseta de otro color, y se ven sombras/destellos:

capa llena de azul colocada debajo de la capa de camisa transparenteingrese la descripción de la imagen aquí

capa rellena de negro colocada debajo de la capa de camisa transparenteingrese la descripción de la imagen aquí

¿Alguien tiene alguna idea sobre cómo podría lograr esto? He podido acercarme al resultado, pero mi transparencia no es suficiente o es demasiada. Pierdo gran parte del detalle de sombra/iluminación. La imagen inicial es de tipo de archivo JPG.

ACTUALIZAR:

Necesito que el resultado final sea un PNG como este:ingrese la descripción de la imagen aquí

Este PNG parece tener un fondo blanco, pero al pasarlo a Photoshop o GIMP verás que la camiseta es transparente. Necesito hacer ingeniería inversa de cómo se hizo esto para que se pueda hacer con otras prendas de vestir.

Lo interesante del PNG anterior es que las sombras, los reflejos y los tonos medios en la parte transparente de la imagen se pueden seleccionar individualmente. Photoshop: Seleccionar->Gama de colores->Sombras, Iluminaciones o Medios tonos. Imagen de abajo para mostrar lo que quiero decir:ingrese la descripción de la imagen aquí

¿Por qué no hacer una mezcla de capas con un modo de multiplicación? Parece que su forma tiene bordes bastante bien definidos, por lo que podrá enmascararla con bastante facilidad.
Porque OP quiere exportar la imagen como PNG transparente. Multiplicar depende de un color para estar detrás de él.
Multiplicar + máscara es el camino a seguir entonces.
¿Podrías ampliar eso, John?
@Johannes No estoy seguro de que esta sea una pregunta duplicada. Intenté lo que se sugirió en ese hilo, pero no se acercó a lo que esperaba lograr como resultado. (Acabo de ver tu comentario, sentí lo mismo acerca de las instrucciones)
Es una pregunta duplicada. Pero sí, las respuestas eran menos que deseables en la otra pregunta. La ventaja que tiene el cierre debido a la duplicación es que crea un enlace al original, lo que significa que parte del tráfico se redirige a otras respuestas posibles.

Respuestas (4)

Al asignar el blanco como canal alfa para la transparencia, no podremos tener reflejos opacos, ya que estos por definición serán blancos, por lo tanto, completamente transparentes.

Para tener un canal alfa que ahorre tanto las áreas blancas resaltadas como las sombras negras, es mejor elegir un color gris para asignar alfa.

  • Para mostrar el efecto más claramente, primero oscurecí la imagen original y aumenté el contraste. Deberá ajustar el contraste de la fuente y elegir el nivel de gris que mejor se adapte a sus necesidades para obtener mejores resultados.

  • Luego asigné un canal alfa a un color 'gris' (en lugar de blanco):

    ingrese la descripción de la imagen aquí

Ahora, cuando superponemos esta imagen con, por ejemplo, un fondo verde, podemos ver que tanto las luces como las sombras se mantienen.

ingrese la descripción de la imagen aquí

Podemos ver que cuando se usa en colores oscuros, las áreas blancas de la imagen original aún pueden ser demasiado brillantes para el efecto deseado. Esto se puede superar cuando elegimos una fuente gris en lugar de una blanca para crear nuestra plantilla de canal alfa.

Abajo (arriba a la izquierda) usé un relleno de cubeta gris con un 20 % de opacidad en el original blanco. Después de asignar un canal alfa de transparencia a gris (arriba a la derecha), podemos superponer un fondo de color (negro a la izquierda, rojo oscuro en el medio, blanco marfil a la derecha) para lograr los efectos de la línea de fondo.

ingrese la descripción de la imagen aquí

Soy un novato en esto y tengo problemas con el canal alfa. Mi método para obtener el efecto de transparencia hasta ahora ha sido ir a la pestaña de canales y controlar + hacer clic en el canal RGB. Luego uso una máscara rápida y ajusto los niveles, pero parece que no puedo llegar a donde estás en la primera imagen que publicaste. ¿Cómo estás asignando un canal alfa al gris?
@Phonetic: rápidamente hice esto con Gimp (hay una entrada de menú para seleccionar cualquier color para transparencia). Esto me hace creer que también hay (o debería) haber una opción de este tipo en PS o en cualquier aplicación que uses. Sin embargo, la excelente respuesta de Peter proporciona un enfoque mucho mejor , es decir, separando las luces y las sombras. Esto permitirá ajustes mucho más finos.
Lo entiendo ahora. He logrado exactamente lo que necesito siguiendo estas instrucciones. Muchas gracias
¿Podría tener el psd para este tutorial? Tengo problemas para obtener la transparencia.
@Takkat, ¿puede mencionar los pasos para el segundo punto: "Luego asigné un canal alfa a un color 'gris' (en lugar de blanco)"?
@Vishal: en Gimp (eso es lo que usé): Layer > Transparency > Color to Alpha...> From [pick color] to alpha .

Para ello, lo mejor es crear canales separados para las sombras y las luces .

Las sombras se pueden tomar directamente de la camiseta blanca y usarse como multiplicador (0-100%) para el color de la camiseta (modo de capa: multiplicar)

En cuanto a los reflejos , esto realmente depende del material. La tela no refleja mucha luz en la superficie, por lo que la mayor parte de su color proviene de la luz difusa (el color de la camisa). Para extraer la luz especular, usaría un filtro de paso alto (adaptación del histograma: solo los colores brillantes y ninguno de los colores oscuros) en la imagen de la camisa blanca y lo usaría para iluminar la camisa, pero solo con quizás un 20 %. (baja reflexión).

Capas:

ingrese la descripción de la imagen aquí

Imágenes resultantes:

ingrese la descripción de la imagen aquí

Esto es genial. ¿Hay alguna forma de obtener la imagen final como PNG transparente? El objetivo final aquí es usar 1 sola imagen png en un sitio web, y al cambiar el color de fondo del div html que contiene la imagen, el color de la camisa cambiará efectivamente.
Tengo problemas para obtener los reflejos. Creo que me estoy perdiendo un paso porque después de aplicar un filtro de paso alto, la camisa en la capa a la que apliqué el filtro de paso alto se ve muy gris (no hay mucho contraste como veo en tu capa de Destacados) . Usé un radio de 20 píxeles en el filtro de paso alto al principio y luego probé algunos valores de radio diferentes, pero no me acerco a lo que se ve en la capa de reflejos. ¿Qué me puede estar faltando?
Use el mismo método, rellene el fondo/exterior de su imagen en blanco y deje que su css actúe como la capa inferior. La camiseta sería una ventana semitransparente.
Desearía haber entendido mejor esta respuesta porque suena realmente genial.
Este efecto necesita modos de fusión (multiplicar, iluminar), mientras que HTML solo usa la fusión normal (pintar imágenes transparentes una sobre otra). HTML5+SVG sería una opción, pero parece que los navegadores aún no admiten los modos de combinación SVG. Consulte dev.w3.org/SVG/modules/compositing/master/… . Una forma efectiva de hacer este efecto en un navegador sería con un pequeño programa java (modos de mezcla Java2d) incrustado en la página.

Hay una manera más fácil: seleccione el fondo blanco, inviértalo, defina el pincel preestablecido, cree un nuevo archivo basado en transparente, en escala de grises, y esto es. Seleccione el pincel, que es el último en la lista y haga clic una vez con la muestra negra de cuatro puntos. ¡Voila! De lo que puede guardar como web - png.

Use filtros CSS en lugar de múltiples imágenes

Debe usar filtros CSS para colorear la imagen de un sitio web.

ingrese la descripción de la imagen aquí

Los beneficios son los siguientes.

  1. Solo se requiere una imagen.
  2. Tamaño de archivo de imagen más pequeño.
  3. Más control sobre tus colores sin tener que usar un editor de imágenes.
  4. Compatible con dispositivos móviles.
  5. Tiempos de carga más rápidos.
  6. Mejor SEO.

Para Hue usa este filtro CSS:

img {
  -webkit-filter: hue-rotate(90deg);
  filter: hue-rotate(90deg);
}

Para uso de brillo :

img {
  -webkit-filter: hue-rotate(90deg);
  filter: hue-rotate(90deg);
}

Para uso de saturación :

img {
  -webkit-filter: saturate(8);
  filter: saturate(8);
}

Para uso en escala de grises :

img {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}