https://en.wikipedia.org/wiki/GrayscaleSi le aplicas la formula a los 3 bytes (RGB) obtenes un valor que es el tono de gris, si mantenes una imagen de 24 bits le asignas ese valor a los 3 bytes originales.
Ejemplo solo con las variables (tenes que leer R, G y B desde el archivo y despues de asignarles el tono de gris escribir los valores en el archivo):
R = G = B = (R * 0.3 + G * 0.59 + B * 0.11);