Testing in Studio

Today I tested my interactive piece in the studio room, W119. There was a white board and white projector screen available which I was able to use for the clear background. From testing the piece, it allowed me to see if it worked properly, as well as to see if there are more improvements that can be made. Here is a video of me testing my piece:

As you can see, on the screen I was captured as a black silhouette as planned. However, the background wasn’t entirely clear as it picked up the edges of the board and screen. Therefore they came up as black blocks/lines and obstructed the shapes from falling. To fix this problem, I need to ensure that the screen I use is big enough in order to fill the width of the camera. As you can’t entirely see the screen, here is a screen recording of the test:

From this, I feel that I need to edit the speed again to make the shapes fall faster. I also think I need to edit the size of the shapes more so that there are some bigger ones rather than them all being small. The programming works as expected as when the shapes are on a white pixel the descend and when on black they ascend. By carrying out prior testing, it has allowed me to further improve my piece to make it more suitable and successful. I am pleased with the outcome and will make further amendments so it is ready to display on the public screens in Weymouth House.

Experimenting With Background Subtraction

When testing the brightness thresholding example, I found that in order for it to work as required for my piece, then the background behind the person needed to be clear. This is a problem in the public space, due to the walls being covered in pictures and posters, as well as Costa in the background. Therefore, I decided to briefly experiment with background subtraction in order to see if it would benefit my piece.Screen Shot 2015-01-13 at 15.11.36

Here are the before and after screen shots:
Screen Shot 2015-01-13 at 14.51.16

Screen Shot 2015-01-13 at 14.51.30As you can see the background subtraction takes away the green wall and produces an outline around the objects. I experimented with altering the threshold levels and altered various bit of code. However, I felt that the effect looks quite grainy and I was unable to create a silhouette like figure. Also, each time I want to subtract the background, currently I have to hold down the mouse. This may become quite hard in the public space, as there will be lots of people walking around in both the background and foreground and therefore I feel that this effect won’t work as required. Therefore, from this I have decided when displaying my piece in the Weymouth House, I plan to put up a white screen for users to stand in front of. Next, I will usability test my interactive piece, ensuring there is a plain background behind the user.

Processing Experiments

Over the holidays, I have been working on my interactive idea, developing the code and experimenting with different objects. Using Shiffmans brightness thresholding example, I then used existing knowledge of object orientated programming to create different classes (a blueprint that allows us to create an object), where each class contains data, constructors and methods. The methods I used for the different classes were all fairly similar:
void display () – displays the class (ellipse, rect, img etc.)
void descend () – descends to bottom of sketch (y+yspeed)
void bottom () – when they reach bottom, the start back at top of sketch (if (y > height){y=0;})

One idea is to have various brightly coloured shapes, here is an example:

I like the simplicity of this idea, and think the various shapes could work well. It makes the piece appeal like a game, which will hopefully encourage users to interact. I like the bright colours and this is something I would definitely use, no matter what objects I decide to use. The colours really stand out on the black and white video capture and I think it’ll look good when I go program it so the black pixels obstruct them from falling. I think the shapes would be a simple, yet effective objects to incorporate into the piece.

Another idea is to have ‘raining men’, here is an example:

golcondaThis idea links back to Magrittes’ surreal art work (image to right). I like the fact it looks quite unusual, and think it strongly relates to my concept of surrealism. I would have to program it so when the bottom of the ‘raining men’ figures reaches a black pixels then it moves up to a white. Again, I really like the bright colours and think they help make the piece stand out and look more appealing. The disadvantage is that it may be slightly harder to program using figures but I am willing to experiment further.

From this idea, I could incorporate various stick man doing different activities, in order to make it more varied and interesting. For example, I could have figures carrying out different sporting activities. Each figure could be a different bright colour, helping it to stand out and make it more visually appealing. Sport is something I enjoy and thus this will make my piece more personal. This can also relate back to my previous post regarding Slinkachu and his intriguing street photography of tiny people.

sports-symbols-hi

Another idea inspired by Cerise Doucède photography is to have falling objects that relate to the public space. Due to my interactive installation being in the Media School this idea could work well and users can relate to the various objects, here are some examples: social media 1 | black2012051003csicons-02

From experimenting with my interactive piece, I have learnt that the brightness thresholding example works best when the background is clear. Also, it depends on the lighting of the space and the set threshold number as to how silhouette like figures will be. I need to test these example in the space to see if it will work. I may find that the background may be a problem due to the walls having various photographs and posters on them. So, I will have to test on various public displays to see which one would work best and alter the thresholding accordingly. If needed, I may have to put up a white screen in the public space and set it up so users stand in front of the screen.

