|
@@ -12,6 +12,7 @@ using bbiwarg.Images;
|
|
using bbiwarg.InputProviders;
|
|
using bbiwarg.InputProviders;
|
|
using Emgu.CV;
|
|
using Emgu.CV;
|
|
using Emgu.CV.Structure;
|
|
using Emgu.CV.Structure;
|
|
|
|
+using bbiwarg.Graphics;
|
|
|
|
|
|
namespace bbiwarg
|
|
namespace bbiwarg
|
|
{
|
|
{
|
|
@@ -38,6 +39,7 @@ namespace bbiwarg
|
|
|
|
|
|
private OutputImage edgeFingerOutputImage;
|
|
private OutputImage edgeFingerOutputImage;
|
|
private OutputImage depthPalmTouchOutputImage;
|
|
private OutputImage depthPalmTouchOutputImage;
|
|
|
|
+ private TouchEventVisualizer touchEventVisualizer;
|
|
|
|
|
|
public VideoHandle(IInputProvider inputProvider)
|
|
public VideoHandle(IInputProvider inputProvider)
|
|
{
|
|
{
|
|
@@ -160,7 +162,17 @@ namespace bbiwarg
|
|
touchTracker.setDetectedTouchEventsThisFrame(touchDetector.TouchEvents, depthPalmTouchOutputImage);
|
|
touchTracker.setDetectedTouchEventsThisFrame(touchDetector.TouchEvents, depthPalmTouchOutputImage);
|
|
Timer.stop("touchTracking");
|
|
Timer.stop("touchTracking");
|
|
|
|
|
|
- OutputImages = new OutputImage[] { edgeFingerOutputImage, depthPalmTouchOutputImage };
|
|
|
|
|
|
+ // touch event visualizer
|
|
|
|
+ if (touchEventVisualizer == null)
|
|
|
|
+ touchEventVisualizer = new TouchEventVisualizer(Width, Height);
|
|
|
|
+ if (getCurrentMovieFrame() == 0)
|
|
|
|
+ touchEventVisualizer.Reset();
|
|
|
|
+ foreach (PalmTouchEvent e in palmTouchDetector.PalmTouchEvents)
|
|
|
|
+ touchEventVisualizer.addPalmTouchEvent(e);
|
|
|
|
+ touchEventVisualizer.updateImage();
|
|
|
|
+
|
|
|
|
+ // output images
|
|
|
|
+ OutputImages = new OutputImage[] { edgeFingerOutputImage, depthPalmTouchOutputImage, touchEventVisualizer.OutputImage};
|
|
|
|
|
|
Timer.stop("processFrameUpdate");
|
|
Timer.stop("processFrameUpdate");
|
|
}
|
|
}
|