#ifndef _MV_CAMERA_PARAMS_H_ #define _MV_CAMERA_PARAMS_H_ #include "PixelType.h" #ifndef __cplusplus typedef char bool; #define true 1 #define false 0 #endif /// \~chinese 排序方式 \~english The Method of Sorting typedef enum _MV_SORT_METHOD_ { SortMethod_SerialNumber = 0, ///< \~chinese 按序列号排序 \~english Sorting by SerialNumber SortMethod_UserID = 1, ///< \~chinese 按用户自定义名字排序 \~english Sorting by UserID SortMethod_CurrentIP_ASC = 2, ///< \~chinese 按当前IP地址排序(升序,只对GEV相机有效,其它类型相机按默认排序) \~english Sorting by current IP(Ascending, Available for GEV cameras only. Other types of cameras are sorted by default) SortMethod_CurrentIP_DESC = 3, ///< \~chinese 按当前IP地址排序(降序,只对GEV相机有效,其它类型相机按默认排序) \~english Sorting by current IP(Descending, Available for GEV cameras only. Other types of cameras are sorted by default) }MV_SORT_METHOD; /// \~chinese GigE设备信息 \~english GigE device info typedef struct _MV_GIGE_DEVICE_INFO_ { unsigned int nIpCfgOption; ///< [OUT] \~chinese IP配置选项 \~english IP Configuration Options unsigned int nIpCfgCurrent; ///< [OUT] \~chinese 当前IP配置 \~english IP Configuration unsigned int nCurrentIp; ///< [OUT] \~chinese 当前IP地址 \~english Current Ip unsigned int nCurrentSubNetMask; ///< [OUT] \~chinese 当前子网掩码 \~english Curtent Subnet Mask unsigned int nDefultGateWay; ///< [OUT] \~chinese 当前网关 \~english Current Gateway unsigned char chManufacturerName[32]; ///< [OUT] \~chinese 制造商名称 \~english Manufacturer Name unsigned char chModelName[32]; ///< [OUT] \~chinese 型号名称 \~english Model Name unsigned char chDeviceVersion[32]; ///< [OUT] \~chinese 设备版本 \~english Device Version unsigned char chManufacturerSpecificInfo[48]; ///< [OUT] \~chinese 制造商的具体信息 \~english Manufacturer Specific Information unsigned char chSerialNumber[16]; ///< [OUT] \~chinese 序列号 \~english Serial Number unsigned char chUserDefinedName[16]; ///< [OUT] \~chinese 用户自定义名称 \~english User Defined Name unsigned int nNetExport; ///< [OUT] \~chinese 网口IP地址 \~english NetWork IP Address unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MV_GIGE_DEVICE_INFO; ///< \~chinese 最大的数据信息大小 \~english Maximum data information size #define INFO_MAX_BUFFER_SIZE 64 /// \~chinese USB设备信息 \~english USB device info typedef struct _MV_USB3_DEVICE_INFO_ { unsigned char CrtlInEndPoint; ///< [OUT] \~chinese 控制输入端点 \~english Control input endpoint unsigned char CrtlOutEndPoint; ///< [OUT] \~chinese 控制输出端点 \~english Control output endpoint unsigned char StreamEndPoint; ///< [OUT] \~chinese 流端点 \~english Flow endpoint unsigned char EventEndPoint; ///< [OUT] \~chinese 事件端点 \~english Event endpoint unsigned short idVendor; ///< [OUT] \~chinese 供应商ID号 \~english Vendor ID Number unsigned short idProduct; ///< [OUT] \~chinese 产品ID号 \~english Device ID Number unsigned int nDeviceNumber; ///< [OUT] \~chinese 设备索引号 \~english Device Number unsigned char chDeviceGUID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 设备GUID号 \~english Device GUID Number unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 供应商名字 \~english Vendor Name unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 型号名字 \~english Model Name unsigned char chFamilyName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 家族名字 \~english Family Name unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 设备版本 \~english Device Version unsigned char chManufacturerName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 制造商名字 \~english Manufacturer Name unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 序列号 \~english Serial Number unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 用户自定义名字 \~english User Defined Name unsigned int nbcdUSB; ///< [OUT] \~chinese 支持的USB协议 \~english Support USB Protocol unsigned int nDeviceAddress; ///< [OUT] \~chinese 设备地址 \~english Device Address unsigned int nReserved[2]; ///< \~chinese 预留 \~english Reserved }MV_USB3_DEVICE_INFO; /// \~chinese CameraLink设备信息 \~english CameraLink device info typedef struct _MV_CamL_DEV_INFO_ { unsigned char chPortID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 串口号 \~english Port ID unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 型号名字 \~english Model Name unsigned char chFamilyName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 名称 \~english Family Name unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 设备版本 \~english Device Version unsigned char chManufacturerName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 制造商名字 \~english Manufacturer Name unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 序列号 \~english Serial Number unsigned int nReserved[38]; ///< \~chinese 预留 \~english Reserved }MV_CamL_DEV_INFO; ///< \~chinese CoaXPress相机信息 \~english CoaXPress device information typedef struct _MV_CXP_DEVICE_INFO_ { unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; /// \~chinese 采集卡ID \~english Interface ID of Frame Grabber unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 供应商名字 \~english Vendor name unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 型号名字 \~english Model name unsigned char chManufacturerInfo[INFO_MAX_BUFFER_SIZE];///< \~chinese 厂商信息 \~english Manufacturer information unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机版本 \~english Device version unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 序列号 \~english Serial number unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 用户自定义名字 \~english User defined name unsigned char chDeviceID[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机ID \~english Device ID unsigned int nReserved[7]; ///< \~chinese 保留字段 \~english Reserved }MV_CXP_DEVICE_INFO; ///< \~chinese 采集卡Camera Link相机信息 \~english Camera Link device information on frame grabber typedef struct _MV_CML_DEVICE_INFO_ { unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; /// \~chinese 采集卡ID \~english Interface ID of Frame Grabber unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 供应商名字 \~english Vendor name unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 型号名字 \~english Model name unsigned char chManufacturerInfo[INFO_MAX_BUFFER_SIZE];///< \~chinese 厂商信息 \~english Manufacturer information unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机版本 \~english Device version unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 序列号 \~english Serial number unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 用户自定义名字 \~english User defined name unsigned char chDeviceID[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机ID \~english Device ID unsigned int nReserved[7]; ///< \~chinese 保留字段 \~english Reserved }MV_CML_DEVICE_INFO; ///< \~chinese XoFLink相机信息 \~english XoFLink device information typedef struct _MV_XOF_DEVICE_INFO_ { unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; /// \~chinese 采集卡ID \~english Interface ID of Frame Grabber unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 供应商名字 \~english Vendor name unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 型号名字 \~english Model name unsigned char chManufacturerInfo[INFO_MAX_BUFFER_SIZE];///< \~chinese 厂商信息 \~english Manufacturer information unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机版本 \~english Device version unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 序列号 \~english Serial number unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 用户自定义名字 \~english User defined name unsigned char chDeviceID[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机ID \~english Device ID unsigned int nReserved[7]; ///< \~chinese 保留字段 \~english Reserved }MV_XOF_DEVICE_INFO; ///< \~chinese 设备传输层协议类型 \~english Device Transport Layer Protocol Type #define MV_UNKNOW_DEVICE 0x00000000 ///< \~chinese 未知设备类型,保留意义 \~english Unknown Device Type, Reserved #define MV_GIGE_DEVICE 0x00000001 ///< \~chinese GigE设备 \~english GigE Device #define MV_1394_DEVICE 0x00000002 ///< \~chinese 1394-a/b 设备 \~english 1394-a/b Device #define MV_USB_DEVICE 0x00000004 ///< \~chinese USB 设备 \~english USB Device #define MV_CAMERALINK_DEVICE 0x00000008 ///< \~chinese CameraLink设备 \~english CameraLink Device #define MV_VIR_GIGE_DEVICE 0x00000010 ///< \~chinese 虚拟GigE设备 \~english Virtual GigE Device #define MV_VIR_USB_DEVICE 0x00000020 ///< \~chinese 虚拟USB设备 \~english Virtual USB Device #define MV_GENTL_GIGE_DEVICE 0x00000040 ///< \~chinese 自研网卡下GigE设备 \~english GenTL GigE Device #define MV_GENTL_CAMERALINK_DEVICE 0x00000080 ///< \~chinese CameraLink相机设备 \~english GenTL CameraLink Camera Device #define MV_GENTL_CXP_DEVICE 0x00000100 ///< \~chinese CoaXPress设备 \~english GenTL CoaXPress Device #define MV_GENTL_XOF_DEVICE 0x00000200 ///< \~chinese XoF设备 \~english GenTL XoF Device /// \~chinese 设备信息 \~english Device info typedef struct _MV_CC_DEVICE_INFO_ { unsigned short nMajorVer; ///< [OUT] \~chinese 主要版本 \~english Major Version unsigned short nMinorVer; ///< [OUT] \~chinese 次要版本 \~english Minor Version unsigned int nMacAddrHigh; ///< [OUT] \~chinese 高MAC地址 \~english High MAC Address unsigned int nMacAddrLow; ///< [OUT] \~chinese 低MAC地址 \~english Low MAC Address unsigned int nTLayerType; ///< [OUT] \~chinese 设备传输层协议类型 \~english Device Transport Layer Protocol Type unsigned int nDevTypeInfo; ///< [OUT] \~chinese 设备类型信息 \~english Device Type Info ///< \~chinese 设备类型规则 \~english Device Type Rules ///< 7 - 0 bit: \~chinese 预留 \~english Reserved ///< 15 - 8 bit: \~chinese 产品子类别 \~english Product subtype ///< 23 - 16 bit: \~chinese 产品类型 \~english product type ///< 31 - 24bit: \~chinese 产品线 \~english Product Line 产品线 //eg: 0x01 标准产品/2D Produces; 0x02 3D产品/3D Produces ; 0x03 智能ID产品/Intelligent ID products unsigned int nReserved[3]; ///< \~chinese 预留 \~english Reserved union { MV_GIGE_DEVICE_INFO stGigEInfo; ///< [OUT] \~chinese GigE设备信息 \~english GigE Device Info MV_USB3_DEVICE_INFO stUsb3VInfo; ///< [OUT] \~chinese USB设备信息 \~english USB Device Info MV_CamL_DEV_INFO stCamLInfo; ///< [OUT] \~chinese CameraLink设备信息 \~english CameraLink Device Info MV_CML_DEVICE_INFO stCMLInfo; ///< [OUT] \~chinese 采集卡CameraLink设备信息 \~english CameraLink Device Info On Frame Grabber MV_CXP_DEVICE_INFO stCXPInfo; ///< [OUT] \~chinese 采集卡CoaXPress设备信息 \~english CoaXPress Device Info On Frame Grabber MV_XOF_DEVICE_INFO stXoFInfo; ///< [OUT] \~chinese 采集卡XoF设备信息 \~english XoF Device Info On Frame Grabber }SpecialInfo; }MV_CC_DEVICE_INFO; ///< \~chinese 最多支持的传输层实例个数 \~english The maximum number of supported transport layer instances #define MV_MAX_TLS_NUM 8 ///< \~chinese 最大支持的设备个数 \~english The maximum number of supported devices #define MV_MAX_DEVICE_NUM 256 /// \~chinese 设备信息列表 \~english Device Information List typedef struct _MV_CC_DEVICE_INFO_LIST_ { unsigned int nDeviceNum; ///< [OUT] \~chinese 在线设备数量 \~english Online Device Number MV_CC_DEVICE_INFO* pDeviceInfo[MV_MAX_DEVICE_NUM]; ///< [OUT] \~chinese 支持最多256个设备 \~english Support up to 256 devices }MV_CC_DEVICE_INFO_LIST; ///< \~chinese 采集卡类型 \~english Interface type #define MV_GIGE_INTERFACE 0x00000001 ///< \~chinese GigE Vision采集卡 \~english GigE Vision interface #define MV_CAMERALINK_INTERFACE 0x00000004 ///< \~chinese Camera Link采集卡 \~english Camera Link interface #define MV_CXP_INTERFACE 0x00000008 ///< \~chinese CoaXPress采集卡 \~english CoaXPress interface #define MV_XOF_INTERFACE 0x00000010 ///< \~chinese XoFLink采集卡 \~english XoFLink interface ///< \~chinese 最大支持的采集卡数量 \~english The maximum number of Frame Grabber interface supported #define MV_MAX_INTERFACE_NUM 64 ///< \~chinese 采集卡信息 \~english Interface information typedef struct _MV_INTERFACE_INFO_ { unsigned int nTLayerType; ///< \~chinese 采集卡类型 \~english Interface type // 低16位有效: bits(0~2)代表功能, bits(3~7)代表相机, bits(8-15)代表总线 // The lower 16 bits are valid: bits (0~2) represents the function, bits (3~7) represents the device, and bits (8~15) represents the bus // |15 14 13 12 11 10 9 8 | 7 6 5 4 3 | 2 1 0 | // +-----------------------------+---------------+---------+ // | bus | device | func | unsigned int nPCIEInfo; ///< \~chinese 采集卡的PCIE插槽信息 \~english PCIe slot information of interface unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 采集卡ID \~english Interface ID unsigned char chDisplayName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 显示名称 \~english Display name unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 序列号 \~english Serial number unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 型号 \~english model name unsigned char chManufacturer[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 厂商 \~english manufacturer name unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 版本号 \~english device version unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 自定义名称 \~english user defined name unsigned int nReserved[64]; ///< \~chinese 保留字段 \~english Reserved }MV_INTERFACE_INFO; ///< \~chinese 采集卡信息列表 \~english Interface Information List typedef struct _MV_INTERFACE_INFO_LIST_ { unsigned int nInterfaceNum; ///< [OUT] \~chinese 采集卡数量 \~english Interface Number MV_INTERFACE_INFO* pInterfaceInfos[MV_MAX_INTERFACE_NUM]; ///< [OUT] \~chinese 采集卡信息, 支持最多64个设备 \~english Information of interfaces, support up to 64 interfaces }MV_INTERFACE_INFO_LIST; /// \~chinese 通过GenTL枚举到的接口信息 \~english Interface Information with GenTL typedef struct _MV_GENTL_IF_INFO_ { unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese GenTL接口ID \~english Interface ID unsigned char chTLType[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 传输层类型 \~english GenTL Type unsigned char chDisplayName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese Interface显示名称 \~english Display Name unsigned int nCtiIndex; ///< [OUT] \~chinese GenTL的cti文件索引 \~english The Index of Cti Files unsigned int nReserved[8]; ///< \~chinese 预留 \~english Reserved }MV_GENTL_IF_INFO; ///< \~chinese 最大支持的GenTL接口数量 \~english The maximum number of GenTL interface supported #define MV_MAX_GENTL_IF_NUM 256 /// \~chinese 通过GenTL枚举到的接口信息列表 \~english Inferface Information List with GenTL typedef struct _MV_GENTL_IF_INFO_LIST_ { unsigned int nInterfaceNum; ///< [OUT] \~chinese 在线接口数量 \~english Online Inferface Number MV_GENTL_IF_INFO* pIFInfo[MV_MAX_GENTL_IF_NUM]; ///< [OUT] \~chinese 支持最多256个接口 \~english Support up to 256 inferfaces }MV_GENTL_IF_INFO_LIST; /// \~chinese 通过GenTL枚举到的设备信息 \~english Device Information with GenTL typedef struct _MV_GENTL_DEV_INFO_ { unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese GenTL接口ID \~english Interface ID unsigned char chDeviceID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 设备ID \~english Device ID unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 供应商名字 \~english Vendor Name unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 型号名字 \~english Model Name unsigned char chTLType[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 传输层类型 \~english GenTL Type unsigned char chDisplayName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 设备显示名称 \~english Display Name unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 用户自定义名字 \~english User Defined Name unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 序列号 \~english Serial Number unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 设备版本号 \~english Device Version unsigned int nCtiIndex; ///< [OUT] \~chinese GenTL的cti文件索引 \~english The Index of Cti Files unsigned int nReserved[8]; ///< \~chinese 预留 \~english Reserved }MV_GENTL_DEV_INFO; ///< \~chinese 最大支持的GenTL设备数量 \~english The maximum number of GenTL devices supported #define MV_MAX_GENTL_DEV_NUM 256 /// \~chinese 通过GenTL枚举到的设备信息列表 \~english Device Information List with GenTL typedef struct _MV_GENTL_DEV_INFO_LIST_ { unsigned int nDeviceNum; ///< [OUT] \~chinese 在线设备数量 \~english Online Device Number MV_GENTL_DEV_INFO* pDeviceInfo[MV_MAX_GENTL_DEV_NUM]; ///< [OUT] \~chinese 支持最多256个设备 \~english Support up to 256 devices }MV_GENTL_DEV_INFO_LIST; /// \~chinese 设备的访问模式 \~english Device Access Mode #define MV_ACCESS_Exclusive 1 /// \~chinese 独占权限,其他APP只允许读CCP寄存器 \~english Exclusive authority, other APP is only allowed to read the CCP register #define MV_ACCESS_ExclusiveWithSwitch 2 /// \~chinese 可以从5模式下抢占权限,然后以独占权限打开 \~english You can seize the authority from the 5 mode, and then open with exclusive authority #define MV_ACCESS_Control 3 /// \~chinese 控制权限,其他APP允许读所有寄存器 \~english Control authority, allows other APP reading all registers #define MV_ACCESS_ControlWithSwitch 4 /// \~chinese 可以从5的模式下抢占权限,然后以控制权限打开 \~english You can seize the authority from the 5 mode, and then open with control authority #define MV_ACCESS_ControlSwitchEnable 5 /// \~chinese 以可被抢占的控制权限打开 \~english Open with seized control authority #define MV_ACCESS_ControlSwitchEnableWithKey 6 /// \~chinese 可以从5的模式下抢占权限,然后以可被抢占的控制权限打开 \~english You can seize the authority from the 5 mode, and then open with seized control authority #define MV_ACCESS_Monitor 7 /// \~chinese 读模式打开设备,适用于控制权限下 \~english Open with read mode and is available under control authority /// \~chinese Chunk内容 \~english The content of ChunkData typedef struct _MV_CHUNK_DATA_CONTENT_ { unsigned char* pChunkData; ///< [OUT] \~chinese Chunk数据 \~english Chunk Data unsigned int nChunkID; ///< [OUT] \~chinese Chunk ID \~english Chunk ID unsigned int nChunkLen; ///< [OUT] \~chinese Chunk的长度 \~english Chunk Length unsigned int nReserved[8]; ///< \~chinese 预留 \~english Reserved }MV_CHUNK_DATA_CONTENT; /// \~chinese 输出帧的信息 \~english Output Frame Information typedef struct _MV_FRAME_OUT_INFO_EX_ { unsigned short nWidth; ///< [OUT] \~chinese 图像宽(最大65535,超出请用nExtendWidth) \~english Image Width (over 65535, use nExtendWidth) unsigned short nHeight; ///< [OUT] \~chinese 图像高(最大65535,超出请用nExtendHeight) \~english Image Height(over 65535, use nExtendHeight) enum MvGvspPixelType enPixelType; ///< [OUT] \~chinese 像素格式 \~english Pixel Type unsigned int nFrameNum; ///< [OUT] \~chinese 帧号 \~english Frame Number unsigned int nDevTimeStampHigh; ///< [OUT] \~chinese 时间戳高32位 \~english Timestamp high 32 bits unsigned int nDevTimeStampLow; ///< [OUT] \~chinese 时间戳低32位 \~english Timestamp low 32 bits unsigned int nReserved0; ///< [OUT] \~chinese 保留,8字节对齐 \~english Reserved, 8-byte aligned int64_t nHostTimeStamp; ///< [OUT] \~chinese 主机生成的时间戳 \~english Host-generated timestamp unsigned int nFrameLen; ///< [OUT] \~chinese 帧的长度(4GB以上图像使用nFrameLenEx替代) \~english The Length of Frame /// \~chinese 设备水印时标 \~english Device frame-specific time scale unsigned int nSecondCount; ///< [OUT] \~chinese 秒数 \~english The Seconds unsigned int nCycleCount; ///< [OUT] \~chinese 周期数 \~english The Count of Cycle unsigned int nCycleOffset; ///< [OUT] \~chinese 周期偏移量 \~english The Offset of Cycle float fGain; ///< [OUT] \~chinese 增益 \~english Gain float fExposureTime; ///< [OUT] \~chinese 曝光时间 \~english Exposure Time unsigned int nAverageBrightness; ///< [OUT] \~chinese 平均亮度 \~english Average brightness /// \~chinese 白平衡相关 \~english White balance unsigned int nRed; ///< [OUT] \~chinese 红色 \~english Red unsigned int nGreen; ///< [OUT] \~chinese 绿色 \~english Green unsigned int nBlue; ///< [OUT] \~chinese 蓝色 \~english Blue unsigned int nFrameCounter; ///< [OUT] \~chinese 总帧数 \~english Frame Counter unsigned int nTriggerIndex; ///< [OUT] \~chinese 触发计数 \~english Trigger Counting unsigned int nInput; ///< [OUT] \~chinese 输入 \~english Input unsigned int nOutput; ///< [OUT] \~chinese 输出 \~english Output /// \~chinese ROI区域 \~english ROI Region unsigned short nOffsetX; ///< [OUT] \~chinese 水平偏移量 \~english OffsetX unsigned short nOffsetY; ///< [OUT] \~chinese 垂直偏移量 \~english OffsetY unsigned short nChunkWidth; ///< [OUT] \~chinese Chunk宽 \~english The Width of Chunk unsigned short nChunkHeight; ///< [OUT] \~chinese Chunk高 \~english The Height of Chunk unsigned int nLostPacket; ///< [OUT] \~chinese 本帧丢包数 \~english Lost Packet Number In This Frame unsigned int nUnparsedChunkNum; ///< [OUT] \~chinese 未解析的Chunkdata个数 \~english Unparsed Chunk Number union { MV_CHUNK_DATA_CONTENT* pUnparsedChunkContent; ///< [OUT] \~chinese 未解析的Chunk \~english Unparsed Chunk Content int64_t nAligning; ///< [OUT] \~chinese 校准 \~english Aligning }UnparsedChunkList; unsigned int nExtendWidth; ///< [OUT] \~chinese 图像宽(扩展变量) \~english Image Width unsigned int nExtendHeight; ///< [OUT] \~chinese 图像高(扩展变量) \~english Image Height uint64_t nFrameLenEx; ///< [OUT] \~chinese 帧的长度 \~english The Length of Frame unsigned int nReserved[32]; ///< \~chinese 预留 \~english Reserved }MV_FRAME_OUT_INFO_EX; /// \~chinese 图像结构体,输出图像地址及图像信息 \~english Image Struct, output the pointer of Image and the information of the specific image typedef struct _MV_FRAME_OUT_ { unsigned char* pBufAddr; ///< [OUT] \~chinese 图像指针地址 \~english pointer of image MV_FRAME_OUT_INFO_EX stFrameInfo; ///< [OUT] \~chinese 图像信息 \~english information of the specific image unsigned int nRes[16]; ///< \~chinese 预留 \~english Reserved }MV_FRAME_OUT; /// \~chinese 取流策略 \~english The strategy of Grabbing typedef enum _MV_GRAB_STRATEGY_ { MV_GrabStrategy_OneByOne = 0, ///< \~chinese 从旧到新一帧一帧的获取图像 \~english Grab One By One MV_GrabStrategy_LatestImagesOnly = 1, ///< \~chinese 获取列表中最新的一帧图像 \~english Grab The Latest Image MV_GrabStrategy_LatestImages = 2, ///< \~chinese 获取列表中最新的图像 \~english Grab The Latest Images MV_GrabStrategy_UpcomingImage = 3, ///< \~chinese 等待下一帧图像 \~english Grab The Upcoming Image }MV_GRAB_STRATEGY; /// \~chinese 网络传输的相关信息 \~english Network transmission information typedef struct _MV_NETTRANS_INFO_ { int64_t nReceiveDataSize; ///< [OUT] \~chinese 已接收数据大小[Start和Stop之间] \~english Received Data Size int nThrowFrameCount; ///< [OUT] \~chinese 丢帧数量 \~english Throw frame number unsigned int nNetRecvFrameCount; ///< [OUT] \~chinese 已接收的帧数 \~english Received Frame Count int64_t nRequestResendPacketCount; ///< [OUT] \~chinese 请求重发包数 \~english Request Resend Packet Count int64_t nResendPacketCount; ///< [OUT] \~chinese 重发包数 \~english Resend Packet Count }MV_NETTRANS_INFO; /// \~chinese 信息类型 \~english Information Type #define MV_MATCH_TYPE_NET_DETECT 0x00000001 ///< \~chinese 网络流量和丢包信息 \~english Network traffic and packet loss information #define MV_MATCH_TYPE_USB_DETECT 0x00000002 ///< \~chinese host接收到来自U3V设备的字节总数 \~english The total number of bytes host received from U3V device /// \~chinese 全匹配的一种信息结构体 \~english A fully matched information structure typedef struct _MV_ALL_MATCH_INFO_ { unsigned int nType; ///< [IN] \~chinese 需要输出的信息类型,e.g. MV_MATCH_TYPE_NET_DETECT、MV_MATCH_TYPE_USB_DETECT \~english Information type need to output ,e.g. MV_MATCH_TYPE_NET_DETECT、MV_MATCH_TYPE_USB_DETECT void* pInfo; ///< [OUT] \~chinese 输出的信息缓存,由调用者分配 \~english Output information cache, which is allocated by the caller unsigned int nInfoSize; ///< [IN] \~chinese 信息缓存的大小 \~english Information cache size }MV_ALL_MATCH_INFO; /// \~chinese 网络流量和丢包信息反馈结构体,对应类型为 MV_MATCH_TYPE_NET_DETECT \~english Network traffic and packet loss feedback structure, the corresponding type is MV_MATCH_TYPE_NET_DETECT typedef struct _MV_MATCH_INFO_NET_DETECT_ { int64_t nReceiveDataSize; ///< [OUT] \~chinese 已接收数据大小[Start和Stop之间] \~english Received data size int64_t nLostPacketCount; ///< [OUT] \~chinese 丢失的包数量 \~english Number of packets lost unsigned int nLostFrameCount; ///< [OUT] \~chinese 丢帧数量 \~english Number of frames lost unsigned int nNetRecvFrameCount; ///< [OUT] \~chinese 接收到的图像帧数 \~english Received Frame Count int64_t nRequestResendPacketCount; ///< [OUT] \~chinese 请求重发包数 \~english Request Resend Packet Count int64_t nResendPacketCount; ///< [OUT] \~chinese 重发包数 \~english Resend Packet Count }MV_MATCH_INFO_NET_DETECT; /// \~chinese host收到从u3v设备端的总字节数,对应类型为 MV_MATCH_TYPE_USB_DETECT \~english The total number of bytes host received from the u3v device side, the corresponding type is MV_MATCH_TYPE_USB_DETECT typedef struct _MV_MATCH_INFO_USB_DETECT_ { int64_t nReceiveDataSize; ///< [OUT] \~chinese 已接收数据大小 [Open和Close之间] \~english Received data size unsigned int nReceivedFrameCount; ///< [OUT] \~chinese 已收到的帧数 \~english Number of frames received unsigned int nErrorFrameCount; ///< [OUT] \~chinese 错误帧数 \~english Number of error frames unsigned int nReserved[2]; ///< \~chinese 保留 \~english Reserved }MV_MATCH_INFO_USB_DETECT; /// \~chinese 显示帧信息 \~english Display frame information typedef struct _MV_DISPLAY_FRAME_INFO_EX_ { unsigned int nWidth; ///< [IN] \~chinese 图像宽 \~english Width unsigned int nHeight; ///< [IN] \~chinese 图像高 \~english Height enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel type unsigned char* pImageBuf; ///< [IN] \~chinese 输入图像缓存 \~english Input image buffer unsigned int nImageBufLen; ///< [IN] \~chinese 输入图像长度 \~english Input image length unsigned int enRenderMode; /// [IN] \~chinese 图像渲染方式 Windows:0-GDI(默认), 1-D3D, 2-OPENGL Linux: 0-OPENGL(默认) \~english Windows:0-GDI(default), 1-D3D, 2-OPENGL Linux: 0-OPENGL(default) unsigned int nRes[3]; ///< \~chinese 保留 \~english Reserved }MV_DISPLAY_FRAME_INFO_EX; /// \~chinese 图像信息 \~english Image information typedef struct _MV_CC_IMAGE_ { unsigned int nWidth; ///< \~chinese 图像宽 \~english Width unsigned int nHeight; ///< \~chinese 图像高 \~english Height enum MvGvspPixelType enPixelType; ///< ~chinese 像素格式 \~english Pixel type unsigned char* pImageBuf; ///< \~chinese 图像缓存 \~english Image buffer uint64_t nImageBufSize; ///< \~chinese 图像缓存大小 \~english Image buffer size uint64_t nImageBufLen; ///< \~chinese 图像长度 \~english Image length unsigned int nReserved[4]; ///< \~chinese 预留字段 \~english Reserved }MV_CC_IMAGE; /// \~chinese 保存图片格式 \~english Save image type enum MV_SAVE_IAMGE_TYPE { MV_Image_Undefined = 0, ///< \~chinese 未定义的图像格式 \~english Undefined Image Type MV_Image_Bmp = 1, ///< \~chinese BMP图像格式 \~english BMP Image Type MV_Image_Jpeg = 2, ///< \~chinese JPEG图像格式 \~english Jpeg Image Type MV_Image_Png = 3, ///< \~chinese PNG图像格式 \~english Png Image Type MV_Image_Tif = 4, ///< \~chinese TIFF图像格式 \~english TIFF Image Type }; /// \~chinese 图片保存参数 \~english Save Image Parameters typedef struct _MV_SAVE_IMAGE_PARAM_EX3_ { unsigned char* pData; ///< [IN] \~chinese 输入数据缓存 \~english Input Data Buffer unsigned int nDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input Data length enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 输入数据的像素格式 \~english Input Data Pixel Format unsigned int nWidth; ///< [IN] \~chinese 图像宽 \~english Image Width unsigned int nHeight; ///< [IN] \~chinese 图像高 \~english Image Height unsigned char* pImageBuffer; ///< [OUT] \~chinese 输出图片缓存 \~english Output Image Buffer unsigned int nImageLen; ///< [OUT] \~chinese 输出图片长度 \~english Output Image length unsigned int nBufferSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Output buffer size provided enum MV_SAVE_IAMGE_TYPE enImageType; ///< [IN] \~chinese 输出图片格式 \~english Output Image Format unsigned int nJpgQuality; ///< [IN] \~chinese JPG编码质量(50-99],其它格式无效 \~english Encoding quality(50-99],Other formats are invalid unsigned int iMethodValue; ///< [IN] \~chinese 插值方法 0-快速 1-均衡(其它值默认为均衡) 2-最优 3-最优+ \~english Bayer interpolation method 0-Fast 1-Equilibrium 2-Optimal 3-Optimal+ unsigned int nReserved[3]; ///< \~chinese 预留 \~english Reserved }MV_SAVE_IMAGE_PARAM_EX3; // 保存图片到文件参数 typedef struct _MV_SAVE_IMAGE_TO_FILE_PARAM_EX_ { unsigned int nWidth; // [IN] 图像宽 unsigned int nHeight; // [IN] 图像高 enum MvGvspPixelType enPixelType; // [IN] 输入数据的像素格式 unsigned char* pData; // [IN] 输入数据缓存 unsigned int nDataLen; // [IN] 输入数据大小 enum MV_SAVE_IAMGE_TYPE enImageType; // [IN] 输入图片格式 char* pcImagePath; // [IN] 输入文件路径 unsigned int nQuality; // [IN] JPG编码质量(50-99],其它格式无效 int iMethodValue; // [IN] 插值方法 0-快速 1-均衡(其它值默认为均衡) 2-最优 3-最优+ unsigned int nReserved[8]; }MV_SAVE_IMAGE_TO_FILE_PARAM_EX; // 保存图片所需参数 typedef struct _MV_CC_SAVE_IMAGE_PARAM_ { enum MV_SAVE_IAMGE_TYPE enImageType; // [IN] 输入图片格式 unsigned int nQuality; // [IN] JPG编码质量(50-99],其它格式无效 int iMethodValue; // [IN] 插值方法 0-快速 1-均衡(其它值默认为均衡) 2-最优 3-最优+ unsigned int nReserved[8]; }MV_CC_SAVE_IMAGE_PARAM; /// \~chinese 旋转角度 \~english Rotation angle typedef enum _MV_IMG_ROTATION_ANGLE_ { MV_IMAGE_ROTATE_90 = 1, MV_IMAGE_ROTATE_180 = 2, MV_IMAGE_ROTATE_270 = 3, }MV_IMG_ROTATION_ANGLE; /// \~chinese 图像旋转结构体 \~english Rotate image structure typedef struct _MV_CC_ROTATE_IMAGE_PARAM_T_ { enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format unsigned int nWidth; ///< [IN][OUT] \~chinese 图像宽 \~english Width unsigned int nHeight; ///< [IN][OUT] \~chinese 图像高 \~english Height unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size MV_IMG_ROTATION_ANGLE enRotationAngle; ///< [IN] \~chinese 旋转角度 \~english Rotation angle unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved }MV_CC_ROTATE_IMAGE_PARAM; /// \~chinese 翻转类型 \~english Flip type typedef enum _MV_IMG_FLIP_TYPE_ { MV_FLIP_VERTICAL = 1, MV_FLIP_HORIZONTAL = 2, }MV_IMG_FLIP_TYPE; /// \~chinese 图像翻转结构体 \~english Flip image structure typedef struct _MV_CC_FLIP_IMAGE_PARAM_T_ { enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format unsigned int nWidth; ///< [IN] \~chinese 图像宽 \~english Width unsigned int nHeight; ///< [IN] \~chinese 图像高 \~english Height unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size MV_IMG_FLIP_TYPE enFlipType; ///< [IN] \~chinese 翻转类型 \~english Flip type unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved }MV_CC_FLIP_IMAGE_PARAM; /// \~chinese 像素转换结构体 \~english Pixel convert structure typedef struct _MV_CC_PIXEL_CONVERT_PARAM_EX_ { unsigned int nWidth; ///< [IN] \~chinese 图像宽 \~english Width unsigned int nHeight; ///< [IN] \~chinese 图像高 \~english Height enum MvGvspPixelType enSrcPixelType; ///< [IN] \~chinese 源像素格式 \~english Source pixel format unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length enum MvGvspPixelType enDstPixelType; ///< [IN] \~chinese 目标像素格式 \~english Destination pixel format unsigned char* pDstBuffer; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer unsigned int nDstLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length unsigned int nDstBufferSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size unsigned int nRes[4]; ///< \~chinese 预留 \~english Reserved }MV_CC_PIXEL_CONVERT_PARAM_EX; /// \~chinese Gamma类型 \~english Gamma type typedef enum _MV_CC_GAMMA_TYPE_ { MV_CC_GAMMA_TYPE_NONE = 0, ///< \~chinese 不启用 \~english Disable MV_CC_GAMMA_TYPE_VALUE = 1, ///< \~chinese Gamma值 \~english Gamma value MV_CC_GAMMA_TYPE_USER_CURVE = 2, ///< \~chinese Gamma曲线 \~english Gamma curve ///< \~chinese 8位,长度:256*sizeof(unsigned char) \~english 8bit,length:256*sizeof(unsigned char) ///< \~chinese 10位,长度:1024*sizeof(unsigned short) \~english 10bit,length:1024*sizeof(unsigned short) ///< \~chinese 12位,长度:4096*sizeof(unsigned short) \~english 12bit,length:4096*sizeof(unsigned short) ///< \~chinese 16位,长度:65536*sizeof(unsigned short) \~english 16bit,length:65536*sizeof(unsigned short) MV_CC_GAMMA_TYPE_LRGB2SRGB = 3, ///< \~chinese linear RGB to sRGB \~english linear RGB to sRGB MV_CC_GAMMA_TYPE_SRGB2LRGB = 4, ///< \~chinese sRGB to linear RGB(仅色彩插值时支持,色彩校正时无效) \~english sRGB to linear RGB }MV_CC_GAMMA_TYPE; // Gamma信息 /// \~chinese Gamma信息结构体 \~english Gamma info structure typedef struct _MV_CC_GAMMA_PARAM_T_ { MV_CC_GAMMA_TYPE enGammaType; ///< [IN] \~chinese Gamma类型 \~english Gamma type float fGammaValue; ///< [IN] \~chinese Gamma值:0.1 ~ 4.0 \~english Gamma value:0.1 ~ 4.0 unsigned char* pGammaCurveBuf; ///< [IN] \~chinese Gamma曲线缓存 \~english Gamma curve buffer unsigned int nGammaCurveBufLen; ///< [IN] \~chinese Gamma曲线长度 \~english Gamma curve buffer size unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved }MV_CC_GAMMA_PARAM; /// \~chinese CCM参数 \~english CCM param typedef struct _MV_CC_CCM_PARAM_T_ { bool bCCMEnable; ///< [IN] \~chinese 是否启用CCM \~english CCM enable int nCCMat[9]; ///< [IN] \~chinese CCM矩阵[-8192~8192] \~english Color correction matrix[-8192~8192] unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved }MV_CC_CCM_PARAM; /// \~chinese CCM参数 \~english CCM param typedef struct _MV_CC_CCM_PARAM_EX_T_ { bool bCCMEnable; ///< [IN] \~chinese 是否启用CCM \~english CCM enable int nCCMat[9]; ///< [IN] \~chinese CCM矩阵[-65536~65536] \~english Color correction matrix[-65536~65536] unsigned int nCCMScale; ///< [IN] \~chinese 量化系数(2的整数幂,最大65536) \~english Quantitative scale(Integer power of 2, <= 65536) unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved }MV_CC_CCM_PARAM_EX; /// \~chinese 对比度调节结构体 \~english Contrast structure typedef struct _MV_CC_CONTRAST_PARAM_T_ { unsigned int nWidth; ///< [IN] \~chinese 图像宽度(最小8) \~english Image Width unsigned int nHeight; ///< [IN] \~chinese 图像高度(最小8) \~english Image Height unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据大小 \~english Input data length enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length unsigned int nContrastFactor; ///< [IN] \~chinese 对比度值,[1,10000] \~english Contrast factor,[1,10000] unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved }MV_CC_CONTRAST_PARAM; /// \~chinese 水印信息 \~english Frame-specific information typedef struct _MV_CC_FRAME_SPEC_INFO_ { /// \~chinese 设备水印时标 \~english Device frame-specific time scale unsigned int nSecondCount; ///< [OUT] \~chinese 秒数 \~english The Seconds unsigned int nCycleCount; ///< [OUT] \~chinese 周期数 \~english The Count of Cycle unsigned int nCycleOffset; ///< [OUT] \~chinese 周期偏移量 \~english The Offset of Cycle float fGain; ///< [OUT] \~chinese 增益 \~english Gain float fExposureTime; ///< [OUT] \~chinese 曝光时间 \~english Exposure Time unsigned int nAverageBrightness; ///< [OUT] \~chinese 平均亮度 \~english Average brightness /// \~chinese 白平衡相关 \~english White balance unsigned int nRed; ///< [OUT] \~chinese 红色 \~english Red unsigned int nGreen; ///< [OUT] \~chinese 绿色 \~english Green unsigned int nBlue; ///< [OUT] \~chinese 蓝色 \~english Blue unsigned int nFrameCounter; ///< [OUT] \~chinese 总帧数 \~english Frame Counter unsigned int nTriggerIndex; ///< [OUT] \~chinese 触发计数 \~english Trigger Counting unsigned int nInput; ///< [OUT] \~chinese 输入 \~english Input unsigned int nOutput; ///< [OUT] \~chinese 输出 \~english Output /// \~chinese ROI区域 \~english ROI Region unsigned short nOffsetX; ///< [OUT] \~chinese 水平偏移量 \~english OffsetX unsigned short nOffsetY; ///< [OUT] \~chinese 垂直偏移量 \~english OffsetY unsigned short nFrameWidth; ///< [OUT] \~chinese 水印宽 \~english The Width of Chunk unsigned short nFrameHeight; ///< [OUT] \~chinese 水印高 \~english The Height of Chunk unsigned int nReserved[16]; ///< \~chinese 预留 \~english Reserved }MV_CC_FRAME_SPEC_INFO; /// \~chinese 无损解码参数 \~english High Bandwidth decode structure typedef struct _MV_CC_HB_DECODE_PARAM_T_ { unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer unsigned int nSrcLen; ///< [IN] \~chinese 输入数据大小 \~english Input data size unsigned int nWidth; ///< [OUT] \~chinese 图像宽 \~english Width unsigned int nHeight; ///< [OUT] \~chinese 图像高 \~english Height unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据大小 \~english Output data size enum MvGvspPixelType enDstPixelType; ///< [OUT] \~chinese 输出的像素格式 \~english Output pixel format MV_CC_FRAME_SPEC_INFO stFrameSpecInfo; ///< [OUT] \~chinese 水印信息 \~english Frame Spec Info unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved }MV_CC_HB_DECODE_PARAM; /// \~chinese 录像格式定义 \~english Record Format Type typedef enum _MV_RECORD_FORMAT_TYPE_ { MV_FormatType_Undefined = 0, ///< \~chinese 未定义的录像格式 \~english Undefined Recode Format Type MV_FormatType_AVI = 1, ///< \~chinese AVI录像格式 \~english AVI Recode Format Type }MV_RECORD_FORMAT_TYPE; /// \~chinese 录像参数 \~english Record Parameters typedef struct _MV_CC_RECORD_PARAM_T_ { enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 输入数据的像素格式 \~english Pixel Type unsigned short nWidth; ///< [IN] \~chinese 图像宽(2的倍数) \~english Width unsigned short nHeight; ///< [IN] \~chinese 图像高(2的倍数) \~english Height float fFrameRate; ///< [IN] \~chinese 帧率fps(大于1/16) \~english The Rate of Frame unsigned int nBitRate; ///< [IN] \~chinese 码率kbps(128-16*1024) \~english The Rate of Bitrate MV_RECORD_FORMAT_TYPE enRecordFmtType; ///< [IN] \~chinese 录像格式 \~english Recode Format Type char* strFilePath; ///< [IN] \~chinese 录像文件存放路径(如果路径中存在中文,需转成utf-8) \~english File Path unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved }MV_CC_RECORD_PARAM; /// \~chinese 传入的图像数据 \~english Input Data typedef struct _MV_CC_INPUT_FRAME_INFO_T_ { unsigned char* pData; ///< [IN] \~chinese 图像数据指针 \~english Record Data unsigned int nDataLen; ///< [IN] \~chinese 图像大小 \~english The Length of Record Data unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved }MV_CC_INPUT_FRAME_INFO; /// \~chinese 采集模式 \~english Acquisition mode typedef enum _MV_CAM_ACQUISITION_MODE_ { MV_ACQ_MODE_SINGLE = 0, ///< \~chinese 单帧模式 \~english Single Mode MV_ACQ_MODE_MUTLI = 1, ///< \~chinese 多帧模式 \~english Multi Mode MV_ACQ_MODE_CONTINUOUS = 2, ///< \~chinese 持续采集模式 \~english Continuous Mode }MV_CAM_ACQUISITION_MODE; /// \~chinese 增益模式 \~english Gain Mode typedef enum _MV_CAM_GAIN_MODE_ { MV_GAIN_MODE_OFF = 0, ///< \~chinese 关闭 \~english Single Mode MV_GAIN_MODE_ONCE = 1, ///< \~chinese 一次 \~english Multi Mode MV_GAIN_MODE_CONTINUOUS = 2, ///< \~chinese 连续 \~english Continuous Mode }MV_CAM_GAIN_MODE; /// \~chinese 曝光模式 \~english Exposure Mode typedef enum _MV_CAM_EXPOSURE_MODE_ { MV_EXPOSURE_MODE_TIMED = 0, ///< \~chinese 时间 \~english Timed MV_EXPOSURE_MODE_TRIGGER_WIDTH = 1, ///< \~chinese 触发脉冲宽度 \~english TriggerWidth }MV_CAM_EXPOSURE_MODE; /// \~chinese 自动曝光模式 \~english Auto Exposure Mode typedef enum _MV_CAM_EXPOSURE_AUTO_MODE_ { MV_EXPOSURE_AUTO_MODE_OFF = 0, ///< \~chinese 关闭 \~english Off MV_EXPOSURE_AUTO_MODE_ONCE = 1, ///< \~chinese 一次 \~english Once MV_EXPOSURE_AUTO_MODE_CONTINUOUS = 2, ///< \~chinese 连续 \~english Continuous }MV_CAM_EXPOSURE_AUTO_MODE; /// \~chinese 触发模式 \~english Trigger Mode typedef enum _MV_CAM_TRIGGER_MODE_ { MV_TRIGGER_MODE_OFF = 0, ///< \~chinese 关闭 \~english Off MV_TRIGGER_MODE_ON = 1, ///< \~chinese 打开 \~english ON }MV_CAM_TRIGGER_MODE; /// \~chinese Gamma选择器 \~english Gamma Selector typedef enum _MV_CAM_GAMMA_SELECTOR_ { MV_GAMMA_SELECTOR_USER = 1, ///< \~chinese 用户 \~english Gamma Selector User MV_GAMMA_SELECTOR_SRGB = 2, ///< \~chinese sRGB \~english Gamma Selector sRGB }MV_CAM_GAMMA_SELECTOR; /// \~chinese 白平衡 \~english White Balance typedef enum _MV_CAM_BALANCEWHITE_AUTO_ { MV_BALANCEWHITE_AUTO_OFF = 0, ///< \~chinese 关闭 \~english Off MV_BALANCEWHITE_AUTO_ONCE = 2, ///< \~chinese 一次 \~english Once MV_BALANCEWHITE_AUTO_CONTINUOUS = 1, ///< \~chinese 连续 \~english Continuous }MV_CAM_BALANCEWHITE_AUTO; /// \~chinese 触发源 \~english Trigger Source typedef enum _MV_CAM_TRIGGER_SOURCE_ { MV_TRIGGER_SOURCE_LINE0 = 0, ///< \~chinese Line0 \~english Line0 MV_TRIGGER_SOURCE_LINE1 = 1, ///< \~chinese Line1 \~english Line1 MV_TRIGGER_SOURCE_LINE2 = 2, ///< \~chinese Line2 \~english Line2 MV_TRIGGER_SOURCE_LINE3 = 3, ///< \~chinese Line3 \~english Line3 MV_TRIGGER_SOURCE_COUNTER0 = 4, ///< \~chinese Conuter0 \~english Conuter0 MV_TRIGGER_SOURCE_SOFTWARE = 7, ///< \~chinese 软触发 \~english Software MV_TRIGGER_SOURCE_FrequencyConverter= 8, ///< \~chinese 变频器 \~english Frequency Converter }MV_CAM_TRIGGER_SOURCE; /// \~chinese GigEVision IP配置 \~english GigEVision IP Configuration #define MV_IP_CFG_STATIC 0x05000000 ///< \~chinese 静态 \~english Static #define MV_IP_CFG_DHCP 0x06000000 ///< \~chinese DHCP \~english DHCP #define MV_IP_CFG_LLA 0x04000000 ///< \~chinese LLA \~english LLA /// \~chinese GigEVision网络传输模式 \~english GigEVision Net Transfer Mode #define MV_NET_TRANS_DRIVER 0x00000001 ///< \~chinese 驱动 \~english Driver #define MV_NET_TRANS_SOCKET 0x00000002 ///< \~chinese Socket \~english Socket /// \~chinese CameraLink波特率 \~english CameraLink Baud Rates (CLUINT32) #define MV_CAML_BAUDRATE_9600 0x00000001 ///< \~chinese 9600 \~english 9600 #define MV_CAML_BAUDRATE_19200 0x00000002 ///< \~chinese 19200 \~english 19200 #define MV_CAML_BAUDRATE_38400 0x00000004 ///< \~chinese 38400 \~english 38400 #define MV_CAML_BAUDRATE_57600 0x00000008 ///< \~chinese 57600 \~english 57600 #define MV_CAML_BAUDRATE_115200 0x00000010 ///< \~chinese 115200 \~english 115200 #define MV_CAML_BAUDRATE_230400 0x00000020 ///< \~chinese 230400 \~english 230400 #define MV_CAML_BAUDRATE_460800 0x00000040 ///< \~chinese 460800 \~english 460800 #define MV_CAML_BAUDRATE_921600 0x00000080 ///< \~chinese 921600 \~english 921600 #define MV_CAML_BAUDRATE_AUTOMAX 0x40000000 ///< \~chinese 最大值 \~english Auto Max /// \~chinese 异常消息类型 \~english Exception message type #define MV_EXCEPTION_DEV_DISCONNECT 0x00008001 ///< \~chinese 设备断开连接 \~english The device is disconnected #define MV_EXCEPTION_VERSION_CHECK 0x00008002 ///< \~chinese SDK与驱动版本不匹配 \~english SDK does not match the driver version /// \~chinese U3V流异常类型 typedef enum _MV_CC_STREAM_EXCEPTION_TYPE_ { MV_CC_STREAM_EXCEPTION_ABNORMAL_IMAGE = 0x4001, ///< \~chinese 异常的图像,该帧被丢弃 MV_CC_STREAM_EXCEPTION_LIST_OVERFLOW = 0x4002, ///< \~chinese 缓存列表溢出,清除最旧的一帧 MV_CC_STREAM_EXCEPTION_LIST_EMPTY = 0x4003, ///< \~chinese 缓存列表为空,该帧被丢弃 MV_CC_STREAM_EXCEPTION_RECONNECTION = 0x4004, ///< \~chinese 断流恢复 MV_CC_STREAM_EXCEPTION_DISCONNECTED = 0x4005, ///< \~chinese 断流,恢复失败,取流被中止 MV_CC_STREAM_EXCEPTION_DEVICE = 0x4006, ///< \~chinese 设备异常,取流被中止 }MV_CC_STREAM_EXCEPTION_TYPE; ///< \~chinese 设备Event事件名称最大长度 \~english Max length of event name #define MAX_EVENT_NAME_SIZE 128 /// \~chinese Event事件回调信息\ \~english Event callback infomation typedef struct _MV_EVENT_OUT_INFO_ { char EventName[MAX_EVENT_NAME_SIZE]; ///< [OUT] \~chinese Event名称 \~english Event name unsigned short nEventID; ///< [OUT] \~chinese Event号 \~english Event ID unsigned short nStreamChannel; ///< [OUT] \~chinese 流通道序号 \~english Circulation number unsigned int nBlockIdHigh; ///< [OUT] \~chinese 帧号高位 (暂无固件支持) \~english BlockId high, not support unsigned int nBlockIdLow; ///< [OUT] \~chinese 帧号低位 (暂无固件支持) \~english BlockId low, not support unsigned int nTimestampHigh; ///< [OUT] \~chinese 时间戳高位 \~english Timestramp high unsigned int nTimestampLow; ///< [OUT] \~chinese 时间戳低位 \~english Timestramp low void* pEventData; ///< [OUT] \~chinese Event数据 (暂无固件支持) \~english Event data, not support unsigned int nEventDataSize; ///< [OUT] \~chinese Event数据长度 (暂无固件支持) \~english Event data len, not support unsigned int nReserved[16]; ///< \~chinese 预留 \~english Reserved }MV_EVENT_OUT_INFO; /// \~chinese 文件存取 \~english File Access typedef struct _MV_CC_FILE_ACCESS_T { const char* pUserFileName; ///< [IN] \~chinese 用户文件名 \~english User file name const char* pDevFileName; ///< [IN] \~chinese 设备文件名 \~english Device file name unsigned int nReserved[32]; ///< \~chinese 预留 \~english Reserved }MV_CC_FILE_ACCESS; /// \~chinese 文件存取 \~english File Access typedef struct _MV_CC_FILE_ACCESS_E { char* pUserFileBuf; ///< [IN] \~chinese 用户数据缓存 \~english User data Buffer unsigned int pFileBufSize; ///< [IN] \~chinese 用户数据缓存大小 \~english data buffer size unsigned int pFileBufLen; ///< [OUT][IN] \~chinese 文件数据缓存总长度(读取时输出文件数据总长度,写入时输入文件数据总长度) \~english data buffer len const char* pDevFileName; ///< [IN] \~chinese 设备文件名 \~english Device file name unsigned int nReserved[32]; ///< \~chinese 预留 \~english Reserved }MV_CC_FILE_ACCESS_EX; /// \~chinese 文件存取进度 \~english File Access Progress typedef struct _MV_CC_FILE_ACCESS_PROGRESS_T { int64_t nCompleted; ///< [OUT] \~chinese 已完成的长度 \~english Completed Length int64_t nTotal; ///< [OUT] \~chinese 总长度 \~english Total Length unsigned int nReserved[8]; ///< \~chinese 预留 \~english Reserved }MV_CC_FILE_ACCESS_PROGRESS; /// \~chinese Gige的传输类型 \~english The transmission type of Gige typedef enum _MV_GIGE_TRANSMISSION_TYPE_ { MV_GIGE_TRANSTYPE_UNICAST = 0x0, ///< \~chinese 表示单播(默认) \~english Unicast mode MV_GIGE_TRANSTYPE_MULTICAST = 0x1, ///< \~chinese 表示组播(组播IP范围[224.*.*.*-239.*.*.*]) \~english Multicast mode MV_GIGE_TRANSTYPE_LIMITEDBROADCAST = 0x2, ///< \~chinese 表示局域网内广播,暂不支持 \~english Limited broadcast mode,not support MV_GIGE_TRANSTYPE_SUBNETBROADCAST = 0x3, ///< \~chinese 表示子网内广播,暂不支持 \~english Subnet broadcast mode,not support MV_GIGE_TRANSTYPE_CAMERADEFINED = 0x4, ///< \~chinese 表示从设备获取,暂不支持 \~english Transtype from camera,not support MV_GIGE_TRANSTYPE_UNICAST_DEFINED_PORT = 0x5, ///< \~chinese 表示用户自定义应用端接收图像数据Port号 \~english User Defined Receive Data Port MV_GIGE_TRANSTYPE_UNICAST_WITHOUT_RECV = 0x00010000, ///< \~chinese 表示设置了单播,但本实例不接收图像数据 \~english Unicast without receive data MV_GIGE_TRANSTYPE_MULTICAST_WITHOUT_RECV= 0x00010001, ///< \~chinese 表示组播模式,但本实例不接收图像数据 \~english Multicast without receive data }MV_GIGE_TRANSMISSION_TYPE; /// \~chinese 网络传输模式 \~english Transmission type typedef struct _MV_TRANSMISSION_TYPE_T { MV_GIGE_TRANSMISSION_TYPE enTransmissionType; ///< [IN] \~chinese 传输模式 \~english Transmission type unsigned int nDestIp; ///< [IN] \~chinese 目标IP,组播模式下有意义 \~english Destination IP unsigned short nDestPort; ///< [IN] \~chinese 目标Port,组播模式下有意义 \~english Destination port unsigned int nReserved[32]; ///< \~chinese 预留 \~english Reserved }MV_TRANSMISSION_TYPE; /// \~chinese 动作命令信息 \~english Action Command typedef struct _MV_ACTION_CMD_INFO_T { unsigned int nDeviceKey; ///< [IN] \~chinese 设备密钥 \~english Device Key; unsigned int nGroupKey; ///< [IN] \~chinese 组键 \~english Group Key unsigned int nGroupMask; ///< [IN] \~chinese 组掩码 \~english Group Mask unsigned int bActionTimeEnable; ///< [IN] \~chinese 只有设置成1时Action Time才有效,非1时无效 \~english Action Time Enable int64_t nActionTime; ///< [IN] \~chinese 预定的时间,和主频有关 \~english Action Time const char* pBroadcastAddress; ///< [IN] \~chinese 广播包地址 \~english Broadcast Address unsigned int nTimeOut; ///< [IN] \~chinese 等待ACK的超时时间,如果为0表示不需要ACK \~english TimeOut unsigned int bSpecialNetEnable; ///< [IN] \~chinese 只有设置成1时指定的网卡IP才有效,非1时无效 \~english Special IP Enable unsigned int nSpecialNetIP; ///< [IN] \~chinese 指定的网卡IP \~english Special Net IP address unsigned int nReserved[14]; ///< \~chinese 预留 \~english Reserved }MV_ACTION_CMD_INFO; /// \~chinese 动作命令返回信息 \~english Action Command Result typedef struct _MV_ACTION_CMD_RESULT_T { unsigned char strDeviceAddress[12 + 3 + 1]; ///< [OUT] \~chinese 设备IP \~english IP address of the device int nStatus; ///< [OUT] \~chinese 状态码 \~english status code returned by the device //1.0x0000:success. //2.0x8001:Command is not supported by the device. //3.0x8013:The device is not synchronized to a master clock to be used as time reference. //4.0x8015:A device queue or packet data has overflowed. //5.0x8016:The requested scheduled action command was requested at a time that is already past. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MV_ACTION_CMD_RESULT; /// \~chinese 动作命令返回信息列表 \~english Action Command Result List typedef struct _MV_ACTION_CMD_RESULT_LIST_T { unsigned int nNumResults; ///< [OUT] \~chinese 返回值个数 \~english Number of returned values MV_ACTION_CMD_RESULT* pResults; ///< [OUT] \~chinese 动作命令结果 \~english Reslut of action command }MV_ACTION_CMD_RESULT_LIST; /// \~chinese 每个节点对应的接口类型 \~english Interface type corresponds to each node enum MV_XML_InterfaceType { IFT_IValue, ///< \~chinese Value \~english IValue interface IFT_IBase, ///< \~chinese Base \~english IBase interface IFT_IInteger, ///< \~chinese Integer \~english IInteger interface IFT_IBoolean, ///< \~chinese Boolean \~english IBoolean interface IFT_ICommand, ///< \~chinese Command \~english ICommand interface IFT_IFloat, ///< \~chinese Float \~english IFloat interface IFT_IString, ///< \~chinese String \~english IString interface IFT_IRegister, ///< \~chinese Register \~english IRegister interface IFT_ICategory, ///< \~chinese Category \~english ICategory interface IFT_IEnumeration, ///< \~chinese Enumeration \~english IEnumeration interface IFT_IEnumEntry, ///< \~chinese EnumEntry \~english IEnumEntry interface IFT_IPort, ///< \~chinese Port \~english IPort interface }; /// \~chinese 节点的访问模式 \~english Node Access Mode enum MV_XML_AccessMode { AM_NI, ///< \~chinese 不可实现 \~english Not implemented AM_NA, ///< \~chinese 不可用 \~english Not available AM_WO, ///< \~chinese 只写 \~english Write Only AM_RO, ///< \~chinese 只读 \~english Read Only AM_RW, ///< \~chinese 读写 \~english Read and Write AM_Undefined, ///< \~chinese 未定义 \~english Object is not yet initialized AM_CycleDetect, ///< \~chinese 内部用于AccessMode循环检测 \~english used internally for AccessMode cycle detection }; /// \~chinese 最大节点个数 \~english Max Number of Nodes #define MV_MAX_NODE_NUM 256 /// \~chinese 节点名称的最大长度 \~english Max Length of a Node Name #define MV_MAX_NODE_NAME_LEN 64 /// \~chinese 节点名称 \~english Node Name typedef struct _MVCC_NODE_NAME_T { char strName[MV_MAX_NODE_NAME_LEN]; ///< \~chinese 节点名称 \~english Nodes Name unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_NODE_NAME; /// \~chinese 节点列表 \~english Node List typedef struct _MVCC_NODE_NAME_LIST_T { unsigned int nNodeNum; ///< \~chinese 节点个数 \~english Number of Node MVCC_NODE_NAME stNodeName[MV_MAX_NODE_NUM]; ///< \~chinese 节点名称 \~english Node Name unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_NODE_NAME_LIST; /// \~chinese 最大错误个数 \~english Max Number of Error #define MV_MAX_NODE_ERROR_NUM 64 /// \~chinese 导入参数报错时的原因,错误码 \~english Reasons for importing parameter errors code typedef enum _MVCC_NODE_ERR_TYPE_ { MVCC_NODE_ERR_NODE_INVALID = 1, ///< \~chinese 节点不存在 \~english Usually, the operating node does not exist in the device MVCC_NODE_ERR_ACCESS = 2, ///< \~chinese 访问条件错误,通常是节点不可读写 \~english Access condition error, usually due to nodes not being readable or writable MVCC_NODE_ERR_OUT_RANGE = 3, ///< \~chinese 写入越界,超出该节点支持的范围 \~english Write out of bounds, beyond the supported range of this node MVCC_NODE_ERR_VERIFY_FAILD = 4, ///< \~chinese 校验失败,通常是写入的值与文件中的值不匹配 \~english Verification failed, usually due to a mismatch between the written value and the value in the file MVCC_NODE_ERR_OTHER = 100, ///< \~chinese 其它错误,可查阅日志 \~english Other errors, can view logs }MVCC_NODE_ERR_TYPE; /// \~chinese 错误信息 \~english Error Name typedef struct _MVCC_NODE_ERROR_T { char strName[MV_MAX_NODE_NAME_LEN]; ///< \~chinese 节点名称 \~english Nodes Name MVCC_NODE_ERR_TYPE enErrType; ///< \~chinese 错误类型 \~english Error Type unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_NODE_ERROR; /// \~chinese 错误信息列表 \~english Error List typedef struct _MVCC_NODE_ERROR_LIST_T { unsigned int nErrorNum; ///< \~chinese 错误个数 \~english Number of Error MVCC_NODE_ERROR stNodeError[MV_MAX_NODE_ERROR_NUM]; ///< \~chinese 错误信息 \~english Error Name unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_NODE_ERROR_LIST; /// \~chinese 最大XML符号数 \~english Max XML Symbolic Number #define MV_MAX_XML_SYMBOLIC_NUM 64 /// \~chinese 枚举类型值 \~english Enumeration Value typedef struct _MVCC_ENUMVALUE_T { unsigned int nCurValue; ///< [OUT] \~chinese 当前值 \~english Current Value unsigned int nSupportedNum; ///< [OUT] \~chinese 数据的有效数据个数 \~english Number of valid data unsigned int nSupportValue[MV_MAX_XML_SYMBOLIC_NUM]; ///< [OUT] \~chinese 支持的枚举值 \~english Support Value unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_ENUMVALUE; /// \~chinese 最大枚举条目对应的符号数量 \~english Max Enum Entry Symbolic Number #define MV_MAX_ENUM_SYMBOLIC_NUM 256 /// \~chinese 枚举类型值 \~english Enumeration Value typedef struct _MVCC_ENUMVALUE_EX_T { unsigned int nCurValue; ///< [OUT] \~chinese 当前值 \~english Current Value unsigned int nSupportedNum; ///< [OUT] \~chinese 数据的有效数据个数 \~english Number of valid data unsigned int nSupportValue[MV_MAX_ENUM_SYMBOLIC_NUM]; ///< [OUT] \~chinese 支持的枚举值 \~english Support Value unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_ENUMVALUE_EX; /// \~chinese 最大枚举条目对应的符号长度 \~english Max Enum Entry Symbolic Number #define MV_MAX_SYMBOLIC_LEN 64 /// \~chinese 枚举类型条目 \~english Enumeration Entry typedef struct _MVCC_ENUMENTRY_T { unsigned int nValue; ///< [IN] \~chinese 指定值 \~english Value char chSymbolic[MV_MAX_SYMBOLIC_LEN]; ///< [OUT] \~chinese 指定值对应的符号 \~english Symbolic unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_ENUMENTRY; /// \~chinese Int类型值 \~english Int Value typedef struct _MVCC_INTVALUE_T { unsigned int nCurValue; ///< [OUT] \~chinese 当前值 \~english Current Value unsigned int nMax; ///< [OUT] \~chinese 最大值 \~english Max unsigned int nMin; ///< [OUT] \~chinese 最小值 \~english Min unsigned int nInc; ///< [OUT] \~chinese \~english Inc unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_INTVALUE; /// \~chinese Int类型值Ex \~english Int Value Ex typedef struct _MVCC_INTVALUE_EX_T { int64_t nCurValue; ///< [OUT] \~chinese 当前值 \~english Current Value int64_t nMax; ///< [OUT] \~chinese 最大值 \~english Max int64_t nMin; ///< [OUT] \~chinese 最小值 \~english Min int64_t nInc; ///< [OUT] \~chinese Inc \~english Inc unsigned int nReserved[16]; ///< \~chinese 预留 \~english Reserved }MVCC_INTVALUE_EX; /// \~chinese Float类型值 \~english Float Value typedef struct _MVCC_FLOATVALUE_T { float fCurValue; ///< [OUT] \~chinese 当前值 \~english Current Value float fMax; ///< [OUT] \~chinese 最大值 \~english Max float fMin; ///< [OUT] \~chinese 最小值 \~english Min unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_FLOATVALUE; /// \~chinese String类型值 \~english String Value typedef struct _MVCC_STRINGVALUE_T { char chCurValue[256]; ///< [OUT] \~chinese 当前值 \~english Current Value int64_t nMaxLength; ///< [OUT] \~chinese 最大长度 \~english MaxLength unsigned int nReserved[2]; ///< \~chinese 预留 \~english Reserved }MVCC_STRINGVALUE; /// \~chinese 辅助线颜色 \~english Color of Auxiliary Line typedef struct _MVCC_COLORF { float fR; ///< [IN] \~chinese 红色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度 \~english Red,Range[0.0, 1.0] float fG; ///< [IN] \~chinese 绿色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度 \~english Green,Range[0.0, 1.0] float fB; ///< [IN] \~chinese 蓝色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度 \~english Blue,Range[0.0, 1.0] float fAlpha; ///< [IN] \~chinese 透明度,根据像素颜色的相对透明度,范围为[0.0 , 1.0] \~english Alpha,Range[0.0, 1.0] unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_COLORF; /// \~chinese 自定义点 \~english Point defined typedef struct _MVCC_POINTF { float fX; ///< [IN] \~chinese 该点距离图像左边缘距离,根据图像的相对位置,范围为[0.0 , 1.0] \~english Distance From Left,Range[0.0, 1.0] float fY; ///< [IN] \~chinese 该点距离图像上边缘距离,根据图像的相对位置,范围为[0.0 , 1.0] \~english Distance From Top,Range[0.0, 1.0] unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_POINTF; /// \~chinese 矩形框区域信息 \~english Rect Area Info typedef struct _MVCC_RECT_INFO { float fTop; ///< [IN] \~chinese 矩形上边缘距离图像上边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0] \~english Distance From Top,Range[0, 1.0] float fBottom; ///< [IN] \~chinese 矩形下边缘距离图像上边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0] \~english Distance From Top,Range[0, 1.0] float fLeft; ///< [IN] \~chinese 矩形左边缘距离图像左边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0] \~english Distance From Left,Range[0, 1.0] float fRight; ///< [IN] \~chinese 矩形右边缘距离图像左边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0] \~english Distance From Left,Range[0, 1.0] MVCC_COLORF stColor; ///< [IN] \~chinese 辅助线颜色 \~english Color of Auxiliary Line unsigned int nLineWidth; ///< [IN] \~chinese 辅助线宽度,宽度只能是1或2 \~english Width of Auxiliary Line, width is 1 or 2 unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_RECT_INFO; /// \~chinese 圆形框区域信息 \~english Circle Area Info typedef struct _MVCC_CIRCLE_INFO { MVCC_POINTF stCenterPoint; ///< [IN] \~chinese 圆心信息 \~english Circle Point Info float fR1; ///< [IN] \~chinese 宽向半径,根据图像的相对位置[0, 1.0],半径与圆心的位置有关,需保证画出的圆在显示框范围之内,否则报错 \~english Windth Radius, Range[0, 1.0] float fR2; ///< [IN] \~chinese 高向半径,根据图像的相对位置[0, 1.0],半径与圆心的位置有关,需保证画出的圆在显示框范围之内,否则报错 \~english Height Radius, Range[0, 1.0] MVCC_COLORF stColor; ///< [IN] \~chinese 辅助线颜色信息 \~english Color of Auxiliary Line unsigned int nLineWidth; ///< [IN] \~chinese 辅助线宽度,宽度只能是1或2 \~english Width of Auxiliary Line, width is 1 or 2 unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_CIRCLE_INFO; /// \~chinese 线条辅助线信息 \~english Linear Auxiliary Line Info typedef struct _MVCC_LINES_INFO { MVCC_POINTF stStartPoint; ///< [IN] \~chinese 线条辅助线的起始点坐标 \~english The Start Point of Auxiliary Line MVCC_POINTF stEndPoint; ///< [IN] \~chinese 线条辅助线的终点坐标 \~english The End Point of Auxiliary Line MVCC_COLORF stColor; ///< [IN] \~chinese 辅助线颜色信息 \~english Color of Auxiliary Line unsigned int nLineWidth; ///< [IN] \~chinese 辅助线宽度,宽度只能是1或2 \~english Width of Auxiliary Line, width is 1 or 2 unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved }MVCC_LINES_INFO; ///< \~chinese 分时曝光时最多将源图像拆分的个数 \~english The maximum number of source image to be split in time-division exposure #define MV_MAX_SPLIT_NUM 8 /// \~chinese 图像重构的方式 \~english Image reconstruction method typedef enum _MV_IMAGE_RECONSTRUCTION_METHOD_ { MV_SPLIT_BY_LINE = 1, ///< \~chinese 源图像单行拆分成多张图像 \~english Source image split into multiple images by line }MV_IMAGE_RECONSTRUCTION_METHOD; /// \~chinese 图像重构后的图像列表 \~english List of images after image reconstruction typedef struct _MV_OUTPUT_IMAGE_INFO_ { unsigned int nWidth; ///< [OUT] \~chinese 源图像宽 \~english Source Image Width unsigned int nHeight; ///< [OUT] \~chinese 源图像高 \~english Source Image Height enum MvGvspPixelType enPixelType; ///< [OUT] \~chinese 像素格式 \~english Pixel format unsigned char* pBuf; ///< [IN][OUT] \~chinese 输出数据缓存 \~english Output data buffer unsigned int nBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length unsigned int nBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved }MV_OUTPUT_IMAGE_INFO; /// \~chinese 重构图像参数信息 \~english Restructure image parameters typedef struct _MV_RECONSTRUCT_IMAGE_PARAM_ { unsigned int nWidth; ///< [IN] \~chinese 源图像宽 \~english Source Image Width unsigned int nHeight; ///< [IN] \~chinese 源图像高 \~english Source Image Height enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length unsigned int nExposureNum; ///< [IN] \~chinese 曝光个数(1-8] \~english Exposure number MV_IMAGE_RECONSTRUCTION_METHOD enReconstructMethod; ///< [IN] \~chinese 图像重构方式 \~english Image restructuring method MV_OUTPUT_IMAGE_INFO stDstBufList[MV_MAX_SPLIT_NUM]; ///< [OUT] \~chinese 输出数据缓存信息 \~english Output data info unsigned int nRes[4]; }MV_RECONSTRUCT_IMAGE_PARAM; /// \~chinese 串口信息 \~english Serial Port Info typedef struct _MV_CAML_SERIAL_PORT_ { unsigned char chSerialPort[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 串口号 \~english Serial Port unsigned int nRes[4]; ///<\~chinese 预留 \~english Reserved }MV_CAML_SERIAL_PORT; ///< \~chinese 最大支持的串口数量 \~english The maximum number of serial port supported #define MV_MAX_SERIAL_PORT_NUM 64 typedef struct _MV_CAML_SERIAL_PORT_LIST_ { unsigned int nSerialPortNum; //< [OUT] \~chinese 串口数量 \~english Serial Port Num MV_CAML_SERIAL_PORT stSerialPort[MV_MAX_SERIAL_PORT_NUM]; //< [IN][OUT] \~chinese 串口信息 \~english Serial Port Information unsigned int nRes[4]; ///<\~chinese 预留 \~english Reserved }MV_CAML_SERIAL_PORT_LIST; #endif /* _MV_CAMERA_PARAMS_H_ */