un free libera la memoria reservada por un malloc o un calloc, no destruye ningun archivo existente. Eso es correcto. Lo que se pide es liberar una estructura imagen no destruir un archivo.
todas las funciones trabajan con la imagen en niveles de gris, de todas formas mientras exista la imagen, en la estructura tienes ambas versiones, gris y color (si la imagen era en colores). Eso no es un problema.
todas las funciones trabajan con la imagen en niveles de gris, de todas formas mientras exista la imagen, en la estructura tienes ambas versiones, gris y color (si la imagen era en colores). Eso no es un problema.