public void InitialiseImage(ImageL16 imgIn) { lock (Lock) { if (imgIn == null || !imgIn.HasAllocatedImage) { Image = null; Initialised = false; return; } imgIn.ImageUpdate += new EventHandler(imgIn_ImageUpdate); imgIn.ImageAttributesUpdate += new EventHandler <ImageAttributesChangedEventArgs>(imgIn_ImageAttributesUpdate); Allocate(imgIn.ImageAttributes); } }
public void InitialiseImage(ImageL16 imgIn) { lock (Lock) { if (imgIn == null || !imgIn.HasAllocatedImage) { Image = null; Initialised = false; return; } imgIn.ImageUpdate += new EventHandler(imgIn_ImageUpdate); imgIn.ImageAttributesUpdate += new EventHandler<ImageAttributesChangedEventArgs>(imgIn_ImageAttributesUpdate); Allocate(imgIn.ImageAttributes); } }
//called when data for any output pin is requested public void Evaluate(int SpreadMax) { if (FPinInInput[0] != FInput) { FInput = FPinInInput[0]; FInput.ImageUpdate += new EventHandler(FImage_ImageUpdate); FOutput = new ImageL16(); FThresholded = new Image <Gray, ushort>(new Size(FInput.Width, FInput.Height)); } lock (FLock) { FHold = FPinInHold[0]; FThreshold = (int)FPinInThreshold[0]; } }
//called when data for any output pin is requested public void Evaluate(int SpreadMax) { if (FPinInInput[0] != FInput) { FInput = FPinInInput[0]; FInput.ImageUpdate += new EventHandler(FImage_ImageUpdate); FOutput = new ImageL16(); FThresholded = new Image<Gray, ushort>(new Size(FInput.Width, FInput.Height)); } lock (FLock) { FHold = FPinInHold[0]; FThreshold = (int) FPinInThreshold[0]; } }
//called when data for any output pin is requested public void Evaluate(int SpreadMax) { if (FPinInContext[0] != FContext) { FContext = FPinInContext[0]; } if (FContext == null) { FRunning = false; return; } if (FContext.running && !FRunning && FContext.context != null) { try { FImageGenerator = FContext.context.FindExistingNode(global::OpenNI.NodeType.Image) as ImageGenerator; FDepthGenerator = FContext.context.FindExistingNode(global::OpenNI.NodeType.Depth) as DepthGenerator; FDepthGenerator.AlternativeViewpointCapability.SetViewpoint(FImageGenerator); FImageRGB = new ImageRGB(); FImageDepth = new ImageL16(); FImageWorld = new ImageRGB32F(); Size size = new Size(640, 480); FImageRGBBuffer = new Image<Bgr, byte>(size); FImageDepthBuffer = new Image<Gray,ushort>(size); FImageWorldBuffer = new Image<Rgb, float>(size); FPinOutRGB[0] = FImageRGB; FPinOutDepth[0] = FImageDepth; FPinOutWorld[0] = FImageWorld; FThread = new Thread(fnThread); FRunning = true; FThread.Start(); FPinOutStatus[0] = "OK"; } catch (StatusException e) { FRunning = false; FPinOutStatus[0] = e.Message; } } }