Next I will go on to add a class method:
void obstruct () – descend when on white pixel and ascend when on black pixel.
I plan to do this using previous knowledge of conditional statements and gaining help in workshop if required. Then, I will begin to test my piece both in the public space and with the target audience, to gain feedback and further follow the iterative design process.

Processing Video Examples

For my interactive piece, I have analysed some examples that can be relevant towards the creation of my piece. It is important that I understand the programming language used, and that am capable of re-working it myself. There are those that program from scratch and those which hack examples together. Hacking examples together is a programming technique that some use, the advantages of this is that it is quicker and allows ideas to be more complex for those which are not that advanced in programming. However, the disadvantages are that if you don’t understand it, then mistakes can easily be made and it may be hard to resolve if the programming language is not fully understood. The advantages of programming from scratch is that it means your programming knowledge is more developed, meaning you can create complex ideas of which you can resolve errors more easily. However, the disadvantages are that it can take a lot longer as you will be writing out code that sometimes is already easily accessible to use. Therefore, if I do choose to use one of the following examples, it is important that I fully understand the code, which I will evident through the various sketches I have programmed and presented on my blog. If I decide to use one of the examples, it would just form a bit of my piece as I then need to use object orientated programming to create an array of gravitating objects, showing I have the ability to both hack and program. I will go on to analyse each example, understand and edit the code and experiment with trial and error.

Brightness Thresholdingbrightness thresholding v2

This is my favourite example, and I may incorporate it into my piece. Initially, the threshold was lower and therefore the figure isn’t that clear, however by changing the thresholding and positioning of the camera I was able to capture a black silhouette on a white background. Next, I need to go on to add objects the piece, and program it so when they reach a black pixel they move up and when they reach a white pixel they descend.

Motion Detection

motion detection v2

This example detects motion and produces a black outline around a moving figure. It works well, and I like the figure effect. However, it will be harder to program the objects as the black pixels are not as bold and clear as the example above.

Brightness Mirror

brightness mirror v2I like the effect of the grid of squares and think this looks very good and unique. Originally, the size was smaller which I don’t think worked as well, so I adjusted the size of the squares. When adding falling objects to this example, it could come across as being quite confusing and distorted but I think that this is a good back-up example that I could use.

Next, I will go on to experiment further with object orientated programming and will add an array of descending objects to the brightness thresholding example. I will experiment with different objects: shapes, figures, words or graphics, to see which works and looks best.

Shiffman, D, 2008. Learning Processing: Examples [online]. Available from: http://www.learningprocessing.com/examples/ [Accessed 13 December 2014].

Processing Workshop – Video

In todays workshop, we learnt how to set up basic video capturing. This is useful to me as I need to understand this for my piece. The video capture setup is quite basic but you can add additional code to set it so that if the camera doesn’t work, an image will load instead, which could be useful for my piece. In the workshop, I set up the video capture and set it so if its bright, the sketch goes white and if it is dim the sketch goes black. Here is the code:

Screen Shot 2014-12-11 at 14.36.24

Overall, learning the basics of video capturing in this workshop was useful to me and from this, I will go on to advance my knowledge to learn more about motion and brightness thresholding, of which I will be using for my interactive piece.

Pseudo Code For Idea

Here is the basic pseudo code for my idea:

Screen Shot 2014-12-05 at 12.15.14This has allowed me to briefly see the steps I need to follow in order produce my interactive piece and the processing knowledge I need. I need to ensure that I have sufficient knowledge in video capturing, object orientated programming, motion thresholding and conditional statements. Next, I will go on to further explore the concept of surrealism, of which my piece will relate to, as well as developing my processing knowledge.

Processing Workshop – Mapping

Today, I learnt about the map function, which ‘re-maps a number from one range to another’. I used existing knowledge of importing images and the 2d pixel array formula – x+(y*width), and mapped the pixel colours of the image to a height location on the screen which is determined by the mouse. Here is the code:Screen Shot 2014-12-11 at 14.46.59Learning the map function was useful as it advances my programming knowledge, however I don’t plan on using this function in my piece. If I was to relate this mapping idea more to the brief, I would setup up a video capture so that the colour pixels of the video are mapped.

Processing (2014). Processing: Map [online]. Available from: https://www.processing.org/reference/map_.html [Accessed 28 November 2014].