O Imagemagick é uma ferramenta muito boa para alteração de imagens, e utilizando ele através do RMagick no Ruby é muito fácil remover o fundo de uma imagem, comparando-a com outra.
No exemplo temos as seguintes imagens:
Para remover o fundo é só utilizar o seguinte código:
img = Magick::Image.read("teste.png").first
mask = Magick::Image.read("teste2.png").first
img = img.composite mask, Magick::ForgetGravity, Magick::ChangeMaskCompositeOp
img.write("imagem_sem_fundo.png")
Com isso será criada uma imagem com o fundo transparente se utilizado a constante Magick::ChangeMaskCompositeOp, existem outras constantes que geram resultados diferentes. Para mais opções veja a documentação aqui.


