private void RaiseFocusCameraEvent(Character character) { CameraEventData cameraEventData = new CameraEventData(); cameraEventData.transform = character.transform; this.focusCamera.Raise(cameraEventData); }
public void Fired(IOProxy proxy, List <AbstractProxyEventData> eventData) { if (_DataWritter != null) { ImuEventData imuEventData = (ImuEventData)eventData.FirstOrDefault(c => c is ImuEventData); CameraEventData cameraEventData = (CameraEventData)eventData.FirstOrDefault(c => c is CameraEventData); if (imuEventData != null) { _DataWritter.AddImu(0, imuEventData.TimeNanoSeconds, imuEventData.GyroX / 180 * Math.PI, imuEventData.GyroY / 180 * Math.PI, imuEventData.GyroZ / 180 * Math.PI, imuEventData.AccelX, imuEventData.AccelY, imuEventData.AccelZ); } if (cameraEventData != null && imuEventData != null) { _DataWritter.AddImage(0, imuEventData.TimeNanoSeconds, cameraEventData.Image.ToPNGBinary(3), cameraEventData.ExposureTime); } else if (cameraEventData != null) { _DataWritter.AddImage(0, -1, cameraEventData.Image.ToPNGBinary(3), cameraEventData.ExposureTime); } } }
public void Fired(IOProxy proxy, List <AbstractProxyEventData> eventData) { CameraEventData cameraEventData = (CameraEventData)eventData.FirstOrDefault(c => c is CameraEventData); if (cameraEventData != null) { Task.Factory.StartNew(() => { Mat mat = cameraEventData.Image; bool undistort = false; Parent.SyncContext.Send(o => { undistort = Undistort; if (GammaCorretion) { Mat result = new Mat(ImageWidth, ImageHeight, DepthType.Cv32F, 1); int i = 0; Mat lut = new Mat(1, 256, DepthType.Cv32F, 1); foreach (double val in Parent.SettingContainer.Settings.CalibrationSettings.PhotometricCalibrationSettings.ResponseValues) { lut.SetValue(0, i++, (byte)val); } CvInvoke.LUT(mat, lut, result); result.ConvertTo(mat, DepthType.Cv8U); } if (VignetteCorretion) { Mat invVignette = new Mat(ImageWidth, ImageHeight, DepthType.Cv32F, 1); Mat result = new Mat(ImageWidth, ImageHeight, DepthType.Cv32F, 1); CvInvoke.Divide(Mat.Ones(ImageWidth, ImageHeight, DepthType.Cv32F, 1), Parent.CalibrationViewModel.PhotometricCalibrationViewModel.Vignette.CvImage, invVignette, 255, DepthType.Cv32F); CvInvoke.Multiply(mat, invVignette, result, 1, DepthType.Cv32F); result.ConvertTo(mat, DepthType.Cv8U); } } , null); if (undistort) { Mat matUndist = new Mat(ImageWidth, ImageHeight, DepthType.Cv8U, 1); if (FishEyeCalibration) { Mat map1 = new Mat(); Mat map2 = new Mat(); Fisheye.InitUndistorRectifyMap(OrginalCameraMatrix, DistortionCoefficients, Mat.Eye(3, 3, DepthType.Cv64F, 1), CenteredCameraMatrix, new System.Drawing.Size(ImageWidth, ImageHeight), DepthType.Cv32F, map1, map2); CvInvoke.Remap(mat, matUndist, map1, map2, Inter.Linear, BorderType.Constant); } else { CvInvoke.Undistort(mat, matUndist, CenteredCameraMatrix, DistortionCoefficients); } mat = matUndist; } _FPSCounter.CountFrame(); Parent.SyncContext.Post(o => { ExposureTime = (eventData[0] as CameraEventData).ExposureTime; Image = new CvImageContainer(); Image.CvImage = mat; } , null); }); } }
public override IObservable <EventMessage> OnPublishAsObservable() => OnEventAsObservable() .Select(_ => EventMessage.Create(EventType.CameraEvent, Component, CameraEventData.Create(CameraEventType)));
public void OnResetCamera(CameraEventData cameraEventData) { UpdateFollowTransform(null); }
/*------------------------------------------------- * Event Handlers * --------------------------------------------------*/ public void OnFocusCamera(CameraEventData cameraEventData) { UpdateFollowTransform(cameraEventData.transform); }
//add GetHashCode and Equals public override bool Equals(object obj) { CameraEventData other = obj as CameraEventData; return(base.Equals(obj) && this.cameraLayout == other.CameraLayout && this.cameraID == other.CameraID); }
private void RaiseResetCameraEvent() { CameraEventData cameraEventData = new CameraEventData(); this.resetCamera.Raise(cameraEventData); }