For the past few years I had a problem I wasn’t really aware of. Last summer, during my graduation, I managed to address it and find a solution using Processing and computer vision. I made photographic test data.
When you are a programmer and you need to test something you have made, you can grab a set of random meaningless data and use that as input. When you are a scientist, you can often do the same for an experiment. If you are a photographer and you are doing experiments, you do not have such options.
I could easily program something that creates a completely random image. I would assign a random colour to each pixel of an image and the result would be colourful noise. But because my interest is photography, and not images in general, that would not be enough. An image of random noise looks nothing like a photograph. It has no figurative content, nothing recognizable.
And alternative could be to photograph something random, or grab a random image from any web source. Grabbing the last image uploaded on Flickr would be quite random. But because this image would be a photograph, it would most likely have figurative content. This content could play a role of its own in the experiment it is used in. It could add meaning that was never intended and add sentiment that should not have been there.
To avoid ending up with noise or unintended connotations in my graduation project, I combined a bit of both. I grabbed the last images uploaded to Flickr and wrote a program in Processing that tries to find objects within these images. These objects are layered over each other from more than 100 images, creating a new image.
The result is a random image that, for all my intents and purposes, functions as a photograph. The contents are figurative and recognizable, but they won’t take over my experiments by telling their own story. The weird esthetic I get from using computer vision (openCV) is a nice bonus.
The program I used to do create this was written in Processing. It makes use of the OpenCV library which should be installed separately. The code I have written can be found here and can be used freely, as long as you share any improvements on the code with me.