Using calibrateCamera without Chessboard
Hi all, I am not familiar with Calib3d.calibrateCamera(): https://docs.opencv.org/3.2.0/d9/d0c/...
Is it possible to calibrate the camera without the use of a checkered chessboard pattern? If so, how would the objectPoints and imagePoints be defined?
If I have two 2D images taken in the same scene where only x and y were moved, can I simply assign the detected features of the first 2D image as my ObjectPoint and let its Z-axis to equal 0? Then assign the detected features of the second 2D image as the imagePoints in the function?
there are alternative patterns, like asym. circles grid or charuco boards, but you need a reproducable pattern between the calibration images, and 2d features (like ORB ? did you mean that ?) won't give you any guarantee, to find things in the same places.
Thanks for the clarification @berak! Does that mean that solvePnP() also cannot be used without a reproducible pattern?
hmm, if you meant: ORB keypoints or such, then indeed it's a similar problem.
but e.g. facial landmarks, like from LBF or dlib however are very reproducable.
you need to make sure, that the 2d part of your original 3d Point set is the same, as the 2d one detected
Is ORB not a good choice because the features that it detects are not always the same from one frame to the next? Would you have any recommendations for non-facial feature detectors or reading material that talk about it? Thanks in advance!