Here you will find all the necessary resources for the computer vision input.
...
Watch the presentation and write down questions and thoughts that come to your mind! We can discuss them later in the Zoom conference.
📼IAD-CV-Introduction Video
...
Expand |
---|
title | Full Sketch for Motion Detection |
---|
|
Code Block |
---|
| import processing.video.*;
import gab.opencv.*;
import org.opencv.core.*;
Capture cam;
OpenCV opencv;
PImage last = null;
void setup() {
size(640, 480);
String[] inputDevices = Capture.list();
cam = new Capture(this, 640, 480, inputDevices[0]);
opencv = new OpenCV(this, 640, 480);
cam.start();
}
void draw() {
background(0);
if(cam.available())
cam.read();
opencv.loadImage(cam);
if(last != null) {
opencv.diff(last);
opencv.threshold(40);
}
last = cam.copy();
float count = Core.countNonZero(opencv.getGray());
float difference = count / (cam.width * cam.height) * 100;
if(difference > 10.0) {
println(millis() + "WARNING!");
}
image(opencv.getSnapshot(), 0, 0);
fill(0, 255, 255);
text("Difference: " + difference, 20, 20);
} |
|
Task 6
Use Contour Detection to implement a multi-user drawing system.
Expand |
---|
title | Blobdetection Example |
---|
|
Code Block |
---|
| import processing.video.*;
import gab.opencv.*;
Capture cam;
OpenCV opencv;
PImage last = null;
void setup() {
size(640, 480);
String[] inputDevices = Capture.list();
cam = new Capture(this, 640, 480, inputDevices[0]);
cam.start();
opencv = new OpenCV(this, 640, 480);
}
void draw() {
background(0);
if (cam.available())
cam.read();
opencv.loadImage(cam);
opencv.threshold(240);
blendMode(BLEND);
image(cam, 0, 0);
noFill();
stroke(255, 0, 0);
strokeWeight(3);
for (Contour contour : opencv.findContours()) {
contour.draw();
}
} |
|
Deep Vision Live Input (15:00 - 16:00)
...