private void OnCalibrate(Sizei resolution, Matrix3x3f intrinsic, Vector5f distorsion) { /* * var m = new Matrix4x4(); * for (int r = 0; r < 3; ++r) * { * for (int c = 0; c < 3; ++c) * { * m[r, c] = intrinsic.coeff(r, c); * } * } * Debug.Log(m); * Debug.Log(resolution.width); * Debug.Log(resolution.height); */ var fY = intrinsic.coeff(1, 1) * 2 / resolution.height; var fX = intrinsic.coeff(0, 0) * 2 / resolution.width; //var fovY = CameraUtility.Focal2Fov(fY, resolution.height); //var fovX = CameraUtility.Focal2Fov(fX, resolution.width); //camera.fieldOfView = fovY; //CameraUtility.ApplyProjectionMatrix() var projectionMatrix = Perspective(fX, fY, camera.nearClipPlane, camera.farClipPlane); camera.projectionMatrix = projectionMatrix; MoveVideoPlane(); }
public virtual void setCameraParameters(Matrix3x3f intrinsicParams, Vector5f distorsionParams) { solar_api_solver_posePINVOKE.I2Dto3DTransformDecomposer_setCameraParameters(swigCPtr, Matrix3x3f.getCPtr(intrinsicParams), Vector5f.getCPtr(distorsionParams)); if (solar_api_solver_posePINVOKE.SWIGPendingException.Pending) { throw solar_api_solver_posePINVOKE.SWIGPendingException.Retrieve(); } }
public virtual void setDistorsionParameters(Vector5f distorsion_parameters) { solar_api_geomPINVOKE.IUndistortPoints_setDistorsionParameters(swigCPtr, Vector5f.getCPtr(distorsion_parameters)); if (solar_api_geomPINVOKE.SWIGPendingException.Pending) { throw solar_api_geomPINVOKE.SWIGPendingException.Retrieve(); } }
public virtual void setCameraParameters(Matrix3x3f intrinsic_parameters, Vector5f distorsion_parameters) { solar_api_displayPINVOKE.I3DOverlay_setCameraParameters(swigCPtr, Matrix3x3f.getCPtr(intrinsic_parameters), Vector5f.getCPtr(distorsion_parameters)); if (solar_api_displayPINVOKE.SWIGPendingException.Pending) { throw solar_api_displayPINVOKE.SWIGPendingException.Retrieve(); } }
public virtual void setCameraParameters(Matrix3x3f intrinsicParams, Vector5f distorsionParams) { solar_api_geomPINVOKE.IUnproject_setCameraParameters(swigCPtr, Matrix3x3f.getCPtr(intrinsicParams), Vector5f.getCPtr(distorsionParams)); if (solar_api_geomPINVOKE.SWIGPendingException.Pending) { throw solar_api_geomPINVOKE.SWIGPendingException.Retrieve(); } }
public virtual void setDistorsionParameters(Vector5f distorsion_parameters) { solar_api_input_devicesPINVOKE.ICamera_setDistorsionParameters(swigCPtr, Vector5f.getCPtr(distorsion_parameters)); if (solar_api_input_devicesPINVOKE.SWIGPendingException.Pending) { throw solar_api_input_devicesPINVOKE.SWIGPendingException.Retrieve(); } }
public override void SetCameraParameters(Matrix3x3f intrinsics, Vector5f distorsion) { // pnp.setCameraParameters(intrinsics, distorsion); // pnpRansac.setCameraParameters(intrinsics, distorsion); // poseFinderFrom2D2D.setCameraParameters(intrinsics, distorsion); // triangulator.setCameraParameters(intrinsics, distorsion); // projector.setCameraParameters(intrinsics, distorsion); // overlay3D.setCameraParameters(intrinsics, distorsion); }
private void OnCalibrate(Sizei resolution, Matrix3x3f intrinsic, Vector5f distorsion) { var fY = intrinsic.coeff(1, 1); var fovY = CameraUtility.Focal2Fov(fY, resolution.height); var fX = intrinsic.coeff(0, 0); var aspect = (fY / resolution.height) / (fX / resolution.width); var projectionMatrix = Matrix4x4.Perspective(fovY, aspect, camera.nearClipPlane, camera.farClipPlane); CameraUtility.ApplyProjectionMatrix(camera, projectionMatrix); }
public virtual Vector5f getDistorsionParameters() { Vector5f ret = new Vector5f(solar_api_input_devicesPINVOKE.ICamera_getDistorsionParameters(swigCPtr), true); if (solar_api_input_devicesPINVOKE.SWIGPendingException.Pending) { throw solar_api_input_devicesPINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
public abstract void SetCameraParameters(Matrix3x3f intrinsic, Vector5f distorsion);
public override void SetCameraParameters(Matrix3x3f intrinsics, Vector5f distorsion) { // initialize pose estimation poseEstimationPlanar.setCameraParameters(intrinsics, distorsion); }
public virtual double solve(KeyframeList framesToAdjust, CloudPointVector mapToAdjust, Matrix3x3f K, Vector5f D, IntVector selectKeyframes, Transform3DfList poseAdjusted, CloudPointVector mapAdjusted, Matrix3x3f KAdjusted, Vector5f DAdjusted) { double ret = solar_api_solver_mapPINVOKE.IBundler_solve(swigCPtr, KeyframeList.getCPtr(framesToAdjust), CloudPointVector.getCPtr(mapToAdjust), Matrix3x3f.getCPtr(K), Vector5f.getCPtr(D), IntVector.getCPtr(selectKeyframes), Transform3DfList.getCPtr(poseAdjusted), CloudPointVector.getCPtr(mapAdjusted), Matrix3x3f.getCPtr(KAdjusted), Vector5f.getCPtr(DAdjusted)); if (solar_api_solver_mapPINVOKE.SWIGPendingException.Pending) { throw solar_api_solver_mapPINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
public override void SetCameraParameters(Matrix3x3f intrinsics, Vector5f distorsion) { PnP.setCameraParameters(intrinsics, distorsion); }