| | |
| | | using HalconDotNet; |
| | | using LB_SmartVisionCameraDevice.PHM6000; |
| | | using LB_VisionControl; |
| | | using LB_VisionProcesses.Cameras.HRCameras; |
| | | using LB_VisionProcesses.Cameras.LBCameras; |
| | | using MVSDK_Net; |
| | | using Newtonsoft.Json.Linq; |
| | | using OpenCvSharp; |
| | |
| | | camera = new HRCamera(); |
| | | break; |
| | | case CameraBrand.LBCamera: |
| | | //camera = new LBCamera(); |
| | | camera = new LBCamera(); |
| | | break; |
| | | default: |
| | | Debug.WriteLine("未知品牌"); |
| | |
| | | switch (brand) |
| | | { |
| | | case CameraBrand.LBCamera: |
| | | //camera = new LBCamera(); |
| | | camera = new LBCamera(); |
| | | break; |
| | | case CameraBrand.HRCamera: |
| | | camera = new HRCamera(); |
| | |
| | | private void btnEdit_Click(object sender, EventArgs e) |
| | | { |
| | | if (camera == null) |
| | | { |
| | | return; |
| | | |
| | | } |
| | | using (Form editForm = new Form()) |
| | | { |
| | | editForm.Text = "高级参数设置 - " + camera.SN; |
| | |
| | | |
| | | PropertyGrid pg = new PropertyGrid(); |
| | | pg.Dock = DockStyle.Fill; |
| | | pg.SelectedObject = new CameraAdvancedSettings(camera); |
| | | |
| | | if (camera is LBCamera phmCamera) |
| | | { |
| | | pg.SelectedObject = phmCamera.GetSensorConfig(); |
| | | pg.PropertyValueChanged += (s, ev) => |
| | | { |
| | | phmCamera.UpdateSensorConfig((PHM6000SensorConfig)pg.SelectedObject); |
| | | }; |
| | | } |
| | | else |
| | | { |
| | | pg.SelectedObject = new CameraAdvancedSettings(camera); |
| | | } |
| | | |
| | | editForm.Controls.Add(pg); |
| | | editForm.ShowDialog(); |
| | |
| | | if (e.Bitmap == null) |
| | | return; |
| | | |
| | | lock (e.Bitmap) |
| | | { |
| | | if (this.InvokeRequired) // 检查是否需要在UI线程上调用 |
| | | lock (e.Bitmap) |
| | | { |
| | | this.Invoke(new Action(() => |
| | | if (this.InvokeRequired) // 检查是否需要在UI线程上调用 |
| | | { |
| | | this.Invoke(new Action(() => |
| | | { |
| | | onlinePictureBox.Image = e.Bitmap; |
| | | })); // 递归调用自身,但这次在UI线程上 |
| | | } |
| | | else |
| | | { |
| | | onlinePictureBox.Image = e.Bitmap; |
| | | })); // 递归调用自身,但这次在UI线程上 |
| | | } |
| | | } |
| | | else |
| | | { |
| | | onlinePictureBox.Image = e.Bitmap; |
| | | } |
| | | } |
| | | |
| | | total.iImageCount++; |
| | | try |
| | | { |
| | |
| | | Task.Factory.StartNew(() => |
| | | { |
| | | camera.StopGrabbing(); |
| | | camera.SetTriggerMode(TriggerMode.On, TriggerSource.Software); |
| | | camera.StartGrabbing(); |
| | | if (brand != CameraBrand.LBCamera) |
| | | { |
| | | camera.SetTriggerMode(TriggerMode.On, TriggerSource.Software); |
| | | camera.StartGrabbing(); |
| | | } |
| | | }); |
| | | } |
| | | |