Separar una imagen en canales de color arbitrarios

En Photoshop, es bastante fácil separar una imagen en imágenes monocromáticas separadas en rojo, verde y azul. Cada uno de estos podría proyectarse como diapositivas frente a luces rojas, verdes y azules separadas para formar una imagen en color.

Digamos que necesito hacer diapositivas monocromáticas como esta para un proyector que, por alguna razón, usa luces naranja, verde azulado y púrpura. ¿Cómo puedo separar una imagen en tres imágenes monocromáticas para los canales naranja, verde azulado y morado?


Estoy trabajando en un proyecto sobre cómo funciona la visión del color, y parte de la demostración que me gustaría poder mostrar involucra lo que sucedería si las células del cono de nuestro ojo fueran sensibles a diferentes colores.

La teoría del color es una mala etiqueta, ya que en realidad no habla de cómo se debe manejar matemáticamente el color.
También tenga en cuenta que esta transformación no demostrará cómo se vería si tuviéramos diferentes primarios, y los gráficos por computadora podrían ser un mejor lugar considerando la audiencia. Podrías intentar simplemente hacer una transformación de matriz
Ok, esto definitivamente es más adecuado para gráficos por computadora . SE Porque el sitio es compatible con TEX y hace que sea más agradable leer las matemáticas resultantes.
@joojaa Dado que la visión usa diferentes primarios de CMYK o RGB, como mencionó Joe, la teoría del color y la visión del color también serían etiquetas apropiadas. "Naranja, verde azulado y púrpura" son primarios visionarios tal como lo entiendo, a pesar de la conveniencia matemática.
La teoría del color se trata de elegir colores agradables, cómo los humanos perciben es ciencia cognitiva o la ciencia del color simular cómo ve una criatura diferente es mucho más en su competencia que cómo los artiats han deducido la calidad de los colores con los sentidos humanos. @Stan
Tengo entendido que nuestros conos no ven el color tanto como son sensibles a los rangos de longitud de onda que nuestro cerebro interpreta/impone como "color".
@Stan tiene razón Es por eso que en los últimos dos párrafos digo que en realidad no funcionará. Y que, de hecho, uno debería obtener una imagen espectral (hiperespectral o multiespectral) e integrar sus curvas de respuesta hipotéticas si quiere simular un nuevo tipo de criatura. de todos modos, esto va mucho más allá del diseño gráfico.

Respuestas (1)

Esto es esencialmente lo que hace el motor de gestión del color. Lo que hace es convertir su color en lineal y luego formular los primarios como una matriz. Es posible que desee formular su espacio de color utilizando 4 propiedades [punto rojo, verde, azul y blanco], o mediante 3 propiedades [rojo, verde, azul]

Como esta hecho

Ryan Juckett describe detalladamente la formulación de la matriz para 4 propiedades , aunque describe cómo convertir una conversión sRGB linealizada a LAB. Basta con sustituir los primarios de laboratorio por los suyos propios. Dejo esta derivación para un foro diferente ya que está mayormente fuera del alcance de este sitio, Photoshop puede hacer esto (ver más abajo). La mayoría de los diseñadores gráficos no son tan fluidos con el álgebra lineal. Recuerde convertir a cualquier no linealidad que esperen sus luces.

La formulación con 3 propiedades es bastante similar. El primer paso es linealizar (nuevamente, ya que el álgebra lineal no funciona con valores no lineales), excepto que simplemente coloque sus primarias en su matriz (como filas o columnas, su elección). inviértalo y use esa matriz para la conversión. Convertir a no lineal de nuevo.

Haciendo esto en Photoshop

Ahora, como mencioné anteriormente, esto es lo que hacen los perfiles de color. Photoshop tiene una forma rudimentaria de definir perfiles de color personalizados. Cualquier cosa más compleja, necesitaría hacer el perfil usted mismo como se describe anteriormente en la sección de matemáticas.

Esto es lo que haces:

  1. Elija Editar → Configuración de color...
  2. En este cuadro de diálogo, habilite Más opciones , si está habilitado, está bien y dice Menos opciones
  3. En el menú desplegable Espacios de trabajo , seleccione RGB personalizado...
  4. Se abre un nuevo cuadro de diálogo,

    ingrese la descripción de la imagen aquí

    Imagen 1 : Ejemplo de diálogo de conversión, inserte sus valores.

    en este diálogo escriba su:

    • Primarios RGB y punto blanco en coordenadas CIE XY(Z) independientes del dispositivo
    • Describe la no linealidad de tu espacio de color (Gamma)

    • Dale un nombre a este perfil. Presiona OK.

    • Haga una conversión de perfil a perfil (el rojo no es su primer primario y el verde el segundo y así sucesivamente)

¡Tenga en cuenta que esto no lo ayuda a ver cómo se ven las cosas con diferentes primarias! (Por un lado, se perdió una gran cantidad de datos al capturar y, en segundo lugar, todavía está buscando con sus primarios) Solo puede obtener canales que muestren intensidades en estos primarios. Pero si quieres una mejor emulación, cambia los canales a colores directos. Pero esto emula cómo ven los humanos con primarias humanas.

Pero esto no funcionará para simular diferentes órganos.

Los datos del entorno real no son como los que ves en las imágenes. Lo que llamamos color es sólo una sensación. Si desea simular una detección diferente, debe escanear el mundo de manera diferente a como lo hace ahora.

Para una captura de color en las cámaras, suponga que tiene un órgano sensor como un ser humano. Ahora, una criatura diferente podría tener diferentes primarios pero también diferentes distribuciones de esos primarios en los espectros. Mira, el rojo no existe en realidad, existe en tu cerebro, hay muchas distribuciones diferentes de luz que te dan una sensación roja. Algunos te dan el mismo evento de sensación aunque son diferentes (llamados metámeros).

ingrese la descripción de la imagen aquí

Imagen 2 : Respuesta de color humana para cada sensor de color

Cambiar los elementos y su distribución cambia lo que va a dónde y cómo se siente.

Si realmente desea emular esto, lo que necesita es una cámara espectroscópica u obtener una imagen espectroscópica y luego integrar esos datos mediante sus propias curvas de respuesta. Esto es mucho más preciso, aunque cómo mostrar o cómo procesar las cosas es otra cosa.

Puedes encontrar imágenes hiperespectrales aquí si quieres hacer un trabajo más serio en esto.

Vaya, eso es todo. Buena suerte