Seasonal Palettes
Over the years, I’ve written various JavaScript mandala-generators. I like giving variety to the color sets used, and in the past, I’ve hand-crafted collections of colors which I’ve given descriptive names like “Earthy,” “Angst,” and “Scorchio.”
For a new project, I wanted seasonal palettes. Being a northern-hemisphere dweller, I think of January as cool colors, May as yellows and greens, August as ambers and oranges, etc. Rather than hand assemble them, I thought this would be a good use for the Interwebs.
So I wrote a bash/php/ImageMagick script that would hit flickr.com with a seasonal search term to bring back the first twenty-five matching pictures. It then made a composite of the pictures, did a pixelation process, reduced the colors to a minimum set, and built a palette from them.
With excuses of fair use, here’s a visual of that process, using the example where the search terms were “Landscape July”:
1. Images are brought down, each scaled to fit in a 64 x 64 pixel square, and then they’re all combined into a single image.
2. The combined image is pixelated by scaling to 5% of the original size, then scaling back up to a larger size.
3. To get a little more punch and a little less muddy, the pixelated image has its histogram equalized
4. For good measure, the script then reduces the image to 32 colors.
Now, some of this may be redundant. For example, we could easily skip step 2, since we’re reducing colors in step 4. However, this way we sort of reduce the color space before we equalize the histogram. Maybe I should experiment with other paths here.
In any case, the results for my first search term “($month) Landscape” was not very good:
I tried some other search terms for good measure.
And finally, here’s “($month) skies”:
I have a few conclusions. First, it’s obvious that a hand-created set of palettes would be better. The pictures Flickr returned for each search term didn’t match my expectations very well. Perhaps I’d have done better with season names instead of month names. Lastly finding the best palette from an image is a problem that Google tells me many have worked on. I’m assuming others have probably done better than I.
But it’s a curious question — what are the “characteristic” colors from an image? My approach largely comes down to the number of pixels of a given general color. Are there lots of blues? My approach will have at least some blue. But if an accent color is “important,” whatever that means, my approach will probably lose it.
In any case, it’s probably back to mandalas and hand-crafted palettes for the next project.
Leave a Reply