import controlP5.*;
import KinectPV2.*;
import blobDetection.*;
KinectPV2 kinect;
ControlP5 cp5;
int KmaxD = 4000; // 4m
int KminD = 100; // 0m
int MoveX;
int MoveY;
int R1X;
int R1Y;
int R2X;
int R2Y;
int R3X;
int R3Y;
int R4X;
int R4Y;
float Scale_Depth = 2.0;
PGraphics pg;
PImage img;
void setup() {
size(1600, 1000);
pg = createGraphics(512, 424);
cp5 = new ControlP5(this);
kinect = new KinectPV2(this);
kinect.enableDepthImg(true);
kinect.enablePointCloud(true);
kinect.enableColorImg(true);
kinect.init();
cp5.addSlider("KminD")
.setPosition(40,40)
.setRange(0,2000)
.setSize(200,20)
.setValue(200)
.setColorForeground(color(20,200,200))
.setColorLabel(color(255))
.setColorBackground(color(70,70,70))
.setColorValue(color(0,0,0))
.setColorActive(color(0,255,255))
;
cp5.addSlider("KmaxD")
.setPosition(40,80)
.setRange(0,2000)
.setSize(200,20)
.setValue(1250)
.setColorForeground(color(20,200,200))
.setColorLabel(color(255))
.setColorBackground(color(70,70,70))
.setColorValue(color(0,0,0))
.setColorActive(color(0,255,255))
;
cp5.addSlider("Scale_Depth")
.setPosition(40,120)
.setRange(0,10)
.setSize(200,20)
.setValue(2)
.setColorForeground(color(20,200,200))
.setColorLabel(color(255))
.setColorBackground(color(70,70,70))
.setColorValue(color(0,0,0))
.setColorActive(color(0,255,255))
;
cp5.addSlider("MoveX")
.setPosition(40,160)
.setRange(-400,400)
.setSize(200,20)
.setValue(0)
.setColorForeground(color(20,200,200))
.setColorLabel(color(255))
.setColorBackground(color(70,70,70))
.setColorValue(color(0,0,0))
.setColorActive(color(0,255,255))
;
cp5.addSlider("MoveY")
.setPosition(40,200)
.setRange(-400,400)
.setSize(200,20)
.setValue(0)
.setColorForeground(color(20,200,200))
.setColorLabel(color(255))
.setColorBackground(color(70,70,70))
.setColorValue(color(0,0,0))
.setColorActive(color(0,255,255))
;
cp5.addSlider("R1X")
.setPosition(300,40)
.setRange(0,600)
.setSize(200,20)
.setValue(100)
.setColorForeground(color(20,200,200))
.setColorLabel(color(255))
.setColorBackground(color(70,70,70))
.setColorValue(color(0,0,0))
.setColorActive(color(0,255,255))
;
cp5.addSlider("R1Y")
.setPosition(300,80)
.setRange(0,600)
.setSize(200,20)
.setValue(100)
.setColorForeground(color(20,200,200))
.setColorLabel(color(255))
.setColorBackground(color(70,70,70))
.setColorValue(color(0,0,0))
.setColorActive(color(0,255,255))
;
cp5.addSlider("R2X")
.setPosition(560,40)
.setRange(0,600)
.setSize(200,20)
.setValue(100)
.setColorForeground(color(20,200,200))
.setColorLabel(color(255))
.setColorBackground(color(70,70,70))
.setColorValue(color(0,0,0))
.setColorActive(color(0,255,255))
;
cp5.addSlider("R2Y")
.setPosition(560,80)
.setRange(0,600)
.setSize(200,20)
.setValue(100)
.setColorForeground(color(20,200,200))
.setColorLabel(color(255))
.setColorBackground(color(70,70,70))
.setColorValue(color(0,0,0))
.setColorActive(color(0,255,255))
;
cp5.addSlider("R3X")
.setPosition(820,40)
.setRange(0,600)
.setSize(200,20)
.setValue(100)
.setColorForeground(color(20,200,200))
.setColorLabel(color(255))
.setColorBackground(color(70,70,70))
.setColorValue(color(0,0,0))
.setColorActive(color(0,255,255))
;
cp5.addSlider("R3Y")
.setPosition(820,80)
.setRange(0,600)
.setSize(200,20)
.setValue(100)
.setColorForeground(color(20,200,200))
.setColorLabel(color(255))
.setColorBackground(color(70,70,70))
.setColorValue(color(0,0,0))
.setColorActive(color(0,255,255))
;
cp5.addSlider("R4X")
.setPosition(1080,40)
.setRange(0,600)
.setSize(200,20)
.setValue(100)
.setColorForeground(color(20,200,200))
.setColorLabel(color(255))
.setColorBackground(color(70,70,70))
.setColorValue(color(0,0,0))
.setColorActive(color(0,255,255))
;
cp5.addSlider("R4Y")
.setPosition(1080,80)
.setRange(0,600)
.setSize(200,20)
.setValue(100)
.setColorForeground(color(20,200,200))
.setColorLabel(color(255))
.setColorBackground(color(70,70,70))
.setColorValue(color(0,0,0))
.setColorActive(color(0,255,255))
;
}
void draw() {
background(40);
kinect.setLowThresholdPC(KminD);
kinect.setHighThresholdPC(KmaxD);
img = kinect.getPointCloudDepthImage();
float sc = Scale_Depth;
pushMatrix();
translate(width/2,height/2);
pg.beginDraw();
pg.background(100);
pg.image(img,0,0);
pg.filter(INVERT);
pg.fill(0);
pg.rect(0,0,R1X,R1Y);
pg.rect(0,0,R2X,R2Y);
pg.rect(0,424,R3X,-R3Y);
pg.rect(512,0,-R4X,R4Y);
pg.endDraw();
scale(sc);
image(pg,-512/2+MoveX,-424/2+MoveY);
popMatrix();
}