Hi Knut,
the calibrateCamera returns a value that should indicate how precise it is.
If you go to the DAT called Calibrate, find the function of the same name:
[code]
def Calibrate(self):
fov = 180
pWidth = int(op(‘monitors1’)[parent.Kinect.par.Monitor+1,‘width’])
pHeight = int(op(‘monitors1’)[parent.Kinect.par.Monitor+1,‘height’])
size = (pWidth,pHeight)
ret, mtx, dist, rvecs, tvecs = self.calibrateCamera(self.objPoints, self.imgPoints)
rot, jacob = cv2.Rodrigues(rvecs[0],None)
extrinsic = self.returnExt(rot, tvecs[0])
intrinsic = self.returnIntrinsics(mtx, size)[/code]
the “ret” should be this value, so if you add:
parent.Kinect.par.Message = 'Calibration Error: {0}'.format(ret)
it should output it to the little Message field on the parameters.
def Calibrate(self):
fov = 180
pWidth = int(op('monitors1')[parent.Kinect.par.Monitor+1,'width'])
pHeight = int(op('monitors1')[parent.Kinect.par.Monitor+1,'height'])
size = (pWidth,pHeight)
ret, mtx, dist, rvecs, tvecs = self.calibrateCamera(self.objPoints, self.imgPoints)
rot, jacob = cv2.Rodrigues(rvecs[0],None)
extrinsic = self.returnExt(rot, tvecs[0])
intrinsic = self.returnIntrinsics(mtx, size)
parent.Kinect.par.Message = 'Calibration Error: {0}'.format(ret)
Will add this in to a later release!