Looking for advice/feedback on my Schoolproject

Hello everyone, this will be my first post here.
Sorry for the length, but you can scan through most of it.
If you’re really low on patience just jump to “THE ISSUES”.

I’m an Art&Technology student and i’m working on this project: An installation that requires to be a combination between - you guessed it - art and technology. Deadline = July 4th. For my concept I want to use a lot of Processing, which isn’t my strongest side YET. So I have no idea about the possibilities, or whats the best thing I should do in my sketch. Visit forums, my teacher suggested.

So that’s why i’m here: To give you insight about the plans for my project, hoping to get good advice on solving the Processing issues i have. I know this topic isn’t a short one, but I’ll be super grateful to anyone helping me out for a bit.

THE INSTALLATION
My concept is called WORLD PEACE SIMULATOR: an interactive artwork that will be exhibited to the public in a large studio.
It mainly consists of:

  1. a beamer
  2. a (transparent) projection screen
  3. a webcam (wireless)
  4. a distance-measuring sensor
  5. an Arduino UNO
  6. a laptop For Processing.

To make it perfectly clear, this is what it will kinda look like:

THE PROCESS

  1. Processing’s display window (with my running sketch) will be projected on the screen. It contains a short .mp4 animation that can be played forwards/backwards by walking near/away from the screen. No
    movement at all means no movement in the animation.
    Here’s a draft of the animation (9sec):
    https://youtu.be/raNi96XJdmU

  2. So when a visitor get close enough to the screen the video will reach it’s end: The contours of a human. TURN AROUND AND TAKE POSITION says the animation. The visitor will take pose of the contours, and
    the webcam will recognise this and take a picture.

  3. Processing will receive the picture and substract the background. Once the visitor moves away from the screen, the transparent picture of him will be projected along with previous visitors who did the same
    thing. All hand in hand, next to eachother. The more shots from visitors are gathered, the longer the chain.

  4. When (after 5secs passed) someone else approaches the screen, repeat the process.

THE ISSUES
-What’s the best way to base the current video’s frame on the value of the distance sensor? I DID manage to make a working sketch for this, with using mouseY instead of a sensorvalue. It worked, but it was reaaaly slow, like 0,5fps or something. Here it is: pastebin.com/KYCVVyy6

-What’s the best way to substract a picture’s background? Thanks to projection i can choose for any solid backgroundcolor to easily mask out the visitor. I just need to know how to do this in Processing. I
found this code but I don’t know if it’s the one im looking for. It’s called Background Substraction from the OpenCV library (can’t post any more links)

-How do I make sure the webcam identifies the correct position before taking a shot? It should mainly be based on the visitor’s hands position, so the hands will be at the same spot on every picture, regardless of people’s length. That’s how i can make a good looking chain.

-How do I send every webcam picture to my processing sketch, and store them up in there, so they can all be viewed in the Display Window?

-How do I make sure the pictures will all be horizontally aligned? Keep in mind every session a new picture will be added to the row.

That’s about it for now. As long as i can get an idea on how to tackle these main issues, i will manage to solve the rest myself and finish the design.

Huge thanks to anyone who took the time to read all of this, or who can help me out in even the LITTLEST bit.

Regards,
WindJammer

It seams that the function myMovie.jump(val); is very slow if you run it at every frame.
Even the example from the processing reference is slow when you click : https://processing.org/reference/libraries/video/Movie_jump_.html

What you can do is (if you have a solid background color) check every pixel of your webcam output and if it is green (for example), skip it otherwise keep the pixel (which is the visitor).

Use : https://processing.org/reference/libraries/video/Capture.html

1 Like

I have a feeling this post is relevant: https://forum.processing.org/two/discussion/comment/104666/#Comment_104666

Kf

1 Like