private void button3_Click(object sender, EventArgs e) { Form calib = new calibration(); calib.Owner = this; calib.StartPosition = FormStartPosition.CenterScreen; if (!calib.IsDisposed) { calib.ShowDialog(this); } else { Application.Exit(); } }
/// <summary> /// constructor /// </summary> public calibrationStereo() { leftcam = new calibration(); rightcam = new calibration(); }
private void timUpdate_Tick(object sender, EventArgs e) { if (no_of_cameras < 2) { lblBaseline.Visible = false; txtBaseline.Visible = false; } else { lblBaseline.Visible = true; txtBaseline.Visible = true; } if (left_camera_running) { //get images from the two cameras captureCameraImages(); //update from camera if (((no_of_cameras == 1) && (captureState[0] == 2)) || ((no_of_cameras > 1) && (captureState[1] == 2))) { captureState[0] = 0; captureState[1] = 0; //show disparity if (!outputInitialised) { picOutput1.Image = new Bitmap(picLeftImage.Image.Width, picLeftImage.Image.Height, PixelFormat.Format24bppRgb); if (no_of_cameras > 1) { picOutput2.Image = new Bitmap(picRightImage.Image.Width, picRightImage.Image.Height, PixelFormat.Format24bppRgb); } output_width = picLeftImage.Image.Width; output_height = picLeftImage.Image.Height; outputInitialised = true; } for (int i = 0; i < no_of_cameras; i++) { calibration calib = cam.leftcam; PictureBox pic = picOutput1; Byte[] disp_bmp_data = bmp_data_left; if (i > 0) { calib = cam.rightcam; pic = picOutput2; disp_bmp_data = bmp_data_right; } calib.Update(disp_bmp_data, output_width, output_height, alignMode); switch (display_type) { case DISPLAY_EDGES: { BitmapArrayConversions.updatebitmap_unsafe(calib.edges_image, (Bitmap)pic.Image); break; } case DISPLAY_CORNERS: { BitmapArrayConversions.updatebitmap_unsafe(calib.corners_image, (Bitmap)pic.Image); break; } case DISPLAY_LINES: { BitmapArrayConversions.updatebitmap_unsafe(calib.lines_image, (Bitmap)pic.Image); break; } case DISPLAY_CENTREALIGN: { if (calib.centrealign_image != null) { BitmapArrayConversions.updatebitmap_unsafe(calib.centrealign_image, (Bitmap)pic.Image); } break; } case DISPLAY_CURVE: { if (calib.curve_fit != null) { BitmapArrayConversions.updatebitmap_unsafe(calib.curve_fit, (Bitmap)pic.Image); } break; } case DISPLAY_RECTIFIED: { if (calib.rectified_image != null) { BitmapArrayConversions.updatebitmap_unsafe(calib.rectified_image, (Bitmap)pic.Image); } break; } } pic.Refresh(); } cam.update(); if (no_of_cameras == 1) { cam.baseline = 0; if (alignMode) { lblStatus.Text = "Align camera"; } else { if (cam.leftcam.min_RMS_error > max_RMS_error) { lblStatus.Text = "Calibrating..."; } else { lblStatus.Text = "* COMPLETE *"; } } } else { cam.baseline = Convert.ToSingle(txtBaseline.Text); if (alignMode) { lblStatus.Text = "Align camera"; } else { if ((cam.leftcam.min_RMS_error > max_RMS_error) || (cam.rightcam.min_RMS_error > max_RMS_error)) { lblStatus.Text = "Calibrating..."; if (cam.leftcam.min_RMS_error <= max_RMS_error) { lblStatus.Text = "Left camera done"; } if (cam.rightcam.min_RMS_error <= max_RMS_error) { lblStatus.Text = "Right camera done"; } } else { lblStatus.Text = "* COMPLETE *"; } } } // switch to the rectified view when calibration is completed if (prev_state != lblStatus.Text) { if (lblStatus.Text == "* COMPLETE *") { display_type = DISPLAY_RECTIFIED; cmbDisplayType.SelectedIndex = display_type; } } prev_state = lblStatus.Text; } } }
void Awake() { instance = this; gmInputs = new List <GameManagerInput>(); // create an empty GM input list }