/// <summary>设置相机增益参数</summary> public int SetGain(double value) { if (!IsDeviceOpen) { return((int)ErrorDef.NotOpen); } MyCamera.MVCC_FLOATVALUE stParam = new MyCamera.MVCC_FLOATVALUE(); int nRet = _hikCmr.MV_CC_GetFloatValue_NET("Gain", ref stParam); if (MyCamera.MV_OK != nRet) { return((int)ErrorDef.InvokeFailed); } if (value < stParam.fMin || value > stParam.fMax) { return((int)ErrorDef.ParamError); } int err = _hikCmr.MV_CC_SetFloatValue_NET("Gain", (float)value); if (MyCamera.MV_OK != err) { return((int)ErrorDef.InvokeFailed); } return((int)ErrorDef.Success); }
public short GetGainRange(out int minValue, out int maxValue) { minValue = 0; maxValue = 1000; try { MyCamera.MVCC_FLOATVALUE fValue = new MyCamera.MVCC_FLOATVALUE(); int nRet = this.camera.MV_CC_GetFloatValue_NET("AutoGainLowerLimit", ref fValue); if (nRet != MyCamera.MV_OK) { return(-1); } minValue = (int)fValue.fMin; maxValue = (int)fValue.fMax; if (maxValue > 10000) { maxValue = 10000; } return(0); } catch { return(-1); } }
private IDictionary <ECameraParameter, CameraParameter> GetParameterDictionary() { var dictionary = new Dictionary <ECameraParameter, CameraParameter>(); var width = new MyCamera.MVCC_INTVALUE(); var height = new MyCamera.MVCC_INTVALUE(); var offsetX = new MyCamera.MVCC_INTVALUE(); var offsetY = new MyCamera.MVCC_INTVALUE(); var exposure = new MyCamera.MVCC_FLOATVALUE(); var gain = new MyCamera.MVCC_FLOATVALUE(); var frameRate = new MyCamera.MVCC_FLOATVALUE(); var triggerDelay = new MyCamera.MVCC_FLOATVALUE(); _device.MV_CC_GetWidth_NET(ref width); _device.MV_CC_GetHeight_NET(ref height); _device.MV_CC_GetAOIoffsetX_NET(ref offsetX); _device.MV_CC_GetAOIoffsetY_NET(ref offsetY); _device.MV_CC_GetExposureTime_NET(ref exposure); _device.MV_CC_GetGain_NET(ref gain); _device.MV_CC_GetFrameRate_NET(ref frameRate); _device.MV_CC_GetTriggerDelay_NET(ref triggerDelay); dictionary[ECameraParameter.Width] = new CameraParameter(width.nCurValue, width.nMin, width.nMax); dictionary[ECameraParameter.Height] = new CameraParameter(height.nCurValue, height.nMin, height.nMax); dictionary[ECameraParameter.OffsetX] = new CameraParameter(offsetX.nCurValue, offsetX.nMin, offsetX.nMax); dictionary[ECameraParameter.OffsetY] = new CameraParameter(offsetY.nCurValue, offsetY.nMin, offsetY.nMax); dictionary[ECameraParameter.Exposure] = new CameraParameter(exposure.fCurValue, exposure.fMin, exposure.fMax); dictionary[ECameraParameter.Gain] = new CameraParameter(gain.fCurValue, gain.fMin, gain.fMax); dictionary[ECameraParameter.FrameRate] = new CameraParameter(frameRate.fCurValue, frameRate.fMin, frameRate.fMax); dictionary[ECameraParameter.TriggerDelay] = new CameraParameter(triggerDelay.fCurValue, triggerDelay.fMin, triggerDelay.fMax); return(dictionary); }
public static bool GetCameraExposureTime(string camName, out float exposureTime, out float minLimit, out float maxLimit) { MyCamera.MVCC_FLOATVALUE ExposureTime = new MyCamera.MVCC_FLOATVALUE(); MyCamera cam = cameraCltr.DicMyCamera(camName); if (cam is null) { StrErrorMsg = "相机" + camName + "连接失败"; exposureTime = -1; minLimit = -1; maxLimit = -1; return(false); } int nRet = cam.MV_CC_GetExposureTime_NET(ref ExposureTime); if (MyCamera.MV_OK != nRet) { StrErrorMsg = "相机曝光值参数获取失败"; exposureTime = -1; minLimit = -1; maxLimit = -1; return(false); } exposureTime = ExposureTime.fCurValue; minLimit = ExposureTime.fMin; maxLimit = ExposureTime.fMax; return(true); }
public short Init() { try { MyCamera.MVCC_FLOATVALUE stParam = new MyCamera.MVCC_FLOATVALUE(); camera.MV_CC_GetFloatValue_NET("ResultingFrameRate", ref stParam); this.FrameRate = stParam.fCurValue; MyCamera.MVCC_INTVALUE nValue = new MyCamera.MVCC_INTVALUE(); camera.MV_CC_GetIntValue_NET("Width", ref nValue); this.ImageWidth = (int)nValue.nCurValue; camera.MV_CC_GetIntValue_NET("Height", ref nValue); this.ImageHeight = (int)nValue.nCurValue; if (this.ImageWidth <= 0) { this.ImageWidth = 1280; } if (this.ImageHeight <= 0) { this.ImageHeight = 960; } return(0); } catch { return(-1); } }
/// <summary>设置相机曝光时间 </summary> public int SetExposure(double microSeconds) { if (!IsDeviceOpen) { return((int)ErrorDef.NotOpen); } MyCamera.MVCC_FLOATVALUE stParam = new MyCamera.MVCC_FLOATVALUE(); int nRet = _hikCmr.MV_CC_GetFloatValue_NET("ExposureTime", ref stParam); if (MyCamera.MV_OK != nRet) { return((int)ErrorDef.InvokeFailed); } if (microSeconds < stParam.fMin || microSeconds > stParam.fMax) { return((int)ErrorDef.ParamError); } int err = _hikCmr.MV_CC_SetFloatValue_NET("ExposureTime", (float)microSeconds); if (MyCamera.MV_OK != err) { return((int)ErrorDef.InvokeFailed); } return((int)ErrorDef.Success); }
public override double GetTriggerDelayTimeMin() { MyCamera.MVCC_FLOATVALUE floatParam = new MyCamera.MVCC_FLOATVALUE(); if (hikvisionCamera.MV_CC_GetFloatValue_NET("TriggerDelay", ref floatParam) == MyCamera.MV_OK) { return(floatParam.fMin); } return(0d); }
public override double GetMinGain() { MyCamera.MVCC_FLOATVALUE floatParam = new MyCamera.MVCC_FLOATVALUE(); if (hikvisionCamera.MV_CC_GetFloatValue_NET("AutoGainLowerLimit", ref floatParam) != MyCamera.MV_OK) { return(floatParam.fCurValue); } return(0d); }
public override double GetExposureTime() { MyCamera.MVCC_FLOATVALUE floatParam = new MyCamera.MVCC_FLOATVALUE(); if (hikvisionCamera.MV_CC_GetFloatValue_NET("ExposureTime", ref floatParam) == MyCamera.MV_OK) { return(floatParam.fCurValue); } return(0d); }
public float GetExposureTime() { MyCamera.MVCC_FLOATVALUE ExposureValue = new MyCamera.MVCC_FLOATVALUE(); int nRet = pCamera.MV_CC_GetFloatValue_NET("ExposureTime", ref ExposureValue); if (MyCamera.MV_OK == nRet) { return(ExposureValue.fCurValue); } return(HIK_ER); }
public override double GetGain() { MyCamera.MVCC_FLOATVALUE floatParam = new MyCamera.MVCC_FLOATVALUE(); if (hikvisionCamera.MV_CC_GetFloatValue_NET("Gain", ref floatParam) != MyCamera.MV_OK) { return(0d); } else { return(floatParam.fCurValue); } }
// 设置参数 public void SetParam(float gain, float exposure, ref string gainString, ref string exposureString, MyCamera cam) { // 增益 // 获取当前Gain、最大Gain、最小Gain MyCamera.MVCC_FLOATVALUE gainValue = new MyCamera.MVCC_FLOATVALUE(); cam.MV_CC_GetGain_NET(ref gainValue); //float gain = gainValue.fCurValue; float maxGain = gainValue.fMax; float minGain = gainValue.fMin; // 判断是否处于最小到最大值之间 if (gain < minGain) { MessageBox.Show("小于最小值,已修改为最小增益值!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); gain = minGain; } else if (gain > maxGain) { MessageBox.Show("大于最大值,已修改为最大增益值!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); gain = maxGain; } // 关闭自动设置 cam.MV_CC_SetEnumValue_NET("GainAuto", 0); // 设置Gain cam.MV_CC_SetFloatValue_NET("Gain", gain); gainString = gain.ToString("F0"); // 曝光时间 // 获取当前Exposure、最大Exposure、最小Exposure MyCamera.MVCC_FLOATVALUE exposureValue = new MyCamera.MVCC_FLOATVALUE(); cam.MV_CC_GetExposureTime_NET(ref exposureValue); //float exposure = exposureValue.fCurValue; float maxExposure = exposureValue.fMax; float minExposure = exposureValue.fMin; // 判断是否处于最小到最大值之间 if (exposure < minExposure) { MessageBox.Show("小于最小值,已修改为最小曝光时间值!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); exposure = minExposure; } else if (exposure > maxExposure) { MessageBox.Show("大于最大值,已修改为最大曝光时间值!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); exposure = maxExposure; } // 关闭自动设置 cam.MV_CC_SetEnumValue_NET("ExposureAuto", 0); // 设置ExposureTime cam.MV_CC_SetFloatValue_NET("ExposureTime", exposure); exposureString = exposure.ToString("F0"); }
public override double GetMaxExposureTime() { MyCamera.MVCC_FLOATVALUE floatParam = new MyCamera.MVCC_FLOATVALUE(); if (hikvisionCamera.MV_CC_GetFloatValue_NET("AutoExposureTimeupperLimit", ref floatParam) != MyCamera.MV_OK) { return(0d); } else { return(floatParam.fCurValue); } }
public override uint GetExpourseTime() { uint _expoursetime = 0; MyCamera.MVCC_FLOATVALUE stParam = new MyCamera.MVCC_FLOATVALUE(); int nRet = m_pMyCamera.MV_CC_GetFloatValue_NET("ExposureTime", ref stParam); if (MyCamera.MV_OK == nRet) { _expoursetime = (uint)stParam.fCurValue; } return(_expoursetime); }
/// <summary> /// 通用函数 /// </summary> /// /// <param name="strKey" >读取项目</param> /// <param name="dblValue">读取值</param> /// <returns></returns> public bool GetFloatValue(string strKey, ref float pfValue) { #if(SDK) MyCamera.MVCC_FLOATVALUE stParam = new MyCamera.MVCC_FLOATVALUE(); int nRet = g_MyCamera.MV_CC_GetFloatValue_NET(strKey, ref stParam); if (MyCamera.MV_OK != nRet) { return false; } pfValue = stParam.fCurValue; #endif return true; }
/**************************************************************************** * @fn GetFloatValue * @brief 获取Float型参数值 * @param strKey IN 参数键值,具体键值名称参考HikCameraNode.xls文档 * @param pValue OUT 返回值 * @return 成功:0;错误:-1 ****************************************************************************/ public int GetFloatValue(string strKey, ref float pfValue) { MyCamera.MVCC_FLOATVALUE stParam = new MyCamera.MVCC_FLOATVALUE(); int nRet = m_pCSI.MV_CC_GetFloatValue_NET(strKey, ref stParam); if (MyCamera.MV_OK != nRet) { return(CO_FAIL); } pfValue = stParam.fCurValue; return(CO_OK); }
public override string GetMaxGain() { try { MyCamera.MVCC_FLOATVALUE stParam = new MyCamera.MVCC_FLOATVALUE(); int nRet = camera.MV_CC_GetFloatValue_NET("Gain", ref stParam); this.Info.MaxExposureTime = Convert.ToInt64(stParam.fMax); } catch (Exception ex) { WriteErrorLog($"{this.Info.UserID}" + ex.ToString()); bConnectOk = false; } return(base.GetMaxGain()); }
// 获取参数 public void GetParam(ref string gain, ref string exposure, MyCamera cam) { MyCamera.MVCC_FLOATVALUE stParam = new MyCamera.MVCC_FLOATVALUE(); // 获取曝光值 int nRet = cam.MV_CC_GetFloatValue_NET("Gain", ref stParam); if (MyCamera.MV_OK == nRet) { gain = stParam.fCurValue.ToString("F0"); } // 获取增益 nRet = cam.MV_CC_GetFloatValue_NET("ExposureTime", ref stParam); if (MyCamera.MV_OK == nRet) { exposure = stParam.fCurValue.ToString("F0"); } }
/// <summary>获取相机增益参数</summary> public int GetGain(out double value) { value = 0; if (!IsDeviceOpen) { return((int)ErrorDef.NotOpen); } MyCamera.MVCC_FLOATVALUE stParam = new MyCamera.MVCC_FLOATVALUE(); int nRet = _hikCmr.MV_CC_GetFloatValue_NET("Gain", ref stParam); if (MyCamera.MV_OK != nRet) { return((int)ErrorDef.InvokeFailed); } value = (double)stParam.fCurValue; return((int)ErrorDef.Success); }
/// <summary>获取相机曝光时间</summary> public int GetExposure(out double microSeconds) { microSeconds = 0; if (!IsDeviceOpen) { return((int)ErrorDef.NotOpen); } MyCamera.MVCC_FLOATVALUE stParam = new MyCamera.MVCC_FLOATVALUE(); int nRet = _hikCmr.MV_CC_GetFloatValue_NET("ExposureTime", ref stParam); if (MyCamera.MV_OK != nRet) { return((int)ErrorDef.InvokeFailed); } microSeconds = (double)stParam.fCurValue; return((int)ErrorDef.Success); }
private void bnGetParam_Click(object sender, EventArgs e) { MyCamera.MVCC_FLOATVALUE stParam = new MyCamera.MVCC_FLOATVALUE(); int nRet = m_MyCamera.MV_CC_GetFloatValue_NET("ExposureTime", ref stParam); if (MyCamera.MV_OK == nRet) { tbExposure.Text = stParam.fCurValue.ToString("F1"); } nRet = m_MyCamera.MV_CC_GetFloatValue_NET("Gain", ref stParam); if (MyCamera.MV_OK == nRet) { tbGain.Text = stParam.fCurValue.ToString("F1"); } nRet = m_MyCamera.MV_CC_GetFloatValue_NET("ResultingFrameRate", ref stParam); if (MyCamera.MV_OK == nRet) { tbFrameRate.Text = stParam.fCurValue.ToString("F1"); } }
public void SetExposureTime() { MyCamera.MVCC_FLOATVALUE stParam = new MyCamera.MVCC_FLOATVALUE(); nRet = getonecamera.MV_CC_GetFloatValue_NET("ExposureTime", ref stParam); if (nRet == MyCamera.MV_OK) { // something is wrong,the param can not set nRet = getonecamera.MV_CC_SetEnumValue_NET("ExposureAuto", 0); if (nRet != MyCamera.MV_OK) { Console.WriteLine("Set ExposureAuto failed!"); } } nRet = getonecamera.MV_CC_SetEnumValueByString_NET("ExposureMode", "Timed"); if (nRet != MyCamera.MV_OK) { Console.WriteLine("Set ExposureMode failed!"); } nRet = getonecamera.MV_CC_GetFloatValue_NET("ExposureTime", ref stParam); if ((float)ExposureTime > stParam.fMin && (float)ExposureTime < stParam.fMax) { nRet = getonecamera.MV_CC_SetFloatValue_NET("ExposureTime", (float)ExposureTime); if (nRet != MyCamera.MV_OK) { Console.WriteLine("Set ExposureTime failed!"); } } nRet = getonecamera.MV_CC_SetEnumValue_NET("GainAuto", 0); if (nRet != MyCamera.MV_OK) { Console.WriteLine("Set GainAuto failed!"); } }
static void Main(string[] args) { int nRet = MyCamera.MV_OK; MyCamera device = new MyCamera(); do { // ch:枚举设备 | en:Enum device MyCamera.MV_CC_DEVICE_INFO_LIST stDevList = new MyCamera.MV_CC_DEVICE_INFO_LIST(); nRet = MyCamera.MV_CC_EnumDevices_NET(MyCamera.MV_GIGE_DEVICE | MyCamera.MV_USB_DEVICE, ref stDevList); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Enum device failed:{0:x8}", nRet); break; } Console.WriteLine("Enum device count : " + Convert.ToString(stDevList.nDeviceNum)); if (0 == stDevList.nDeviceNum) { break; } MyCamera.MV_CC_DEVICE_INFO stDevInfo; // 通用设备信息 // ch:打印设备信息 en:Print device info for (Int32 i = 0; i < stDevList.nDeviceNum; i++) { stDevInfo = (MyCamera.MV_CC_DEVICE_INFO)Marshal.PtrToStructure(stDevList.pDeviceInfo[i], typeof(MyCamera.MV_CC_DEVICE_INFO)); if (MyCamera.MV_GIGE_DEVICE == stDevInfo.nTLayerType) { MyCamera.MV_GIGE_DEVICE_INFO stGigEDeviceInfo = (MyCamera.MV_GIGE_DEVICE_INFO)MyCamera.ByteToStruct(stDevInfo.SpecialInfo.stGigEInfo, typeof(MyCamera.MV_GIGE_DEVICE_INFO)); uint nIp1 = ((stGigEDeviceInfo.nCurrentIp & 0xff000000) >> 24); uint nIp2 = ((stGigEDeviceInfo.nCurrentIp & 0x00ff0000) >> 16); uint nIp3 = ((stGigEDeviceInfo.nCurrentIp & 0x0000ff00) >> 8); uint nIp4 = (stGigEDeviceInfo.nCurrentIp & 0x000000ff); Console.WriteLine("\n" + i.ToString() + ": [GigE] User Define Name : " + stGigEDeviceInfo.chUserDefinedName); Console.WriteLine("device IP :" + nIp1 + "." + nIp2 + "." + nIp3 + "." + nIp4); } else if (MyCamera.MV_USB_DEVICE == stDevInfo.nTLayerType) { MyCamera.MV_USB3_DEVICE_INFO stUsb3DeviceInfo = (MyCamera.MV_USB3_DEVICE_INFO)MyCamera.ByteToStruct(stDevInfo.SpecialInfo.stUsb3VInfo, typeof(MyCamera.MV_USB3_DEVICE_INFO)); Console.WriteLine("\n" + i.ToString() + ": [U3V] User Define Name : " + stUsb3DeviceInfo.chUserDefinedName); Console.WriteLine("\n Serial Number : " + stUsb3DeviceInfo.chSerialNumber); Console.WriteLine("\n Device Number : " + stUsb3DeviceInfo.nDeviceNumber); } } Int32 nDevIndex = 0; Console.Write("\nPlease input index (0 -- {0:d}) : ", stDevList.nDeviceNum - 1); try { nDevIndex = Convert.ToInt32(Console.ReadLine()); } catch { Console.Write("Invalid Input!\n"); break; } if (nDevIndex > stDevList.nDeviceNum - 1 || nDevIndex < 0) { Console.Write("Input Error!\n"); break; } stDevInfo = (MyCamera.MV_CC_DEVICE_INFO)Marshal.PtrToStructure(stDevList.pDeviceInfo[nDevIndex], typeof(MyCamera.MV_CC_DEVICE_INFO)); // ch:创建设备 | en:Create device nRet = device.MV_CC_CreateDevice_NET(ref stDevInfo); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Create device failed:{0:x8}", nRet); break; } // ch:打开设备 | en:Open device nRet = device.MV_CC_OpenDevice_NET(); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Open device failed:{0:x8}", nRet); break; } // ch:探测网络最佳包大小(只对GigE相机有效) | en:Detection network optimal package size(It only works for the GigE camera) if (stDevInfo.nTLayerType == MyCamera.MV_GIGE_DEVICE) { int nPacketSize = device.MV_CC_GetOptimalPacketSize_NET(); if (nPacketSize > 0) { nRet = device.MV_CC_SetIntValue_NET("GevSCPSPacketSize", (uint)nPacketSize); if (nRet != MyCamera.MV_OK) { Console.WriteLine("Warning: Set Packet Size failed {0:x8}", nRet); } } else { Console.WriteLine("Warning: Get Packet Size failed {0:x8}", nPacketSize); } } // ch:设置触发模式为off || en:set trigger mode as off if (MyCamera.MV_OK != device.MV_CC_SetEnumValue_NET("TriggerMode", 0)) { Console.WriteLine("Set TriggerMode failed!"); break; } // ch:获取包大小 || en: Get Payload Size MyCamera.MVCC_INTVALUE stParam = new MyCamera.MVCC_INTVALUE(); nRet = device.MV_CC_GetIntValue_NET("PayloadSize", ref stParam); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Get PayloadSize failed:{0:x8}", nRet); break; } g_nPayloadSize = stParam.nCurValue; MyCamera.MV_CC_RECORD_PARAM stRecordPar = new MyCamera.MV_CC_RECORD_PARAM(); nRet = device.MV_CC_GetIntValue_NET("Width", ref stParam); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Get Width failed: nRet {0:x8}", nRet); break; } stRecordPar.nWidth = (ushort)stParam.nCurValue; nRet = device.MV_CC_GetIntValue_NET("Height", ref stParam); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Get Height failed: nRet {0:x8}", nRet); break; } stRecordPar.nHeight = (ushort)stParam.nCurValue; MyCamera.MVCC_ENUMVALUE stEnumValue = new MyCamera.MVCC_ENUMVALUE(); nRet = device.MV_CC_GetEnumValue_NET("PixelFormat", ref stEnumValue); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Get Width failed: nRet {0:x8}", nRet); break; } stRecordPar.enPixelType = (MyCamera.MvGvspPixelType)stEnumValue.nCurValue; MyCamera.MVCC_FLOATVALUE stFloatValue = new MyCamera.MVCC_FLOATVALUE(); nRet = device.MV_CC_GetFloatValue_NET("ResultingFrameRate", ref stFloatValue); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Get Float value failed: nRet {0:x8}", nRet); break; } // ch:帧率(大于1/16)fps | en:Frame Rate (>1/16)fps stRecordPar.fFrameRate = stFloatValue.fCurValue; // ch:码率kbps(128kbps-16Mbps) | en:Bitrate kbps(128kbps-16Mbps) stRecordPar.nBitRate = 1000; // ch:录像格式(仅支持AVI) | en:Record Format(AVI is only supported) stRecordPar.enRecordFmtType = MyCamera.MV_RECORD_FORMAT_TYPE.MV_FormatType_AVI; stRecordPar.strFilePath = "./Recording.avi"; nRet = device.MV_CC_StartRecord_NET(ref stRecordPar); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Start Record failed: nRet {0:x8}", nRet); break; } // ch:开启抓图 | en:start grab nRet = device.MV_CC_StartGrabbing_NET(); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Start grabbing failed:{0:x8}", nRet); break; } Thread hReceiveImageThreadHandle = new Thread(ReceiveImageWorkThread); hReceiveImageThreadHandle.Start(device); Console.WriteLine("Press enter to exit"); Console.ReadKey(); g_bExit = true; hReceiveImageThreadHandle.Join(); // ch:停止抓图 | en:Stop grab image nRet = device.MV_CC_StopGrabbing_NET(); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Stop grabbing failed{0:x8}", nRet); break; } // ch:停止录像 | en:Stop record nRet = device.MV_CC_StopRecord_NET(); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Stop Record failed{0:x8}", nRet); break; } // ch:关闭设备 | en:Close device nRet = device.MV_CC_CloseDevice_NET(); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Close device failed{0:x8}", nRet); break; } // ch:销毁设备 | en:Destroy device nRet = device.MV_CC_DestroyDevice_NET(); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Destroy device failed:{0:x8}", nRet); break; } } while (false); if (MyCamera.MV_OK != nRet) { // ch:销毁设备 | en:Destroy device nRet = device.MV_CC_DestroyDevice_NET(); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Destroy device failed:{0:x8}", nRet); } } Console.WriteLine("Press enter to exit"); Console.ReadKey(); }
// Get the value of various feature nodes static int GetParameters(ref MyCamera device) { if (null == device) { return(MyCamera.MV_E_PARAMETER); } int nRet = MyCamera.MV_OK; // Get value of Integer nodes. Such as, 'width' etc. MyCamera.MVCC_INTVALUE stIntVal = new MyCamera.MVCC_INTVALUE(); nRet = device.MV_CC_GetIntValue_NET("Width", ref stIntVal); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Get width failed:{0:x8}", nRet); return(nRet); } Console.WriteLine("Current Width:{0:d}", stIntVal.nCurValue); // Get value of Enum nodes. Such as, 'TriggerMode' etc. MyCamera.MVCC_ENUMVALUE stEnumVal = new MyCamera.MVCC_ENUMVALUE(); nRet = device.MV_CC_GetEnumValue_NET("TriggerMode", ref stEnumVal); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Get Trigger Mode failed:{0:x8}", nRet); return(nRet); } Console.WriteLine("Current TriggerMode:{0:d}", stEnumVal.nCurValue); // Get value of float nodes. Such as, 'AcquisitionFrameRate' etc. MyCamera.MVCC_FLOATVALUE stFloatVal = new MyCamera.MVCC_FLOATVALUE(); nRet = device.MV_CC_GetFloatValue_NET("AcquisitionFrameRate", ref stFloatVal); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Get AcquisitionFrameRate failed:{0:x8}", nRet); return(nRet); } Console.WriteLine("Current AcquisitionFrameRate:{0:f}Fps", stFloatVal.fCurValue); // Get value of bool nodes. Such as, 'AcquisitionFrameRateEnable' etc. bool bBoolVal = false; nRet = device.MV_CC_GetBoolValue_NET("AcquisitionFrameRateEnable", ref bBoolVal); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Get AcquisitionFrameRateEnable failed:{0:x8}", nRet); return(nRet); } Console.WriteLine("Current AcquisitionFrameRateEnable:{0:d}", bBoolVal); // Get value of String nodes. Such as, 'DeviceUserID' etc. MyCamera.MVCC_STRINGVALUE stStrVal = new MyCamera.MVCC_STRINGVALUE(); nRet = device.MV_CC_GetStringValue_NET("DeviceUserID", ref stStrVal); if (MyCamera.MV_OK != nRet) { Console.WriteLine("Get DeviceUserID failed:{0:x8}", nRet); return(nRet); } Console.WriteLine("Current DeviceUserID:{0:s}", stStrVal.chCurValue); return(MyCamera.MV_OK); }