Camera PnPoint is an add-on for Blender that brings a powerful PnP solver to the camera tracking workbench.
Perspective-n-Point is the problem of estimating the pose of a calibrated camera given a set of known 3D points and their 2D projections in the image. Blender features a strong built-in solver for camera pose and feature tracking, but it does not constrain the projected features to known coordinates in the 3D world. The PnP algorithm expands on this functionality by using 3D markers as ground truth for the 2D projections, enabling camera solves that require less points and only one still image.
The add-on also includes a camera Calibration solver that allows adjusting the most relevant camera intrinsics, like focal length and radial distortion coefficients, using projection data from the 3D and 2D markers.
This add-on uses OpenCV library, which needs to be installed in the Blender path. The add-on's preferences panel includes a functionality to automatically install the package if it is not found.
IMPORTANT: You may need to start Blender as administrator to install this dependency.
- A camera pose solver for blender using PnP algorithm.
- A camera lens calibration solver for Blender. It can optimize focal length, principal point and radial distortion parameters.
- Reprojection error for the last solve is displayed for user convenience.
- The pose solver automatically setups a camera with the resulting extrinsics, intrinsics and background image.
- Lens calibration is very sensitive to positional error on the markers when using one single image. It's best to limit the parameters to the most important ones, and use as many point pairs as possible.
- Only supports still images for now, image series support will be considered for a future release.
If you find this kind of content useful please consider buying me a coffee, it helps me keep contributing to our community for free :)
- Added support for Blender 3.5, see 7dea18b3aa.
- Initial beta release
a camera pose calculator with built-in intrinsics calibration based on 3D - 2D points mapping for Blender 2.9+