¿Cómo crear una máscara alfa a partir de una imagen?

Quiero crear una imagen que pueda usar como textura en OpenGL. La imagen es un jpg que viene en rojo.

En mi OpenGL quiero poder cambiar el color rojo a cualquier otro color que el usuario seleccione, para esto pensé que la mejor solución era descartar los canales rgb de la imagen original y usar solo el canal alfa de la textura, y el rgb que el usuario seleccionó.

El problema es que, aunque lo he intentado durante bastante tiempo, parece que solo funciona en los bordes de la imagen, no en la parte interna de la imagen.

Esta es la imagen de ejemplo:

ingrese la descripción de la imagen aquí

Como se puede observar, hay partes que son de color rojo puro, otras que se mezclan con blanco y partes completamente blancas. Necesito tener "una imagen png alfa" en la que el blanco represente transparente. Esto significa que el rojo completo tendrá un alfa de 1,0, el blanco completo un alfa de 0,0 y cualquier valor intermedio entre un alfa de 0,0 y 1,0.

En OpenGL tengo acceso a los canales r,g,b,a de la textura. Entonces, si alguien tiene otra solución que no use alfa, eso también ayudaría.

Gracias

Respuestas (1)

Supongo que necesitas algo como esto:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Donde el rojo más profundo es 100% negro. No es dificil de hacer. Puedes experimentar un poco más con él:

  1. Desaturar su imagen a escala de grises

  2. Abre niveles y ajústalo según lo necesites.

También lo hice como PNG con transparencia https://dl.dropboxusercontent.com/u/1007168/Untitled-1.png Compruebe si esto es lo que necesita.

Para hacerlo como PNG con transparencia y listo para volver a colorear:

  1. Seleccione su capa con imagen y cópiela al portapapeles. Luego crea una nueva máscara:ingrese la descripción de la imagen aquí

  2. Pegue su imagen del portapapeles a la máscara:ingrese la descripción de la imagen aquí

  3. Apague la máscara y vuelva a los canales RGB habituales:ingrese la descripción de la imagen aquí

  4. Mantenga presionada la tecla Ctrl (Cmd) y haga clic sobre el pulgar pequeño de su máscara en la paleta Canales:ingrese la descripción de la imagen aquí

  5. Ahora puedes eliminar el blanco. Pulse DEL:ingrese la descripción de la imagen aquí

Para comprobar cómo funciona, puedes intentar volver a colorearlo tú mismo:

  1. Active "Mantener píxel transparente":ingrese la descripción de la imagen aquí

  2. Rellénalo con cualquier color:ingrese la descripción de la imagen aquí

Aquí está la muestra de cómo se ve recoloreado en diferentes colores:ingrese la descripción de la imagen aquí

Hola, gracias por la respuesta. Sí, esto es exactamente lo que estoy buscando. Hice lo que me dijiste allí y convertí a escala de grises, luego moví los niveles. Pero no estoy seguro de qué hacer después... Lo que pasa es que necesito hacer esto para alrededor de 16 patrones diferentes (que se usarán en un mapa de textura), así que tengo que averiguar el procedimiento.
@Chiquis, ¿necesitas tus máscaras como PNG con transparencia (en lugar de blanco)?
Sí, lo que necesito es poder crear esa imagen que hiciste. Es exactamente lo que necesito. Ajusté los "niveles" para hacerlo un poco más oscuro, pero no sé cómo pasar de ese paso a un png con transparencia.
Ok, agregando información para responder cómo hacer un PNG con transparencia (listo para volver a colorear) a continuación
Lástima que Photoshop carece del comando "Color a alfa" de Gimp.