I think your picture will always be square; all you can do is overlay a mask or something to make it seem round.
// Create the mask - in this case a circle but could be any shape, make sure the mask is large enough to cover the whole image
exec("/usr/local/bin/convert -size 200x200 xc:none -fill blue -draw 'circle 100,100 100,13' circle.png");
// Use the mask to remove everything apart from the circle move the mask where you want with -geometry +0+0
exec("/usr/local/bin/composite -compose Dst_Out circle.png -geometry +0+0 image.jpg -matte new_image.png");
Imagemagick method, from memory the background should be transparent; may need to make it a gif instead of png but you will get a colour if you save as jpg. I would guess if you want to save as a jpg you would need to change xc:none to your page background colour.