Exemple #1
0
    private void SaveCalibrationData()
    {
        CameraCalibrationData saveData = new CameraCalibrationData();

        string dataAsJson = JsonUtility.ToJson(saveData);

        string filePath = Application.dataPath + "/" + calibrationFileName;

        File.WriteAllText(filePath, dataAsJson);
    }
Exemple #2
0
    private void LoadCalibrationData()
    {
        string filePath = Application.dataPath + "/" + calibrationFileName;

        if (File.Exists(filePath))
        {
            string dataAsJson = File.ReadAllText(filePath);
            CameraCalibrationData loadedData = JsonUtility.FromJson <CameraCalibrationData>(dataAsJson);
        }
    }
Exemple #3
0
    public void calibrateCameraPosition(CameraCalibrationData data)
    {
        Vector3    up_col       = data.up_column;
        Vector3    forward_col  = data.forward_column;
        Vector3    transl_vec   = data.translation_vector;
        Vector3    up_vec       = new Vector3(-up_col.x, -up_col.z, -up_col.y);
        Vector3    forward_vec  = new Vector3(forward_col.x, forward_col.z, forward_col.y);
        Quaternion lookRotation = Quaternion.LookRotation(forward_vec, up_vec);

        this.transform.localPosition = new Vector3(transl_vec.x, transl_vec.z, transl_vec.y + 0.125f);
        this.transform.localRotation = lookRotation;
    }
 public void Update()
 {
     if (Input.GetKeyDown(KeyCode.G))
     {
         takepic = true;
         Debug.Log("Take one picture for calibration");
     }
     if (Input.GetKeyDown(KeyCode.H))
     {
         detectArucoMarker();
         //Marshal.Copy(result, result_arr, 0, 1);
         //Marshal.Copy(result_rot, rot_matrix, 0, 9);
         //Debug.Log(result_arr[0]);
     }
     if (Input.GetKeyDown(KeyCode.Y))
     {
         //Debug.Log(Application.dataPath);
         using (StreamReader r = new StreamReader(Path.Combine(Application.dataPath, "../cam_aruco_calib.json")))
         {
             string content             = r.ReadToEnd();
             CameraCalibrationData data = JsonUtility.FromJson <CameraCalibrationData>(content);
             Debug.Log(data.up_column);
             Debug.Log(data.forward_column);
             Debug.Log(data.translation_vector);
             this.gameObject.GetComponent <CameraCalibration>().calibrateCameraPosition(data);
         }
     }
     //if (Input.GetKeyDown(KeyCode.X))
     //{
     //    this.transform.localScale = new Vector3(this.transform.localScale.x - 0.01f, this.transform.localScale.y, this.transform.localScale.z);
     //}
     //if (Input.GetKeyDown(KeyCode.Z))
     //{
     //    this.transform.localScale = new Vector3(this.transform.localScale.x, this.transform.localScale.y - 0.01f, this.transform.localScale.z);
     //}
 }