Enfrentarte a rMagick y salir victorioso es genial, da un 'gustito' que no es normal.

En la parte de common tasks de la docu de rmagick nos indica que, para hacer una imagen en escala de grises debemos de usar el comando quantize más o menos así:

 imagen= img.quantize(256, Magick::GRAYColorspace)
 

Esto funciona, peeeeero si te fijas queda bastante guarrete. Esto es porque restringimos la escala a 256 colorejos de nada. No está mal, pero se nota que la calidad desciende en picado. Además en cuanto subes de 256 niveles para arriba rmagick devora memoria sin ninguna vergüenza.

La mejor alternativa (a no ser que alguien me diga lo contrario, que equivocados podemos estar todos) es cambiar el tipo de la imagen (no es exactamente cambiar el perfil). ¿Cómo? Pues fácil, fácil:

 imagen.image_type = GrayscaleType
 

Las diferencias en la calidad de la imagen generada son patentes, y el consumo de memoria bastante inferior al del quantize.