use of boofcv.openkinect.StreamOpenKinectRgbDepth in project BoofCV by lessthanoptimal.
the class LogKinectDataApp method process.
public void process() throws IOException {
logFile = new DataOutputStream(new FileOutputStream("log/timestamps.txt"));
logFile.write("# Time stamps for rgb and depth cameras.\n".getBytes());
int w = UtilOpenKinect.getWidth(resolution);
int h = UtilOpenKinect.getHeight(resolution);
buffRgb = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
if (showImage) {
gui = ShowImages.showWindow(buffRgb, "Kinect RGB");
}
StreamOpenKinectRgbDepth stream = new StreamOpenKinectRgbDepth();
Context kinect = Freenect.createContext();
if (kinect.numDevices() < 0)
throw new RuntimeException("No kinect found!");
Device device = kinect.openDevice(0);
stream.start(device, resolution, this);
if (maxImages > 0) {
while (frameNumber < maxImages) {
System.out.printf("Total saved %d\n", frameNumber);
BoofMiscOps.pause(100);
}
stream.stop();
System.out.println("Exceeded max images");
System.exit(0);
}
}
use of boofcv.openkinect.StreamOpenKinectRgbDepth in project BoofCV by lessthanoptimal.
the class OverlayRgbDepthStreamsApp method process.
public void process() {
int w = UtilOpenKinect.getWidth(resolution);
int h = UtilOpenKinect.getHeight(resolution);
buffRgb = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
buffDepth = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
gui = ShowImages.showWindow(buffRgb, "Kinect Overlay");
StreamOpenKinectRgbDepth stream = new StreamOpenKinectRgbDepth();
Context kinect = Freenect.createContext();
if (kinect.numDevices() < 0)
throw new RuntimeException("No kinect found!");
Device device = kinect.openDevice(0);
stream.start(device, resolution, this);
}
use of boofcv.openkinect.StreamOpenKinectRgbDepth in project BoofCV by lessthanoptimal.
the class CaptureCalibrationImagesApp method process.
public void process() throws IOException {
// make sure there is a "log" directory
new File("log").mkdir();
int w = UtilOpenKinect.getWidth(resolution);
int h = UtilOpenKinect.getHeight(resolution);
buffRgb = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
savedRgb = new Planar<>(GrayU8.class, w, h, 3);
savedDepth = new GrayU16(w, h);
gui = ShowImages.showWindow(buffRgb, "Kinect RGB");
gui.addKeyListener(this);
gui.requestFocus();
StreamOpenKinectRgbDepth stream = new StreamOpenKinectRgbDepth();
Context kinect = Freenect.createContext();
if (kinect.numDevices() < 0)
throw new RuntimeException("No kinect found!");
Device device = kinect.openDevice(0);
stream.start(device, resolution, this);
long targetTime = System.currentTimeMillis() + period;
updateDisplay = true;
while (true) {
BoofMiscOps.pause(100);
if (targetTime < System.currentTimeMillis()) {
userChoice = -1;
savedImages = false;
updateDisplay = false;
while (true) {
if (savedImages && userChoice != -1) {
if (userChoice == 1) {
UtilImageIO.savePPM(savedRgb, String.format(directory + "rgb%07d.ppm", frameNumber), buffer);
UtilOpenKinect.saveDepth(savedDepth, String.format(directory + "depth%07d.depth", frameNumber), buffer);
frameNumber++;
text = "Image Saved!";
} else {
text = "Image Discarded!";
}
timeText = System.currentTimeMillis() + 500;
updateDisplay = true;
targetTime = System.currentTimeMillis() + period;
break;
}
BoofMiscOps.pause(50);
}
}
}
}
Aggregations