예제 #1
0
        /**
         *   @brief Gets a new data sample from the smoothing algorithm
         *   @param[in] timestamp
         *   @return smoothed value in PXCPointF32 format
         */
        public PXCMPointF32 GetSample(Int64 timestamp)
        {
            PXCMPointF32 point = new PXCMPointF32();

            PXCMDataSmoothing_Smoother2D_GetSample(instance, timestamp, out point);
            return(point);
        }
예제 #2
0
        /**
         *  @brief Return the 2D center of mass of the hand in image space (in pixels).
         */
        public PXCMPointF32 QueryMassCenterImage()
        {
            PXCMPointF32 point = new PXCMPointF32();

            PXCMHandData_IHand_QueryMassCenterImage(instance, ref point);
            return(point);
        }
예제 #3
0
     public PXCMCapture.DeviceModel model; /* Defines the distortion model of the device - different device models may use different distortion models */
 
     public StreamCalibration () {
         focalLength = new PXCMPointF32(); 
         principalPoint = new PXCMPointF32();
         radialDistortion = new Single[3];
         tangentialDistortion = new Single[2];
         model = PXCMCapture.DeviceModel.DEVICE_MODEL_GENERIC;
     }
예제 #4
0
        public PXCMCapture.DeviceModel model;     /* Defines the distortion model of the device - different device models may use different distortion models */

        public StreamCalibration()
        {
            focalLength          = new PXCMPointF32();
            principalPoint       = new PXCMPointF32();
            radialDistortion     = new Single[3];
            tangentialDistortion = new Single[2];
            model = PXCMCapture.DeviceModel.DEVICE_MODEL_GENERIC;
        }
예제 #5
0
 /**			
     @brief Add a new data sample to the smoothing algorithm
     @param[in] value the latest data sample 
     @return smoothed value in PXCMPointF32 format		
 */
 public PXCMPointF32 SmoothValue(PXCMPointF32 value)
 {
     return PXCMSmoother_Smoother2D_SmoothValue(instance, value);
 }
예제 #6
0
 /**
  *  @brief Add a new data sample to the smoothing algorithm
  *  @param[in] newSample the latest data sample
  *  @param[in] timestamp
  *  @return PXCM_STATUS_NO_ERROR
  */
 public pxcmStatus AddSample(PXCMPointF32 newSample, Int64 timestamp)
 {
     return(PXCMDataSmoothing_Smoother2D_AddSample(instance, newSample, timestamp));
 }
예제 #7
0
 /** 		
     @brief Return the 2D center of mass of the hand in image space (in pixels).
 */
 public PXCMPointF32 QueryMassCenterImage()
 {
     PXCMPointF32 point = new PXCMPointF32();
     PXCMHandData_IHand_QueryMassCenterImage(instance, ref point);
     return point;
 }
예제 #8
0
 /**
  * @brief Add a new data sample to the smoothing algorithm
  * @param[in] newSample the latest data sample
  * @param[in] timestamp
  * @return PXCM_STATUS_NO_ERROR
  */
 public pxcmStatus AddSample(PXCMPointF32 newSample)
 {
     return(AddSample(newSample, 0));
 }
예제 #9
0
        /* Member Functions */

        /** 
            @brief Map depth coordinates to color coordinates for a few pixels.
            @param[in]	pos_uvz		The array of depth coordinates + depth value in the PXCMPoint3DF32 structure.
            @param[out]	pos_ij		The array of color coordinates, to be returned.
            @return PXCM_STATUS_NO_ERROR Successful execution.
        */
        public pxcmStatus MapDepthToColor(PXCMPoint3DF32[] pos_uvz, PXCMPointF32[] pos_ij)
        {
            return PXCMProjection_MapDepthToColor(instance, pos_uvz.Length, pos_uvz, pos_ij);
        }
