Use PCA analysis to reorganize the pixels of a painting into a smooth color palette.
pip install -r requirements.txt
If that doesn't work you will have to manually track down and install these pip packages.
python palette.py /path/to/input_file.jpg
Output will be written to output.png
Kupka - Mme Kupka Among Verticals
Van Gogh - Starry Night
Picasso - Demoiselles D'Avignon
Cezanne - The Large Bathers
Mostly based on PCA a little tutorial on what that means here
Organize pixels according to their first principal component (the direction along which variance is greatest)
Grab a column of pixels at a time, and organize them according to their first principal component
Use the resulting columns one by one in the final result. With each column, check to see if flipping it upside down gives a better match to the previous column.