Close

automated paint mixing

A project log for If ( ) Then {Paint}

a machine to create canvas paintings of your favorite digital images

john-opsahlJohn Opsahl 07/26/2019 at 17:570 Comments

The automated paint mixing component of this project is essentially a small scale recreation of going into the paint store with a color sample and leaving with a bucket of paint of that color. 

The main challenge is determining which paints to mix to create the correct color. Paint companies have their own methods for predicting additive color mixing which most likely requires data from expensive photospectrometer equipment. Fortunately, cnc painting probably doesn't require the color matching accuracy that paint companies achieve. 

I propose using a camera and cnc machine to develop the paint mixing color data needed for cnc painting. The cnc machine would dispense and mix paint color samples in various proportions (e.g. 20% white/80% red, 30% white/70% red, etc.). After those paint samples dry (because some paints change color once dry), the camera would take a picture of the sample in controlled light conditions. Using an image processing tool, an rgb value would be extracted from the picture of each sample. Then it is only a matter of finding the rgb values of the paint sample that are closest  to the rgb values of the desired color, approximate the desired color as the paint sample color, and mix up the paint per the known color proportions of the paint sample to achieve an approximate paint color match. The accuracy of this method can be increased by increasing the number of stock paint colors and using finer increments of mixing proportions.

The method I am proposing is not a small task, but it should only have to be done once per grade/brand of paints. Whomever designs the paint mixing software would need to create the machine, dispense and mix as many paint samples as needed, and insert the paint mixing color data in the software as a database. The average maker and artist would make use of the database through the software and never need to perform this task.

Discussions