Пример #1
0
        /* Assumes square model with 4 points */
        void Calibrate(int numAcquisitionsPerView, int numViews, double maxDisplacementX, double maxDisplacementY, double maxDisplacementZ)
        {
            CalibrationModel model = new CalibrationModel(17.5);
            double           stepX = (maxDisplacementX / numAcquisitionsPerView);
            double           stepY = (maxDisplacementY / numAcquisitionsPerView);
            double           stepZ = (maxDisplacementZ / numViews);

            CalibrationView[] views = new CalibrationView[numViews];
            int viewIdx             = 0;

            for (double z = 0; z < maxDisplacementZ; z += stepZ, viewIdx++)
            {
                for (double y = 0; y < maxDisplacementY; y += stepY)
                {
                    for (double x = 0; x < maxDisplacementX; x += stepX)
                    {
                        modelControlX.Move(x);
                        modelControlY.Move(y);
                        modelControlZ.Move(z);
                        model.Move(x, y, z);

                        for (int i = 0; i < 4; i++)
                        {
                            views[viewIdx].AddPoint(camera[0].points[i], camera[1].points[i], model.GetPoint(i));
                        }
                    }
                }
            }

            Stereo.CalibrateMultipleViews(views);
        }
Пример #2
0
 public static int CalibrateSingleView(CalibrationView view)
 {
     throw new NotImplementedException();
 }