Hi wamj45
You can use the cv2.calibrateCamera()
function to determine the rotation vector and translation vector of each camera. However, you need to understand what objectPoints are. In the context of cv2.solvePnP()
, objectPoints are the 3D points in the object's coordinate space.
In your case, you need to know the 3D coordinates of the barcode in the real world. If the barcode is on a flat surface and you know the dimensions of the barcode, you can assume that it lies in a plane, and you can define its 3D coordinates in the object's coordinate space.
For example, if the barcode is of size 2x3 units, you can define its corners in the object's coordinate space as (0,0,0), (2,0,0), (2,3,0), (0,3,0). These points can be used as objectPoints in cv2.solvePnP()
.
The cv2.solvePnP()
function then returns the rotation and translation vectors that transform the points from the object's coordinate space to the camera's coordinate space. These vectors can be used to project points from the POE camera's image coordinate space to the OAK-D Pro's image coordinate space.
Thanks,
Jaka