...
Code Block |
---|
|
image(video, 0, 0); |
Code Block |
---|
title | Beispiel |
---|
collapse | true |
---|
|
import processing.video.*;
Capture video;
void setup() {
size(640, 480);
video = new Capture(this, width, height, 30);
video.start();
}
void draw() {
if (video.available()) {
video.read();
}
image(video, 0, 0);
} |
Filter und Video
Grundsätzlich lassen sich alle Filter und Effekte, welche wir auf statische Bilder angewendet haben auch auf Video-Sourcen anwenden. Im folgenden ein Paar Beispiele.
Das Beispiel “P04_2_Video_Kamerabild_Pixelate” verwendet den gleichen Filter wie im Beispiel “P03_7_Pixels_Pixelate” und löst das Bild gröber auf.
Image Removed
Beispiel “P04_3_Video_Kamerabild_Threshold” arbeitet wieder folgende Beispiel verwendet den den "Pixelate" filter um das Video grober aufzulösen:
Code Block |
---|
title | Beispiel |
---|
collapse | true |
---|
|
import processing.video.*;
Capture video;
int pixelSize = 20;
void setup() {
size(640, 480);
video = new Capture(this, width, height, 30);
video.start();
}
void draw() {
if (video.available()) {
video.read();
}
for(int x=0; x<width; x+=pixelSize) {
for(int y=0; y<height; y+=pixelSize) {
int loc = x+y*width;
color c = video.pixels[loc];
fill(c);
noStroke();
rect(x, y, pixelSize, pixelSize);
}
}
} |
Image Added
Das folgende Beispiel arbeitet mit einem Grenzwert und zeigt die Pixel entweder Schwarz oder Weiss dar (vrgl. Beispiel “P03_9_Pixels_Threshold”).:
Code Block |
---|
title | Beispiel |
---|
collapse | true |
---|
|
import processing.video.*;
Capture video;
int threshold = 100;
void setup() {
size(640, 480);
video = new Capture(this, width, height, 30);
video.start();
}
void draw() {
if (video.available()) {
video.read();
}
loadPixels();
for(int x=0; x<width; x++) {
for(int y=0; y<height; y++) {
int loc = x+y*width;
if(brightness(video.pixels[loc])<threshold) {
pixels[loc] = color(255);
} else {
pixels[loc] = color(0);
}
}
}
updatePixels();
} |
Weitere Filter
Für Bilder gibt es auch schon eine Menge von vorgefertigten Filtern. Diese können unter diesem LINKLink gefunden werden.
Spiegeln
Je nach Anwendung kann es von Vorteil sein, wenn man das Bild spiegelt. Vor allem bei Interaktionen vor einem Bildschirm macht dies Sinn. Im Beispiel “P04_4_Video_Kamerabild_spiegeln” ist gezeigt wie es geht. Im Prinzip drehen wir das komplette Video horizontal um 180°. Dies machen wir mit:
Code Block |
---|
|
pushMatrix();
scale(-1,1);
image(video, -width, 0);
popMatrix(); |
Code Block |
---|
title | Beispiel |
---|
collapse | true |
---|
|
import processing.video.*;
Capture video;
void setup() {
size(640, 480);
video = new Capture(this, width, height, 30);
video.start();
}
void draw()
{
if (video.available())
{
video.read();
}
pushMatrix();
scale(-1,1);
image(video, -width, 0);
popMatrix();
} |
Weiteres