CamSchnappr Intrinsic guess issue

Hello!

I’m trying to calibrate mapping on cyclorama shape with 6 projectors, since they overlap each other i need good aligment + blending map. I tried to use CamSchnappr, but since i use short trow projectors (Optoma GT1080) with non ajustable lens shift i can’t get accurate alignment for my setup, even with 12+ points in CamSchnappr. 3d model that i use is quite accurate and simple.

It seems, that problem is wrong principal point’s guess (sure, i turned off fix principal points in advanced tab).

Since i know basic projectors characteristics (FOV, lens shift - or fx, fy, cx, cy in OpenCV ) i would to define them manually, as i understood, OpenCV camera calibrate allow’s me to do that with CV_CALIB_USE_INTRINSIC_GUESS flag which i guess this is Intrinsic guess parameter of CamSchnappr’s advance tab.

But when i turn it off i get error inside CamSchnappr network: camSchnappr/camSchnappr/secondScreen/script1 has error:
(-5) For non-planar calibration rigs the initial intrinsic matrix must be specified in function cvCalibrateCamera2Internal

Could you please explain how can i use CamSchnappr if intrinsic parameters are known, where should i put that parameters (fx, fy, cx, cy and other) and why i get that error message no matter what setup i have?

Thank you!

Hm, that is rather strange as we do specify an inital matrix (camSchnappr/camSChnappr/secondScreen/script1_callbacks line 61)

I’ll try to find out whats going on here - not quite sure why that is happening.

Best
Markus

It was sloved by adding CALIB_USE_INTRINSIC_GUESS flag directly in calibrateCamera call:

ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(cvGeoPoints,cvImgPoints,size,camMtx,dist,None,None,flags=cv2.CALIB_USE_INTRINSIC_GUESS+flags,criteria=criteria)

It seems that it works fine now, but i don’t know why… :open_mouth: