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.