4 votos

¿Cómo resolver productos cruzados que incluyan matrices?

Soy un programador y estoy realizando una transformación de balance de blancos en el espacio de color RGB. Esto debería funcionar con esta matriz de transformación que encontré en la literatura:

$$ \begin{pmatrix} R \\ G \\ B \end{pmatrix} = \begin{pmatrix} \frac{255}{R_w} & 0 & 0 \\ 0 & \frac{255}{G_w} & 0 \\ 0 & 0 & \frac{255}{B_w} \end{pmatrix} \times \begin{pmatrix} R´ \\ G´ \\ B´ \end{pmatrix} $$ Con un espacio de color donde el rango de todos los valores posibles es $ \Big[0, 255\Big]$ (que es de 8 bits).

He leído que un producto cruzado que incluye matrices (como se muestra arriba) se puede resolver como un sistema de ecuaciones lineales.

$$ R = \big( \frac{255}{R_w} + 0 + 0 \big) \cdot R´ = \frac{255}{R_w} \cdot R´ \\ G = \big( 0 + \frac{255}{G_w} + 0 \big) \cdot G´ = \frac{255}{G_w} \cdot G´ \\ B = \big( 0 + 0 + \frac{255}{B_w} \big) \cdot B´ = \frac{255}{B_w} \cdot B´ \\ $$

Pero ese parece ser un enfoque defectuoso ya que $R$, $G$ y $B$ pueden ser mayores que 255, lo cual no es un resultado válido de esa transformación.

Ejemplo

Píxel original: $$ R´ = 111; G´ = 154; B´ = 255 $$

Entrada de transformación de balance de blancos: $$ R_w = 123; G_w = 138; B_w = 217 $$

Resultados con mi enfoque: $$ R = \frac{255}{123} \cdot 111 = 230 \\ G = \frac{255}{138} \cdot 154 = 284 \\ B = \frac{255}{217} \cdot 255 = 299$$

Obviamente, los resultados están fuera del rango de mi espacio de color de 8 bits.

¿Cómo resolver correctamente esta transformación de balance de blancos? Estoy principalmente perdido ya que no tengo idea de cómo manejar la matriz dentro de un producto cruzado.

0voto

JiminyCricket Puntos 143

Un producto cruzado es un producto entre dos vectores. En tu caso, el símbolo $\times$ no denota un producto cruzado, sino una multiplicación ordinaria entre una matriz y un vector. Dado que la matriz es diagonal, la multiplicación puede reducirse a las ecuaciones $R=(255/R_w)R'$ y lo mismo para $G$ y $B$ (aunque los ceros adicionales que incluyes entre paréntesis no tienen sentido tal como los escribiste). Por lo tanto, tu problema no es un problema con vectores y matrices; necesitas averiguar cómo obtuviste valores de color mayores que los parámetros de equilibrio de blanco (o, equivalentemente, parámetros de equilibrio de blanco por debajo de los mayores valores de color).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X