public CalibrationResult SolvePnP(Bitmap image, MCvPoint3D32f[] objpoints, IntrinsicCameraParameters camIntrinsic, CheckBoardDefinition pattern) { //cvCvtColor(image, cv2.COLOR_BGR2GRAY) Image <Gray, Byte> gray = new Image <Gray, byte>(image); // the fast check flag reduces significantly the computation time if the pattern is out of sight PointF[] corners = CameraCalibration.FindChessboardCorners(gray, pattern.Pattern, Emgu.CV.CvEnum.CalibCbType.FastCheck); ExtrinsicCameraParameters ret = null; if (corners != null) { ret = CameraCalibration.SolvePnP(objpoints, corners, camIntrinsic); } return(new CalibrationResult(ret != null, ret)); }
public CalibrationResult SolvePnP(Bitmap image, MCvPoint3D32f[] objpoints, IntrinsicCameraParameters camIntrinsic, CheckBoardDefinition pattern) { //cvCvtColor(image, cv2.COLOR_BGR2GRAY) Image<Gray, Byte> gray = new Image<Gray, byte>(image); // the fast check flag reduces significantly the computation time if the pattern is out of sight PointF[] corners = CameraCalibration.FindChessboardCorners(gray, pattern.Pattern, Emgu.CV.CvEnum.CalibCbType.FastCheck); ExtrinsicCameraParameters ret = null; if (corners != null) ret = CameraCalibration.SolvePnP(objpoints, corners, camIntrinsic); return new CalibrationResult(ret != null, ret); }