Creating a patterned carpet Couldn't quite find the answer I was looking for so if you know how to or can link to an existing post that would be great!

I'm trying to create a carpet based on an image (Persian Rug). I've created single colored and multi colored rugs using vertex groups but they have been quite simple. Does anyone know how to take an image of a detailed pattern with many colors and apply hair to it and have it match the colors/ separate based on color? There must be a fairly fast way of doing this.

Thank you!
Mesh> Add Images as Planes> Select desired image saved on your drive (Must enable Add-on in User Preferences) 

 Add Particle System, change to 'Hair', under render settings, disable emitter and leave set to 'Path'. Add children 'interpolated'. Also might want to increase number of hairs to 5000+ so you can see it when you do a quick render with shift+z.

 Now when you render, you should see your image with the correct hair color!