예제 #10
0
 /** 
     @brief Map camera coordinates to depth coordinates for a few pixels.
     @param[in]	pos3d		The array of world coordinates, in mm.
     @param[out]	pos_uv		The array of depth coordinates, to be returned.
     @return PXCM_STATUS_NO_ERROR Successful execution.
 */
 public pxcmStatus ProjectCameraToDepth(PXCMPoint3DF32[] pos3d, PXCMPointF32[] pos_uv)
 {
     return PXCMProjection_ProjectCameraToDepth(instance, pos3d.Length, pos3d, pos_uv);
 }
예제 #11
0
 /** 
     @brief Get the depth stream field of view.
     @return The depth-sensor horizontal and vertical field of view parameters, in degrees. 
 */
 public PXCMPointF32 QueryDepthFieldOfView()
 {
     PXCMPointF32 value = new PXCMPointF32();
     QueryProperty(Property.PROPERTY_DEPTH_FIELD_OF_VIEW, out value.x);
     QueryProperty((Property)(Property.PROPERTY_DEPTH_FIELD_OF_VIEW + 1), out value.y);
     return value;
 }
예제 #12
0
 internal extern static pxcmStatus PXCMDataSmoothing_Smoother2D_AddSample(IntPtr instance, PXCMPointF32 newSample, Int64 timestamp);
예제 #13
0
 internal extern static void PXCMDataSmoothing_Smoother2D_GetSample(IntPtr instance, Int64 timestamp, out PXCMPointF32 sample);
예제 #14
0
  /**			
     @brief Add a new data sample to the smoothing algorithm
     @param[in] newSample the latest data sample 
     @param[in] timestamp
     @return PXCM_STATUS_NO_ERROR		
 */
  public pxcmStatus AddSample(PXCMPointF32 newSample)
  {
      return AddSample(newSample, 0);
  }
예제 #15
0
 internal extern static pxcmStatus PXCMDataSmoothing_Smoother2D_AddSample(IntPtr instance, PXCMPointF32 newSample, Int64 timestamp);
예제 #16
0
 /**
  *  @brief Add a new data sample to the smoothing algorithm
  *  @param[in] value the latest data sample
  *  @return smoothed value in PXCMPointF32 format
  */
 public PXCMPointF32 SmoothValue(PXCMPointF32 value)
 {
     return(PXCMSmoother_Smoother2D_SmoothValue(instance, value));
 }
예제 #17
0
 internal extern static void PXCMDataSmoothing_Smoother2D_GetSample(IntPtr instance, Int64 timestamp, out PXCMPointF32 sample);
예제 #18
0
 /**			
      @brief Gets a new data sample from the smoothing algorithm
      @param[in] timestamp
      @return smoothed value in PXCPointF32 format		
  */
 public PXCMPointF32 GetSample(Int64 timestamp)
 {
     PXCMPointF32 point = new PXCMPointF32();
     PXCMDataSmoothing_Smoother2D_GetSample(instance, timestamp, out point);
     return point;
 }
예제 #19
0
 /** 
     @brief Get the depth stream principal point.
     @return The depth-sensor principal point in pixels. The parameters vary with the resolution setting.
 */
 public PXCMPointF32 QueryDepthPrincipalPoint()
 {
     PXCMPointF32 value = new PXCMPointF32();
     QueryProperty(Property.PROPERTY_DEPTH_PRINCIPAL_POINT, out value.x);
     QueryProperty((Property)(Property.PROPERTY_DEPTH_PRINCIPAL_POINT + 1), out value.y);
     return value;
 }
예제 #20
0
 /**			
     @brief Add a new data sample to the smoothing algorithm
     @param[in] newSample the latest data sample 
     @param[in] timestamp
     @return PXCM_STATUS_NO_ERROR		
 */
 public pxcmStatus AddSample(PXCMPointF32 newSample, Int64 timestamp)
 {
     return PXCMDataSmoothing_Smoother2D_AddSample(instance, newSample, timestamp);
 }
예제 #21
0
 internal extern static pxcmStatus PXCMPointConverter_Set2DPoint(IntPtr instance, PXCMPointF32 point2D);
예제 #22
0
 internal extern static PXCMPointF32 PXCMSmoother_Smoother2D_SmoothValue(IntPtr instance, PXCMPointF32 value);
