Example #1
0
        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));
        }
Example #2
0
	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);
	}