2 Months of Photo Blogging

Since January first, I’ve been posting a picture a day on photo.cate.blog. Now I’ve been doing it for long enough to consider it a proper project, I asked one of my colleagues for a suggestion for a better theme, and she suggested this one – Cubic. I really like it. An incomplete list of what […]

Read More

I Wrote a Book Chapter and Finally, You Can Read It

My 2014 side project was a technical book chapter on image processing for the Architecture of Open Source 500 Lines or Less Project. It was my bĂȘte noire, that consumed various evenings and weekends either by actual work, or by guilt. 2015 was mainly guilt, and some editing. Recently the final copy edits came back, […]

Read More

Creating and Comparing Images on Android

A while ago, I wrote this blog post on creating and comparing UIImages. That code allowed me to develop the image processing part of the app against my unit tests, which was really, really helpful given that I rewrote it about four times to make it performant enough. So, when I started writing Android code […]

Read More

Creating Test Images and Comparing UIImages

I’ve been working on this app which relates to my obsession with color. It’s an image processing app, and you can see some pictures made with it on our Tumblr. This involved learning about how to take images apart and put them back together, rewriting a lot of stuff in C for performance, etc. But […]

Read More

More Experiments Around RGB Averaging

I decided to replicate the showing/hiding the dominant hues in images with showing/hiding around the average RGB values instead. I created a class called RGBColor (just holds red, green, and blue values), similar to the one I created called HSBColor. I could have used the java.awt.Color class, but that insists on a range of 0-1 […]

Read More

Eliminating the Dominant Hue from an Image

I thought it would be interesting to invert the idea of showing only the dominant hue, and show everything but that instead. I used the exact same code, but inverted the if statement so: if (!hueInRange(hue, lower, upper)) became if (hueInRange(hue, lower, upper)) Effect is as follows, as with most of these, my favourite effect […]

Read More

Folders of Images, Compare and Contrast

Now I’ve experimented with things, I wanted to make something that would allow me to compare different effects on the same photo, and loop through a folder of pictures looking for nice effects. I overrode mousePressed() to change the image on click. The big challenge here was running out of Java Heap space once I […]

Read More

Visualising A Photo Series

Whenever I’m scrolling through pictures I’ve taken, it seem like they are in sections – here’s when I was near the beach, he’s the park, the night sky and fireworks. I thought if you visualised the way that the dominant colors changed, patterns would emerge. I found the perfect layout for this, the sunflower layout, […]

Read More

Showing Only the Dominant Hue In an Image

Having extracted the dominant hue from the images, we can manipulate the image such that pixels that are not (or close to) the dominant hue are instead made grayscale. I converted to grayscale using the brightness of the image in the HSB. This worked really nicely. From my earlier experiments I decided on a hue […]

Read More

Extracting Dominant Color: RGB Averaging Doesn’t Work

This makes sense – two colors can have the same R values, but wildly different G and B values. The result of averaging them will bear no relation to the originals. However just to prove it, it was very easy to tweak my code to average the RGB values instead of counting the hues. The […]

Read More