Closed verpeutlab closed 3 years ago
Hm, these are the array dimensions that work for us. The 4 x 3 is for 4 points w/ 3-D coordinates, and the 4 x 2 is for those 4 points but their corresponding 2-D pixel locations. The error you're getting sounds more like the initial pose fit is not converging -- what is the value of your wolrdOrientation{kk}?
If the pose fit in estimateWorldCameraPose is not working, it's likely that your intrinsic parameters were not fit well in at least 1 camera -- what is your reprojection error on the checkerboard movies? Or potentially your measured, physical LFrame 3D coordinates are off -- have you updated the 3-D LFrame coordinates to match the dimensions of your own LFrame?
@jessedmarshall have you encountered this error before?
Thank you for this information! I have been able to get the calibration code to work, but I will let you know if I run into issues when I take a calibration at a later time.
Hello! I am working to calibrate the cameras using the code in acquire_calibration_3cam_mouse_clean.m. However, I receive an error message on the following line: [rotationMatrix{kk},translationVector{kk}] = cameraPoseToExtrinsics(worldOrientation{kk},worldLocation{kk});
The error message states "Expected orientation to be finite." As I was exploring the code, I noticed that the Lframe coordinates are arranged in a 4 x 3 array, while the points generated from labeling the Lframe are in a 4 x 2 array. In the script titled estimateWorldCameraPose.m, the pack function fuses these two arrays together to form a 4 x 5 array. This array then gets stored as the variable allPoints in the msac function, which should be an M-by-2 array.
I think this error is caused by the data not being stored in an M-by-2 array. Could you show me how to fix this issue with regards to the three-dimensional Lframe data and the two-dimensional array generated from labeling the Lframe?
Thank you!