I used to embroider hundreds of those caps with up to 15 colours and sell them at about £10 each, and they look far better than badges, I would suggest you look around your area for a embroidery company or t-shirt company who also often have embroidery and get a far more professional look