예제 #23
0
 internal extern static pxcmStatus PXCMPointConverter_Set2DPoint(IntPtr instance, PXCMPointF32 point2D);
예제 #24
0
 /** 
     @brief Get the depth stream focal length.
     @return The depth-sensor focal length in pixels. The parameters vary with the resolution setting.
 */
 public PXCMPointF32 QueryDepthFocalLength()
 {
     PXCMPointF32 value = new PXCMPointF32();
     QueryProperty(Property.PROPERTY_DEPTH_FOCAL_LENGTH, out value.x);
     QueryProperty((Property)(Property.PROPERTY_DEPTH_FOCAL_LENGTH + 1), out value.y);
     return value;
 }
예제 #25
0
 /**
  *      @brief Get converted 2D point from source to target
  *      @param[out] PXCMPointF32 converted 2D point
  *      @note Call handData.Update() before calling this function in order to get converted point based on updated frame data.
  *      @return Converted 2D Point
  */
 public pxcmStatus Set2DPoint(PXCMPointF32 point2D)
 {
     return(PXCMPointConverter_Set2DPoint(instance, point2D));
 }
예제 #26
0
 /** 
     @brief Retrieve the inverse UV map for the specific depth image. The inverse UV map maps color coordinates
     back to the depth coordinates. The inverse UVMap is a PXCMPointF32 array of color size width*height.
     @param[in]  depth		The depth image instance.
     @param[out] inv_uvmap	The inverse UV map, to be returned.
     @return PXCM_STATUS_NO_ERROR Successful execution.
 */
 public pxcmStatus QueryInvUVMap(PXCMImage depth, PXCMPointF32[] inv_uvmap)
 {
     return PXCMProjection_QueryInvUVMap(instance, depth.instance, inv_uvmap);
 }
예제 #27
0
 internal static extern void PXCMHandData_IHand_QueryMassCenterImage(IntPtr instance, ref PXCMPointF32 point);
예제 #28
0
 /** 
     @brief Map color coordinates to depth coordiantes for a few pixels.
     @param[in]  depth       The depthmap image.
     @param[in]	pos_ij		The array of color coordinates.
     @param[out]	pos_uv		The array of depth coordinates, to be returned.
     @return PXCM_STATUS_NO_ERROR Successful execution.
 */
 public pxcmStatus MapColorToDepth(PXCMImage depth, PXCMPointF32[] pos_ij, PXCMPointF32[] pos_uv)
 {
     return PXCMProjection_MapColorToDepth(instance, depth.instance, pos_ij.Length, pos_ij, pos_uv);
 }
예제 #29
0
 internal static extern pxcmStatus PXCMProjection_MapColorToDepth(IntPtr p, IntPtr depth, Int32 npoints, PXCMPointF32[] pos_ij, [Out] PXCMPointF32[] pos_uv);
예제 #30
0
 /** 
     @brief Map camera coordinates to color coordinates for a few pixels.
     @param[in]	pos3d		The array of world coordinates, in mm.
     @param[out]	pos_ij		The array of color coordinates, to be returned.
     @return PXCM_STATUS_NO_ERROR Successful execution.
 */
 public pxcmStatus ProjectCameraToColor(PXCMPoint3DF32[] pos3d, PXCMPointF32[] pos_ij)
 {
     return PXCMProjection_ProjectCameraToColor(instance, pos3d.Length, pos3d, pos_ij);
 }
예제 #31
0
 internal extern static PXCMPointF32 PXCMSmoother_Smoother2D_SmoothValue(IntPtr instance, PXCMPointF32 value);
예제 #32
0
 internal static extern void PXCMHandData_IHand_QueryMassCenterImage(IntPtr instance, ref PXCMPointF32 point);
예제 #33
0
	/**			
		@brief Get converted 2D point from source to target
		@param[out] PXCMPointF32 converted 2D point
		@note Call handData.Update() before calling this function in order to get converted point based on updated frame data.
		@return Converted 2D Point
	*/
	public pxcmStatus Set2DPoint(PXCMPointF32 point2D) 
    {
        return PXCMPointConverter_Set2DPoint(instance, point2D);
    }