bnp.objects.camera¶
-
camera2np(camera, render=bpy.context.scene.render, dtype=np.float32, frame=bpy.context.scene.frame_current, use_cv_coord=False) → Tuple[np.ndarray]¶ Return a tuple of intrinsic parameters and extrinsic parameters Ref: https://blender.stackexchange.com/questions/38009/3x4-camera-matrix-from-blender-camera
Parameters: - camera (bpy.types.Object) – camera which has bpy.types.Camera at camera.data
- render (bpy.types.RenderSettings) – render setting in the scene
- dtype – dtype
- frame (int) – frame
- use_cv_coord (bool) – whether to convert the camera pose to opencv’s coordinate
Returns: Tuple[np.ndarray] (K, Rt) where K: [3, 3], Rt: [3, 4]
-
get_intrinsic_parameters(camera, render=bpy.context.scene.render, dtype=np.float32) → np.ndarray¶ Return intrinsic parameters
Parameters: - camera (bpy.types.Object) – camera which has bpy.types.Camera at camera.data
- render (bpy.types.RenderSettings) – render setting in the scene
- dtype – dtype
Returns: np.ndarray K: [3, 3]
-
get_extrinsic_parameters(camera, dtype=np.float32, frame=bpy.context.scene.frame_current, use_cv_coord=False) → np.ndarray¶ Return extrinsic parameters
Parameters: - camera (bpy.types.Object) – camera which has bpy.types.Camera at camera.data
- dtype – dtype
- frame (int) – frame
- use_cv_coord (bool) – whether to convert the camera pose to opencv’s coordinate
Returns: np.ndarray Rt: [3, 4]
-
KRt_from_P(P) → Tuple[np.ndarray]¶ Decompose camera matrix to intrinsic parameters and extrinsic parameters
Parameters: P (np.ndarray) – camera matrix Returns: Tuple[np.ndarray] K, R, T
-
create_camera(name="debug_camera", position=[0.0, 0.0, 3.0], rotation=[0.0, 0.0, 0.0], align="WORLD", enter_editmode=False, render=bpy.context.scene.render, P=None, K=None, Rt=None, scale=1.0, use_cv_coord=False) → bpy.types.Object¶ Create a camera from camera parameters. You can get the camera by setting either P or (K and Rt). Referenece: https://docs.blender.org/api/current/bpy.ops.object.html#bpy.ops.object.camera_add
Parameters: - name (str) – camera name
- position (list) – camera position
- rotation (list) – camera rotation
- align (str) – The alignment of the new object. See Blender’s API
- enter_editmode (bool) – Enter Editmode, Enter editmode when adding this object
- render (bpy.types.RenderSettings) – render setting in the scene
- P (np.ndarray) – camera matrix. [3, 4]
- K (np.ndarray) – intrinsic parameters. [3, 3]
- Rt (np.ndarray) – extrinsic parameters. [3, 4]
- scale (float) – scale
- use_cv_coord (bool) – whether to convert the camera pose to opencv’s coordinate
Returns: bpy.types.Object camera which has bpy.types.Camera at camera.data