/// <summary> /// 设置相机配参 /// </summary> private void SetParameters() { if (_Camera == null) { return; } // 关闭触发模式 _Camera.TriggerSet.Close(); // 设置帧格式 using (IEnumParameter ep = _Camera.ParameterCollection[ParametrizeNameSet.ImagePixelFormat]) { ep.SetValue("Mono8"); } // 获取图像宽度 using (IIntegraParameter ip = _Camera.ParameterCollection[ParametrizeNameSet.ImageWidth]) { this.MaxWidth = Convert.ToInt32(ip.GetMaximum()); this.Width = Convert.ToInt32(ip.GetValue()); } // 获取图像高度 using (IIntegraParameter ip = _Camera.ParameterCollection[ParametrizeNameSet.ImageHeight]) { this.MaxHeight = Convert.ToInt32(ip.GetMaximum()); this.Height = Convert.ToInt32(ip.GetValue()); } }
public override bool SetImageWidth(long value) { using (IIntegraParameter p = m_dev.ParameterCollection[ParametrizeNameSet.ImageWidth]) { return(p.SetValue(value)); } }
public override long GetMaxImageOffsetX() { using (IIntegraParameter p = m_dev.ParameterCollection[ParametrizeNameSet.ImageOffsetX]) { return(p.GetMaximum()); } }
public override bool SetImageHeight(long value) { try { using (IIntegraParameter p = m_dev.ParameterCollection[ParametrizeNameSet.ImageHeight]) { return(p.SetValue(value)); } } catch (Exception) { return(false); } }
public override long GetImageWidth() // 获取图像宽 { try { using (IIntegraParameter p = m_dev.ParameterCollection[ParametrizeNameSet.ImageWidth]) { return(p.GetValue()); } } catch (Exception) { return(0); } }
public override long GetImageMinHeight() // 获取最小图像高 { try { using (IIntegraParameter p = m_dev.ParameterCollection[ParametrizeNameSet.ImageHeight]) { return(p.GetMinimum()); } } catch (Exception) { return(0); } }
// 打开相机 private void btnOpen_Click(object sender, EventArgs e) { try { // 设备搜索 List <IDeviceInfo> li = Enumerator.EnumerateDevices(); if (li.Count > 0) { // 获取搜索到的第一个设备 m_dev = Enumerator.GetDeviceByIndex(0); // 注册链接时间 m_dev.CameraOpened += OnCameraOpen; m_dev.ConnectionLost += OnConnectLoss; m_dev.CameraClosed += OnCameraClose; // 打开设备 if (!m_dev.Open()) { MessageBox.Show(@"连接相机失败"); return; } // 打开Software Trigger m_dev.TriggerSet.Open(TriggerSourceEnum.Software); // 设置图像格式 using (IEnumParameter p = m_dev.ParameterCollection[ParametrizeNameSet.ImagePixelFormat]) { p.SetValue("BayerRG12Packed"); } // 设置图片亮度 using (IIntegraParameter p = m_dev.ParameterCollection[ParametrizeNameSet.Brightness]) { p.SetValue(100); } //设置曝光时间 using (IFloatParameter p = m_dev.ParameterCollection[ParametrizeNameSet.ExposureTime]) { p.SetValue(50000); } /* * // 设置图片高度 * using (IIntegraParameter p = m_dev.ParameterCollection[ParametrizeNameSet.ImageHeight]) * { * p.SetValue(600); * } * // 设置图片宽度 * using (IIntegraParameter p = m_dev.ParameterCollection[ParametrizeNameSet.ImageWidth]) * { * p.SetValue(600); * } */ // 注册码流回调事件 m_dev.StreamGrabber.ImageGrabbed += OnImageGrabbed; // 开启码流 if (!m_dev.GrabUsingGrabLoopThread()) { MessageBox.Show(@"开启码流失败"); return; } m_dev.ExecuteSoftwareTrigger(); } } catch (Exception exception) { Catcher.Show(exception); } }