private void SaveCalibrationData() { CameraCalibrationData saveData = new CameraCalibrationData(); string dataAsJson = JsonUtility.ToJson(saveData); string filePath = Application.dataPath + "/" + calibrationFileName; File.WriteAllText(filePath, dataAsJson); }
private void LoadCalibrationData() { string filePath = Application.dataPath + "/" + calibrationFileName; if (File.Exists(filePath)) { string dataAsJson = File.ReadAllText(filePath); CameraCalibrationData loadedData = JsonUtility.FromJson <CameraCalibrationData>(dataAsJson); } }
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); //} }