Exemplo n.º 1
0
        public void Reset()
        {
            // Used on metadata over load.
            planeIsConvex = true;
            initialized   = false;

            quadImage = quadPlane.Clone();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Updates the calibration coordinate system without changing the real-world scale of the rectangle or the user-defined origin.
        /// Quadrilateral variant.
        /// </summary>
        public void Update(QuadrilateralF quadImage)
        {
            if (!initialized || size.IsEmpty)
            {
                valid = false;
                return;
            }

            this.quadImage = quadImage.Clone();
            mapping.Update(new QuadrilateralF(size.Width, size.Height), quadImage);
            valid = quadImage.IsConvex;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Initialize the projective mapping.
        /// </summary>
        /// <param name="size">Real world dimension of the reference rectangle.</param>
        /// <param name="quadImage">Image coordinates of the reference rectangle.</param>
        public void Initialize(SizeF size, QuadrilateralF quadImage)
        {
            PointF originImage = initialized ? Untransform(PointF.Empty) : quadImage.D;

            this.size      = size;
            this.quadImage = quadImage.Clone();
            mapping.Update(new QuadrilateralF(size.Width, size.Height), quadImage);
            SetOrigin(originImage);
            this.initialized = true;

            valid = quadImage.IsConvex;
        }
Exemplo n.º 4
0
        /// <summary>
        /// Initialize the projective mapping from a quadrilateral.
        /// size: Real world dimension of the reference rectangle.
        /// quadImage: Image coordinates of the reference rectangle.
        /// </summary>
        public void Initialize(SizeF sizeWorld, QuadrilateralF quadImage)
        {
            //PointF originImage = initialized ? Untransform(PointF.Empty) : quadImage.D;
            PointF originImage = quadImage.D;

            this.size      = sizeWorld;
            this.quadImage = quadImage.Clone();
            mapping.Update(new QuadrilateralF(size.Width, size.Height), quadImage);
            origin           = mapping.Backward(originImage);
            this.initialized = true;

            valid       = quadImage.IsConvex;
            perspective = !quadImage.IsAxisAlignedRectangle;
        }
Exemplo n.º 5
0
 public void Update(QuadrilateralF quadImage)
 {
     this.quadImage = quadImage.Clone();
     mapping.Update(new QuadrilateralF(size.Width, size.Height), quadImage);
     valid = quadImage.IsConvex;
 }