Using ImageMagick, here's a small sequence of commands to cut the image of background (given that background is a solid color):
ORIG_IMAGE_NAME=green.jpg; NEW_IMAGE_NAME=green-trans.png; TMP_COLOR=`convert $ORIG_IMAGE_NAME -crop 1x1+0+0 txt:- | sed -n 's/.*\(#\S\+\).*/\1/p'`; convert $ORIG_IMAGE_NAME -bordercolor $TMP_COLOR -border 1x1 -alpha set -channel RGBA -fuzz 30% -fill none -floodfill +0+0 $TMP_COLOR -shave 1x1 $NEW_IMAGE_NAME
Just change the first to vars.
You can also adjust the fuzz percentage if needed.