Final Prototype | Processing

I have now finished my interactive piece. The piece is set to a low frame rate to match its similarity of a CCTV camera, and appears filtered in grey. With a maximum limit of 4 faces being detected, as users walk by, it blurs out their face. Below is the code for my program:

//import libraries
import gab.opencv.*;
import java.awt.*;

Capture video;
OpenCV opencv;

//PImages to store captured faces
PImage face0 = createImage(0, 0, RGB);
PImage face1 = createImage(0, 0, RGB);
PImage face2 = createImage(0, 0, RGB);
PImage face3 = createImage(0, 0, RGB);

void setup() {
 size(640, 480);
 video = new Capture(this, 640, 480, 20);
 opencv = new OpenCV(this, 640, 480);

void draw() {
 //need to scale up to make the image bigger at some point

 //display video feed
 image(video, 0, 0 );

 //array to store the faces
 Rectangle[] faces = opencv.detect();

 if (faces.length >= 1) {
 face0 = get(faces[0].x, faces[0].y, faces[0].width, faces[0].height);
 face0.filter(BLUR, 6);
 image(face0, faces[0].x, faces[0].y);
 if (faces.length >= 2) {
 face1 = get(faces[1].x, faces[1].y, faces[1].width, faces[1].height);
 face1.filter(BLUR, 6);
 image(face1, faces[1].x, faces[1].y);
 if (faces.length >= 3) {
 face2 = get(faces[2].x, faces[2].y, faces[2].width, faces[2].height);
 face2.filter(BLUR, 6);
 image(face2, faces[2].x, faces[2].y);
 if (faces.length >= 4) {
 face3 = get(faces[3].x, faces[3].y, faces[3].width, faces[3].height);
 face3.filter(BLUR, 6);
 image(face3, faces[3].x, faces[3].y);
} // close draw

void captureEvent(Capture c) {;

The problem I had last time with the filter blur covering the whole screen instead of just the rectangle placed around the detected face has been resolved. What was wrong with my code to start that I had originally wasn’t able to redraw the face that had been recognised because it didn’t have anything that commanded it to do so. With the new code, the ‘get’ functions that are applied to every ‘if’ statement allowed the images stored in the PImage arrays to redraw the image back into the space with the blur effect added to it. The code I had previously was able to apply a masked image from the PImage in the void setup to be applied to the facial detection space but wasn’t able to apply the blur. With a point in the right direction by another student, I was able to understand the nature of how this newly discovered code would help me in achieving my idea. I now have a clear understanding of how this kind of function works within processing.



The Space | Weymouth House foyer

Today I have been analysing the space in which my interactive piece will be displayed. To start with, I wanted to look at the different areas the space had to offer. In terms of where the screens are placed, I had 3 choices. I could either set up my program in the seated area in the right side of the foyer, the north entrance to the right (the entrance side with the TARDIS and the monsters inc. model) or small studio on the left, past the entrance. Because my work uses a CCTV-like interaction, I thought it was best to display mine on the north entrance display.

I did a 15 minute survey on how many people walk through this area from 12:45 til 1pm. The amount of people that walked through this specific space in this period time was 35. I managed to record this at the same time that other students were displaying their work in the same area that I would be displaying mine. I managed to tally up 20 people that gave a quick interaction in reaction to seeing the work in this 15 minute period. This proved that the space that I was going to be using had a healthy amount of people in it and would probably get the most use out of my interactive piece. In my next post I will be talking about how users interact with my piece of work in this space.

Banksy | A deeper insight and meaning

The story of street artist Banksy has always been quite a hazy one to say the least. Nobody really knows who he is, his art is displayed illegally all over the world and his legacy has laid in the minds of most of young to middle age people since the 90’s. In many eyes he is seen as more of an inspiration than a criminal because of the meanings behind his art. His art usual points towards the political matter and war aspects of the modern world. The image below stenciled by Banksy symbolizes the outrageous hunt for fossil fuels and the greed we as humans have, that is slowly but surely destroying our planet:


Image taken by Mark Bull.

Now onto where this becomes relative to my theories and ideas based on my interactive piece. Looking at the infamous piece of art by Banksy ‘One Nation Under CCTV’, I began to get a clearer understanding of why his art became so  iconic in the first place. His art leaves people questioning their own identity with just a simple piece of imagery as they walk by. My interactive media piece involves the same kind of theory, as it allows  people to walk by and have a glimpse at what the piece is about or what it means to them. I can also link my interactive piece to the fact that once you placed on a computer or online, you can have your identity stripped from you. The image below is the ‘One Nation Under CCTV’ piece by Banksy.


In an article, Banksy stated “You don’t have to go to college, drag ’round a portfolio, mail off transparencies to snooty galleries or sleep with someone powerful, all you need now is a few ideas and a broadband connection”. This basically means that in the eyes of the artist himself, anyone can become an artist or get somewhere quite fast with the power of the internet.  With this statement in mind, I began thinking about some of the online works and individuals I’d seen over the years. People like PewDiePie, a Youtuber who became one of the highest earners on the site, topping 33 million subscribers. Some famous Youtubers just blog their entire lives, from the moment they wake to when they go to sleep, yet they still gain a very strong and positive perception in the public eye. It makes me ask the question as to how much it actually takes to become ‘someone’ in the real world, or whether the differentiation between reality and virtual reality cannot be distinguished.

In conclusion to this information, I can safely say that Banksy’s work is heavily based on the publics identity, and is placed mainly to make people question what they see as perhaps normal or what they are made to believe is normal behavior. His perception in the public eye is very ironic, seeing as he has never been given an identity himself. Maybe this is his idea of another form of his unique fashioned artwork, nobody knows.

Reference List:

Baudrillard, J (2014). The Spirit of Terrorism. Paris: Verso Books. p30-70.–despite-watched-CCTV.html


The interactive media around us | Science Museum

This week we went to the science museum in London as Liam thought it would be a great opportunity for us all as a class to go and check out all the different pieces of interactive media there. The museum was filled with lots of different types of media ranging from small electronic games such as the reverse steering driving game to the ripple creator shown in the image above (image taken by Curtis Bacon).

For me, the whole experience was very much a different one compared to what I was expecting. I was expecting to be confronted with all kinds of different interactive media that involved movement of an individual, when in fact I came across more pieces that involved touch and physical screen interaction.

The whole day gave me an broadened perspective into how much of a part interactive media actually plays in our everyday lives – anything from ordering a train ticket at a self serve to using a Nintendo Wii is interactive media technically. What I have been asked to do as part of my brief is to create such a piece that can technically be classed as an art form and going to the science museum has partially made me realise that.

If anything, I wish the science museum had more to offer me in terms of interactive media. Lots of pieces were inapplicable to my idea unfortunately, but the trip still proved very useful.

Development idea progression & research | Processing

My current prototype idea involves the concept of being an object within the world of CCTV. The way in which we are constantly monitored without being given an identity is a very surreal yet truthful insight in the modern world. Modern day technology allows us to be continuously exploited at our best and worst moments. My idea of never being given an identity was something that is touched up on by street artist ‘Banksy’, with his ‘what are you looking at?’ campaign, but more on that later. The image below is the stencil art by the artist himself, Banksy.


My interactive media piece is planned to be finished in the coming weeks. It is planned to involve 4 individuals coming into view of the camera. As the faces are recognised, each person is labelled differently accordingly. Each person is labelled with a different image which classes them as an item. This fits perfectly with my current concept idea. I am yet to code in a 4 face array, but this will be done shortly as this is only a progress post – I’m still trying to figure out some of the code I’m working with.

Back to a Banksy’s campaign. The ‘What are you looking at?’ campaign was aimed at the public to create a sense of awareness towards the privacy meltdown we’ve come across in the late 20th and indeed 21st century. “People are becoming more aware that they are being watched as they go about their everyday activities. Some feel very unsettled about being watched” says an article on stencil revolution. The article looks at the debate of whether or not CCTV surveillance is actually an effective push towards fighting crime or whether its just another way to slowly claw away at our own rightful privacy as individuals.

I wanted to use work by this street artist as its always interested me, there is always a hidden message behind it all. This kind of research is very much applicable to my main concept of identity and will be something I include more in other posts as I start to tie my ideas together properly.


Processing | Daniel Shiffman (revisit)

My most recent post touched up on the problems I have been having with combining facial recognition with filters in terms of ONLY applying them to the space inside the facial recognition rectangle. I found that, with the OpenCV library, the way that the re-draw function was coded wasn’t (or at least to my knowledge) able to support the functions I wanted, so I had to rethink what I was going to do.

I did a little bit of hunting throughout Github, and stumbled across a user that I’d been advised to look at during my processing workshops. His name is Daniel Shiffman and he has created many different projects within processing and C++ (Frameworks and cinder) and holds a very healthy amount of repositories on Github. He also holds a Processing video class online, which has proved to be very helpful throughout this unit for me, especially at the start of my processing journey.

He created a library which no longer works on processing called “Facial Rekognition”, which is very unfortunate because the work and activity Ive seen of Shiffman on github has proven very helpful.


Prototype | Facial Recognition with filters

I have been working on the code that I was researching through the OpenCV library. The code that I was looking at was for a single face and I couldn’t quite figure out why I couldn’t apply a blur filter to the space in which the face was recognised in. With the code that I had, this is the block I had trouble with (Below). This is how I thought the code should have looked like, with the filter applied in the Void Draw.

void draw() {

 image(video, 0, 0 );

 Rectangle[] faces = opencv.detect();

 for (int i = 0; i < faces.length; i++) {
 println(faces[i].x + "," + faces[i].y);
 rect(faces[i].x, faces[i].y, faces[i].width, faces[i].height);

But as with most things in the digital programming world, it wasn’t as simple as that. All I would come out with was a low frame rate window with both of my chosen filters applied to the entire display window. The re-draw was being applied to everything (this is when I realised there was something drastically wrong with what I was doing). The approach I had been trying obviously wasn’t going to work, or at least the code wasn’t placed or even written in a way for it to support this kind of function. I would have to try something else.

I will continue reading and looking into this problem, updates will follow on my progress.