Warhol these pictures We've all seen the famous painting of Marilyn Monroe created by Andy Warhol.


Let's try to replicate that effect with the usual suspects.

Your task is to write a program/programs that do as many as possible of the following tasks:


With one image as the input, generate four color palettes from that image and print a 4x4 grid with different "Warhol'd" color variants of that image. 
With two images as input, generate two color palettes from each image and print a Warhol'd grid of the first image. 
With four images as input, generate one color palette from each image and print a Warhol'd grid of the first image. 


Of course, it would be cheating to hardcode palettes you like the best, so your program has to determine a set of colors that is both distinct and aesthetically pleasing. Warhol used five distinct colors in each panel, so five is your goal as well. 

Here are some photos that you could use to showcase your program: 














Try to achieve a wide range of palette colorings and of course make them as aesthetically pleasing as possible. 

This is a popularity contest, so the answer with the most net votes wins.

(Formatting largely copied from Paint by Numbers, which was a partial inspiration for this challenge as was American Gothic in the palette of Mona Lisa: Rearrange the pixels)
Mathematica

namedColors = {Red, Green, Blue, Black, White, Gray, Cyan, Magenta, Yellow, Brown, Orange, Pink, Purple};
    myRules = 
      Table[Rule[namedColors[[i]], RandomChoice[namedColors]], {j, 4}, {i,
         Length[namedColors]}];

myImages = {--images here--};

Grid@Table[ColorQuantize[ColorReplace[myImages[[i]], myRules[[j]]],5], 
{i, Length[myImages]}, {j, 4}]