Función convertirImagenColorAGris problema de redondeo

Función convertirImagenColorAGris problema de redondeo

de Guillermo Garella -
Número de respuestas: 0

Buenas,

Ante las dudas que se generaron debido al redondeo que se produce por utilizar distintos tipos de variables, tales como float, double, int, etc paso a hacer una aclaración necesaria para que les funcione bien el autotest.

Para realizar la conversión de color a gris se debe realizar la cuenta sin pasar por números flotantes, es decir, hacer la cuenta directamente sobre los unsigned char. A modo de ejemplo:

pixeles[i][j].gris = (unsigned char)( 0.2*rojo + 0.7*verde + 0.1*azul )

Donde rojo, verde y azul son directamente los pixeles de su imagen (unsigned char). Un detalle, hay que castear la ecuación a unsigned char dado que se está multiplicando por decimales.

*ES IMPORTANTE UTILIZAR ESTE CRITERIO PARA QUE FUNCIONE CORRECTAMENTE EL AUTOTEST.*

Saludos.