code: public void cameraIntrinsicNominal(CameraPinhole intrinsic ) {
  		open.mLock.lock();
  		try {
  			// This might be called before the camera is open
  			if (open.mCameraCharacterstics != null) {
  				SizeF physicalSize = open.mCameraCharacterstics.get(CameraCharacteristics.SENSOR_INFO_PHYSICAL_SIZE);
  				Rect activeSize = open.mCameraCharacterstics.get(CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE);
  				Size pixelSize = open.mCameraCharacterstics.get(CameraCharacteristics.SENSOR_INFO_PIXEL_ARRAY_SIZE);
  				float[] focalLengths = open.mCameraCharacterstics.get(CameraCharacteristics.LENS_INFO_AVAILABLE_FOCAL_LENGTHS);
  				if (focalLengths != null && focalLengths.length > 0 && physicalSize != null && activeSize != null && pixelSize != null ) {
  					float fl = focalLengths[0];
  
  					float widthToPixel = pixelSize.getWidth() / physicalSize.getWidth();
  					float heightToPixel = pixelSize.getHeight() / physicalSize.getHeight();
  
  					float s = open.mCameraSize.getWidth()/(float)activeSize.width();
  
  					intrinsic.fx = fl*widthToPixel*s;
  					intrinsic.fy = fl*heightToPixel*s;
  					intrinsic.skew = 0;
  					intrinsic.cx = activeSize.centerX()*s;
  					intrinsic.cy = activeSize.centerY()*s;
  					intrinsic.width = open.mCameraSize.getWidth();
  					intrinsic.height = open.mCameraSize.getHeight();
  					return;
  				}
  			}
  			// 60 degrees seems reasonable for a random guess
  			PerspectiveOps.createIntrinsic(open.mCameraSize.getWidth(),open.mCameraSize.getHeight(),
  					UtilAngle.radian(60));
  		} finally {
  			open.mLock.unlock();
  		}
  	}
docs: Returns the camera intrinsic parameters estimated from the physical parameters returned by
  the camera2 API