ObsoleteCamParams.h 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655
  1. #ifndef _MV_OBSOLETE_CAM_PARAMS_H_
  2. #define _MV_OBSOLETE_CAM_PARAMS_H_
  3. #include "PixelType.h"
  4. /// \~chinese 输出帧的信息 \~english Output Frame Information
  5. typedef struct _MV_FRAME_OUT_INFO_
  6. {
  7. unsigned short nWidth; ///< [OUT] \~chinese 图像宽 \~english Image Width
  8. unsigned short nHeight; ///< [OUT] \~chinese 图像高 \~english Image Height
  9. enum MvGvspPixelType enPixelType; ///< [OUT] \~chinese 像素格式 \~english Pixel Type
  10. unsigned int nFrameNum; ///< [OUT] \~chinese 帧号 \~english Frame Number
  11. unsigned int nDevTimeStampHigh; ///< [OUT] \~chinese 时间戳高32位 \~english Timestamp high 32 bits
  12. unsigned int nDevTimeStampLow; ///< [OUT] \~chinese 时间戳低32位 \~english Timestamp low 32 bits
  13. unsigned int nReserved0; ///< [OUT] \~chinese 保留,8字节对齐 \~english Reserved, 8-byte aligned
  14. int64_t nHostTimeStamp; ///< [OUT] \~chinese 主机生成的时间戳 \~english Host-generated timestamp
  15. unsigned int nFrameLen;
  16. unsigned int nLostPacket; // 本帧丢包数
  17. unsigned int nReserved[2];
  18. }MV_FRAME_OUT_INFO;
  19. /// \~chinese 保存图片参数 \~english Save image type
  20. typedef struct _MV_SAVE_IMAGE_PARAM_T_
  21. {
  22. unsigned char* pData; ///< [IN] \~chinese 输入数据缓存 \~english Input Data Buffer
  23. unsigned int nDataLen; ///< [IN] \~chinese 输入数据大小 \~english Input Data Size
  24. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 输入像素格式 \~english Input Data Pixel Format
  25. unsigned short nWidth; ///< [IN] \~chinese 图像宽 \~english Image Width
  26. unsigned short nHeight; ///< [IN] \~chinese 图像高 \~english Image Height
  27. unsigned char* pImageBuffer; ///< [OUT] \~chinese 输出图片缓存 \~english Output Image Buffer
  28. unsigned int nImageLen; ///< [OUT] \~chinese 输出图片大小 \~english Output Image Size
  29. unsigned int nBufferSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Output buffer size provided
  30. enum MV_SAVE_IAMGE_TYPE enImageType; ///< [IN] \~chinese 输出图片格式 \~english Output Image Format
  31. }MV_SAVE_IMAGE_PARAM;
  32. typedef struct _MV_IMAGE_BASIC_INFO_
  33. {
  34. unsigned short nWidthValue;
  35. unsigned short nWidthMin;
  36. unsigned int nWidthMax;
  37. unsigned int nWidthInc;
  38. unsigned int nHeightValue;
  39. unsigned int nHeightMin;
  40. unsigned int nHeightMax;
  41. unsigned int nHeightInc;
  42. float fFrameRateValue;
  43. float fFrameRateMin;
  44. float fFrameRateMax;
  45. unsigned int enPixelType; ///< [OUT] \~chinese 当前的像素格式 \~english Current pixel format
  46. unsigned int nSupportedPixelFmtNum; ///< [OUT] \~chinese 支持的像素格式种类 \~english Support pixel format
  47. unsigned int enPixelList[MV_MAX_XML_SYMBOLIC_NUM];
  48. unsigned int nReserved[8];
  49. }MV_IMAGE_BASIC_INFO;
  50. /// \~chinese 噪声特性类型 \~english Noise feature type
  51. typedef enum _MV_CC_BAYER_NOISE_FEATURE_TYPE
  52. {
  53. MV_CC_BAYER_NOISE_FEATURE_TYPE_INVALID = 0, ///< \~chinese 无效值 \~english Invalid
  54. MV_CC_BAYER_NOISE_FEATURE_TYPE_PROFILE = 1, ///< \~chinese 噪声曲线 \~english Noise curve
  55. MV_CC_BAYER_NOISE_FEATURE_TYPE_LEVEL = 2, ///< \~chinese 噪声水平 \~english Noise level
  56. MV_CC_BAYER_NOISE_FEATURE_TYPE_DEFAULT = 1, ///< \~chinese 默认值 \~english Default
  57. }MV_CC_BAYER_NOISE_FEATURE_TYPE;
  58. /// \~chinese Bayer格式降噪特性信息 \~english Denoise profile info
  59. typedef struct _MV_CC_BAYER_NOISE_PROFILE_INFO_T_
  60. {
  61. unsigned int nVersion; ///< \~chinese 版本 \~english version
  62. MV_CC_BAYER_NOISE_FEATURE_TYPE enNoiseFeatureType; ///< \~chinese 噪声特性类型 \~english noise feature type
  63. enum MvGvspPixelType enPixelType; ///< \~chinese 图像格式 \~english image format
  64. int nNoiseLevel; ///< \~chinese 平均噪声水平 \~english noise level
  65. unsigned int nCurvePointNum; ///< \~chinese 曲线点数 \~english curve point number
  66. int* nNoiseCurve; ///< \~chinese 噪声曲线 \~english noise curve
  67. int* nLumCurve; ///< \~chinese 亮度曲线 \~english luminance curve
  68. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  69. }MV_CC_BAYER_NOISE_PROFILE_INFO;
  70. /// \~chinese Bayer格式噪声估计参数 \~english Bayer noise estimate param
  71. typedef struct _MV_CC_BAYER_NOISE_ESTIMATE_PARAM_T_
  72. {
  73. unsigned int nWidth; ///< [IN] \~chinese 图像宽(大于等于8) \~english Width
  74. unsigned int nHeight; ///< [IN] \~chinese 图像高(大于等于8) \~english Height
  75. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  76. unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  77. unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据大小 \~english Input data size
  78. unsigned int nNoiseThreshold; ///< [IN] \~chinese 噪声阈值(0-4095) \~english Noise Threshold
  79. unsigned char* pCurveBuf; ///< [IN] \~chinese 用于存储噪声曲线和亮度曲线(需要外部分配,缓存大小:4096 * sizeof(int) * 2) \~english Buffer used to store noise and brightness curves, size:4096 * sizeof(int) * 2)
  80. MV_CC_BAYER_NOISE_PROFILE_INFO stNoiseProfile; ///< [OUT] \~chinese 降噪特性信息 \~english Denoise profile
  81. unsigned int nThreadNum; ///< [IN] \~chinese 线程数量,0表示算法库根据硬件自适应;1表示单线程(默认);大于1表示线程数目 \~english Thread number, 0 means that the library is adaptive to the hardware, 1 means single thread(Default value), Greater than 1 indicates the number of threads
  82. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  83. }MV_CC_BAYER_NOISE_ESTIMATE_PARAM;
  84. /// \~chinese Bayer格式空域降噪参数 \~english Bayer spatial Denoise param
  85. typedef struct _MV_CC_BAYER_SPATIAL_DENOISE_PARAM_T_
  86. {
  87. unsigned int nWidth; ///< [IN] \~chinese 图像宽(大于等于8) \~english Width
  88. unsigned int nHeight; ///< [IN] \~chinese 图像高(大于等于8) \~english Height
  89. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  90. unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  91. unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据大小 \~english Input data size
  92. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出降噪后的数据 \~english Output data buffer
  93. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  94. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出降噪后的数据长度 \~english Output data length
  95. MV_CC_BAYER_NOISE_PROFILE_INFO stNoiseProfile; ///< [IN] \~chinese 降噪特性信息(来源于噪声估计) \~english Denoise profile
  96. unsigned int nDenoiseStrength; ///< [IN] \~chinese 降噪强度(0-100) \~english nDenoise Strength
  97. unsigned int nSharpenStrength; ///< [IN] \~chinese 锐化强度(0-32) \~english Sharpen Strength
  98. unsigned int nNoiseCorrect; ///< [IN] \~chinese 噪声校正系数(0-1280) \~english Noise Correct
  99. unsigned int nThreadNum; ///< [IN] \~chinese 线程数量,0表示算法库根据硬件自适应;1表示单线程(默认);大于1表示线程数目 \~english Thread number, 0 means that the library is adaptive to the hardware, 1 means single thread(Default value), Greater than 1 indicates the number of threads
  100. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  101. }MV_CC_BAYER_SPATIAL_DENOISE_PARAM;
  102. /// \~chinese CLUT参数 \~english CLUT param
  103. typedef struct _MV_CC_CLUT_PARAM_T_
  104. {
  105. bool bCLUTEnable; ///< [IN] \~chinese 是否启用CLUT \~english CLUT enable
  106. unsigned int nCLUTScale; ///< [IN] \~chinese 量化系数(2的整数幂,最大65536) \~english Quantitative scale(Integer power of 2, <= 65536)
  107. unsigned int nCLUTSize; ///< [IN] \~chinese CLUT大小,目前仅支持17 \~english CLUT size, currently only supports 17
  108. unsigned char* pCLUTBuf; ///< [IN] \~chinese 量化CLUT表 \~english CLUT buffer
  109. unsigned int nCLUTBufLen; ///< [IN] \~chinese 量化CLUT缓存大小(nCLUTSize*nCLUTSize*nCLUTSize*sizeof(int)*3) \~english CLUT buffer length(nCLUTSize*nCLUTSize*nCLUTSize*sizeof(int)*3)
  110. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  111. }MV_CC_CLUT_PARAM;
  112. /// \~chinese 锐化结构体 \~english Sharpen structure
  113. typedef struct _MV_CC_SHARPEN_PARAM_T_
  114. {
  115. unsigned int nWidth; ///< [IN] \~chinese 图像宽度(最小8) \~english Image Width
  116. unsigned int nHeight; ///< [IN] \~chinese 图像高度(最小8) \~english Image Height
  117. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  118. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据大小 \~english Input data length
  119. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  120. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  121. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  122. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  123. unsigned int nSharpenAmount; ///< [IN] \~chinese 锐度调节强度,[0,500] \~english Sharpen amount,[0,500] // [nSharpenAmount 作废, 使用 nSharpenPosAmount & nSharpenNegAmount 替代 ]
  124. unsigned int nSharpenRadius; ///< [IN] \~chinese 锐度调节半径(半径越大,耗时越长),[1,21] \~english Sharpen radius(The larger the radius, the longer it takes),[1,21]
  125. unsigned int nSharpenThreshold; ///< [IN] \~chinese 锐度调节阈值,[0,255] \~english Sharpen threshold,[0,255]
  126. unsigned int nSharpenPosAmount; // [IN] 锐度调节正向强度,范围:[0, 500]
  127. unsigned int nSharpenNegAmount; // [IN] 锐度调节负向强度,范围:[0, 500]
  128. unsigned int nRes[6]; ///< \~chinese 预留 \~english Reserved
  129. }MV_CC_SHARPEN_PARAM;
  130. /// \~chinese 色彩校正结构体 \~english Color correct structure
  131. typedef struct _MV_CC_COLOR_CORRECT_PARAM_T_
  132. {
  133. unsigned int nWidth; ///< [IN] \~chinese 图像宽度 \~english Image Width
  134. unsigned int nHeight; ///< [IN] \~chinese 图像高度 \~english Image Height
  135. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  136. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据大小 \~english Input data length
  137. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  138. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  139. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  140. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  141. unsigned int nImageBit; ///< [IN] \~chinese 有效图像位数(8,10,12,16) \~english Image bit(8 or 10 or 12 or 16)
  142. MV_CC_GAMMA_PARAM stGammaParam; ///< [IN] \~chinese Gamma信息 \~english Gamma info
  143. MV_CC_CCM_PARAM_EX stCCMParam; ///< [IN] \~chinese CCM信息 \~english CCM info
  144. MV_CC_CLUT_PARAM stCLUTParam; ///< [IN] \~chinese CLUT信息 \~english CLUT info
  145. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  146. }MV_CC_COLOR_CORRECT_PARAM;
  147. /// \~chinese 矩形ROI结构体 \~english Rect ROI structure
  148. typedef struct _MV_CC_RECT_I_
  149. {
  150. unsigned int nX; ///< \~chinese 矩形左上角X轴坐标 \~english X Position
  151. unsigned int nY; ///< \~chinese 矩形左上角Y轴坐标 \~english Y Position
  152. unsigned int nWidth; ///< \~chinese 矩形宽度 \~english Rect Width
  153. unsigned int nHeight; ///< \~chinese 矩形高度 \~english Rect Height
  154. }MV_CC_RECT_I;
  155. /// \~chinese 噪声估计结构体 \~english Noise estimate structure
  156. typedef struct _MV_CC_NOISE_ESTIMATE_PARAM_T_
  157. {
  158. unsigned int nWidth; ///< [IN] \~chinese 图像宽度(最小8) \~english Image Width
  159. unsigned int nHeight; ///< [IN] \~chinese 图像高度(最小8) \~english Image Height
  160. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  161. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  162. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据大小 \~english Input data length
  163. MV_CC_RECT_I* pstROIRect; ///< [IN] \~chinese 图像ROI \~english Image ROI
  164. unsigned int nROINum; ///< [IN] \~chinese ROI个数 \~english ROI number
  165. ///< \~chinese Bayer域噪声估计参数,Mono8/RGB域无效 \~english Bayer Noise estimate param,Mono8/RGB formats are invalid
  166. unsigned int nNoiseThreshold; ///< [IN] \~chinese 噪声阈值[0,4095] \~english Noise threshold[0,4095]
  167. ///< \~chinese 建议值:8bit,0xE0;10bit,0x380;12bit,0xE00 \~english Suggestive value:8bit,0xE0;10bit,0x380;12bit,0xE00
  168. unsigned char* pNoiseProfile; ///< [OUT] \~chinese 输出噪声特性 \~english Output Noise Profile
  169. unsigned int nNoiseProfileSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  170. unsigned int nNoiseProfileLen; ///< [OUT] \~chinese 输出噪声特性长度 \~english Output Noise Profile length
  171. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  172. }MV_CC_NOISE_ESTIMATE_PARAM;
  173. /// \~chinese 空域降噪结构体 \~english Spatial denoise structure
  174. typedef struct _MV_CC_SPATIAL_DENOISE_PARAM_T_
  175. {
  176. unsigned int nWidth; ///< [IN] \~chinese 图像宽度(最小8) \~english Image Width
  177. unsigned int nHeight; ///< [IN] \~chinese 图像高度(最小8) \~english Image Height
  178. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  179. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  180. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据大小 \~english Input data length
  181. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出降噪后的数据 \~english Output data buffer
  182. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  183. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出降噪后的数据长度 \~english Output data length
  184. unsigned char* pNoiseProfile; ///< [IN] \~chinese 输入噪声特性 \~english Input Noise Profile
  185. unsigned int nNoiseProfileLen; ///< [IN] \~chinese 输入噪声特性长度 \~english Input Noise Profile length
  186. ///< \~chinese Bayer域空域降噪参数,Mono8/RGB域无效 \~english Bayer Spatial denoise param,Mono8/RGB formats are invalid
  187. unsigned int nBayerDenoiseStrength; ///< [IN] \~chinese 降噪强度[0,100] \~english Denoise Strength[0,100]
  188. unsigned int nBayerSharpenStrength; ///< [IN] \~chinese 锐化强度[0,32] \~english Sharpen Strength[0,32]
  189. unsigned int nBayerNoiseCorrect; ///< [IN] \~chinese 噪声校正系数[0,1280] \~english Noise Correct[0,1280]
  190. ///< \~chinese Mono8/RGB域空域降噪参数,Bayer域无效 \~english Mono8/RGB Spatial denoise param,Bayer formats are invalid
  191. unsigned int nNoiseCorrectLum; ///< [IN] \~chinese 亮度校正系数[1,2000] \~english Noise Correct Lum[1,2000]
  192. unsigned int nNoiseCorrectChrom; ///< [IN] \~chinese 色调校正系数[1,2000] \~english Noise Correct Chrom[1,2000]
  193. unsigned int nStrengthLum; ///< [IN] \~chinese 亮度降噪强度[0,100] \~english Strength Lum[0,100]
  194. unsigned int nStrengthChrom; ///< [IN] \~chinese 色调降噪强度[0,100] \~english Strength Chrom[0,100]
  195. unsigned int nStrengthSharpen; ///< [IN] \~chinese 锐化强度[1,1000] \~english Strength Sharpen[1,1000]
  196. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  197. }MV_CC_SPATIAL_DENOISE_PARAM;
  198. /// \~chinese LSC标定结构体 \~english LSC calib structure
  199. typedef struct _MV_CC_LSC_CALIB_PARAM_T_
  200. {
  201. unsigned int nWidth; ///< [IN] \~chinese 图像宽度[16,65535] \~english Image Width
  202. unsigned int nHeight; ///< [IN] \~chinese 图像高度[16-65535] \~english Image Height
  203. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  204. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  205. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length
  206. unsigned char* pCalibBuf; ///< [OUT] \~chinese 输出标定表缓存 \~english Output calib buffer
  207. unsigned int nCalibBufSize; ///< [IN] \~chinese 提供的标定表缓冲大小(nWidth*nHeight*sizeof(unsigned short)) \~english Provided output buffer size
  208. unsigned int nCalibBufLen; ///< [OUT] \~chinese 输出标定表缓存长度 \~english Output calib buffer length
  209. unsigned int nSecNumW; ///< [IN] \~chinese 宽度分块数 \~english Width Sec num
  210. unsigned int nSecNumH; ///< [IN] \~chinese 高度分块数 \~english Height Sec num
  211. unsigned int nPadCoef; ///< [IN] \~chinese 边缘填充系数[1,5] \~english Pad Coef[1,5]
  212. unsigned int nCalibMethod; ///< [IN] \~chinese 标定方式(0-中心为基准;1-最亮区域为基准;2-目标亮度为基准) \~english Calib method
  213. unsigned int nTargetGray; ///< [IN] \~chinese 目标亮度(标定方式为2时有效) \~english Target Gray
  214. ///< \~chinese 8位,范围:[0,255] \~english 8bit,range:[0,255]
  215. ///< \~chinese 10位,范围:[0,1023] \~english 10bit,range:[0,1023]
  216. ///< \~chinese 12位,范围:[0,4095] \~english 12bit,range:[0,4095]
  217. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  218. }MV_CC_LSC_CALIB_PARAM;
  219. /// \~chinese LSC校正结构体 \~english LSC correct structure
  220. typedef struct _MV_CC_LSC_CORRECT_PARAM_T_
  221. {
  222. unsigned int nWidth; ///< [IN] \~chinese 图像宽度[16,65535] \~english Image Width
  223. unsigned int nHeight; ///< [IN] \~chinese 图像高度[16,65535] \~english Image Height
  224. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  225. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  226. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length
  227. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  228. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  229. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  230. unsigned char* pCalibBuf; ///< [IN] \~chinese 输入标定表缓存 \~english Input calib buffer
  231. unsigned int nCalibBufLen; ///< [IN] \~chinese 输入标定表缓存长度 \~english Input calib buffer length
  232. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  233. }MV_CC_LSC_CORRECT_PARAM;
  234. /// \~chinese 某个节点对应的子节点个数最大值 \~english The maximum number of child nodes corresponding to a node
  235. #define MV_MAX_XML_NODE_NUM_C 128
  236. /// \~chinese 节点名称字符串最大长度 \~english The maximum length of node name string
  237. #define MV_MAX_XML_NODE_STRLEN_C 64
  238. /// \~chinese 节点String值最大长度 \~english The maximum length of Node String
  239. #define MV_MAX_XML_STRVALUE_STRLEN_C 64
  240. /// \~chinese 节点描述字段最大长度 \~english The maximum length of the node description field
  241. #define MV_MAX_XML_DISC_STRLEN_C 512
  242. /// \~chinese 最多的单元数 \~english The maximum number of units
  243. #define MV_MAX_XML_ENTRY_NUM 10
  244. /// \~chinese 父节点个数上限 \~english The maximum number of parent nodes
  245. #define MV_MAX_XML_PARENTS_NUM 8
  246. /// \~chinese 每个已经实现单元的名称长度 \~english The length of the name of each unit that has been implemented
  247. #define MV_MAX_XML_SYMBOLIC_STRLEN_C 64
  248. enum MV_XML_Visibility
  249. {
  250. V_Beginner = 0, ///< Always visible
  251. V_Expert = 1, ///< Visible for experts or Gurus
  252. V_Guru = 2, ///< Visible for Gurus
  253. V_Invisible = 3, ///< Not Visible
  254. V_Undefined = 99 ///< Object is not yet initialized
  255. };
  256. /// \~chinese 单个节点基本属性 | en:Single Node Basic Attributes
  257. typedef struct _MV_XML_NODE_FEATURE_
  258. {
  259. enum MV_XML_InterfaceType enType; ///< \~chinese 节点类型 \~english Node Type
  260. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Is visibility
  261. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述,目前暂不支持 \~english Node Description, NOT SUPPORT NOW
  262. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称 \~english Display Name
  263. char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名 \~english Node Name
  264. char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示 \~english Notice
  265. unsigned int nReserved[4];
  266. }MV_XML_NODE_FEATURE;
  267. /// \~chinese 节点列表 | en:Node List
  268. typedef struct _MV_XML_NODES_LIST_
  269. {
  270. unsigned int nNodeNum; ///< \~chinese 节点个数 \~english Node Number
  271. MV_XML_NODE_FEATURE stNodes[MV_MAX_XML_NODE_NUM_C];
  272. }MV_XML_NODES_LIST;
  273. typedef struct _MV_XML_FEATURE_Value_
  274. {
  275. enum MV_XML_InterfaceType enType; ///< \~chinese 节点类型 \~english Node Type
  276. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述,目前暂不支持 \~english Node Description, NOT SUPPORT NOW
  277. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称 \~english Display Name
  278. char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名 \~english Node Name
  279. char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示 \~english Notice
  280. unsigned int nReserved[4];
  281. }MV_XML_FEATURE_Value;
  282. typedef struct _MV_XML_FEATURE_Base_
  283. {
  284. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  285. }MV_XML_FEATURE_Base;
  286. typedef struct _MV_XML_FEATURE_Integer_
  287. {
  288. char strName[MV_MAX_XML_NODE_STRLEN_C];
  289. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  290. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  291. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  292. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  293. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  294. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  295. int64_t nValue; ///< \~chinese 当前值 \~english Current Value
  296. int64_t nMinValue; ///< \~chinese 最小值 \~english Min Value
  297. int64_t nMaxValue; ///< \~chinese 最大值 \~english Max Value
  298. int64_t nIncrement; ///< \~chinese 增量 \~english Increment
  299. unsigned int nReserved[4];
  300. }MV_XML_FEATURE_Integer;
  301. typedef struct _MV_XML_FEATURE_Boolean_
  302. {
  303. char strName[MV_MAX_XML_NODE_STRLEN_C];
  304. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  305. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  306. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  307. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  308. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  309. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  310. bool bValue; ///< \~chinese 当前值 \~english Current Value
  311. unsigned int nReserved[4];
  312. }MV_XML_FEATURE_Boolean;
  313. typedef struct _MV_XML_FEATURE_Command_
  314. {
  315. char strName[MV_MAX_XML_NODE_STRLEN_C];
  316. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  317. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  318. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  319. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  320. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  321. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  322. unsigned int nReserved[4];
  323. }MV_XML_FEATURE_Command;
  324. typedef struct _MV_XML_FEATURE_Float_
  325. {
  326. char strName[MV_MAX_XML_NODE_STRLEN_C];
  327. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  328. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  329. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  330. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  331. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  332. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  333. double dfValue; ///< \~chinese 当前值 \~english Current Value
  334. double dfMinValue; ///< \~chinese 最小值 \~english Min Value
  335. double dfMaxValue; ///< \~chinese 最大值 \~english Max Value
  336. double dfIncrement; ///< \~chinese 增量 \~english Increment
  337. unsigned int nReserved[4];
  338. }MV_XML_FEATURE_Float;
  339. typedef struct _MV_XML_FEATURE_String_
  340. {
  341. char strName[MV_MAX_XML_NODE_STRLEN_C];
  342. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  343. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  344. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  345. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  346. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  347. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  348. char strValue[MV_MAX_XML_STRVALUE_STRLEN_C]; ///< \~chinese 当前值 \~english Current Value
  349. unsigned int nReserved[4];
  350. }MV_XML_FEATURE_String;
  351. typedef struct _MV_XML_FEATURE_Register_
  352. {
  353. char strName[MV_MAX_XML_NODE_STRLEN_C];
  354. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  355. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  356. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  357. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  358. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  359. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  360. int64_t nAddrValue; ///< \~chinese 当前值 \~english Current Value
  361. unsigned int nReserved[4];
  362. }MV_XML_FEATURE_Register;
  363. typedef struct _MV_XML_FEATURE_Category_
  364. {
  365. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述 目前暂不支持 \~english Node Description, NOT SUPPORT NOW
  366. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称 \~english Display Name
  367. char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名 \~english Node Name
  368. char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示 \~english Notice
  369. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  370. unsigned int nReserved[4];
  371. }MV_XML_FEATURE_Category;
  372. typedef struct _MV_XML_FEATURE_EnumEntry_
  373. {
  374. char strName[MV_MAX_XML_NODE_STRLEN_C];
  375. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  376. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  377. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  378. int bIsImplemented;
  379. int nParentsNum;
  380. MV_XML_NODE_FEATURE stParentsList[MV_MAX_XML_PARENTS_NUM];
  381. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  382. int64_t nValue; ///< \~chinese 当前值 \~english Current Value
  383. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  384. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  385. int nReserved[8];
  386. }MV_XML_FEATURE_EnumEntry;
  387. typedef struct _MV_XML_FEATURE_Enumeration_
  388. {
  389. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  390. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述 目前暂不支持 \~english Node Description, NOT SUPPORT NOW
  391. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称 \~english Display Name
  392. char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名 \~english Node Name
  393. char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示 \~english Notice
  394. int nSymbolicNum; ///< \~chinese ymbolic数 \~english Symbolic Number
  395. char strCurrentSymbolic[MV_MAX_XML_SYMBOLIC_STRLEN_C];///< \~chinese 当前Symbolic索引 \~english Current Symbolic Index
  396. char strSymbolic[MV_MAX_XML_SYMBOLIC_NUM][MV_MAX_XML_SYMBOLIC_STRLEN_C];
  397. enum MV_XML_AccessMode enAccessMode; ////< \~chinese 访问模式 \~english Access Mode
  398. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  399. int64_t nValue; ///< \~chinese 当前值 \~english Current Value
  400. unsigned int nReserved[4];
  401. }MV_XML_FEATURE_Enumeration;
  402. typedef struct _MV_XML_FEATURE_Port_
  403. {
  404. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  405. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述,目前暂不支持 \~english Node Description, NOT SUPPORT NOW
  406. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称 \~english Display Name
  407. char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名 \~english Node Name
  408. char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示 \~english Notice
  409. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  410. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  411. unsigned int nReserved[4];
  412. }MV_XML_FEATURE_Port;
  413. typedef struct _MV_XML_CAMERA_FEATURE_
  414. {
  415. enum MV_XML_InterfaceType enType;
  416. union
  417. {
  418. MV_XML_FEATURE_Integer stIntegerFeature;
  419. MV_XML_FEATURE_Float stFloatFeature;
  420. MV_XML_FEATURE_Enumeration stEnumerationFeature;
  421. MV_XML_FEATURE_String stStringFeature;
  422. }SpecialFeature;
  423. }MV_XML_CAMERA_FEATURE;
  424. /// \~chinese 图片保存参数 \~english Save Image Parameters
  425. typedef struct _MV_SAVE_IMAGE_PARAM_T_EX_
  426. {
  427. unsigned char* pData; ///< [IN] \~chinese 输入数据缓存 \~english Input Data Buffer
  428. unsigned int nDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input Data length
  429. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 输入数据的像素格式 \~english Input Data Pixel Format
  430. unsigned short nWidth; ///< [IN] \~chinese 图像宽 \~english Image Width
  431. unsigned short nHeight; ///< [IN] \~chinese 图像高 \~english Image Height
  432. unsigned char* pImageBuffer; ///< [OUT] \~chinese 输出图片缓存 \~english Output Image Buffer
  433. unsigned int nImageLen; ///< [OUT] \~chinese 输出图片长度 \~english Output Image length
  434. unsigned int nBufferSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Output buffer size provided
  435. enum MV_SAVE_IAMGE_TYPE enImageType; ///< [IN] \~chinese 输出图片格式 \~english Output Image Format
  436. unsigned int nJpgQuality; ///< [IN] \~chinese JPG编码质量(50-99],其它格式无效 \~english Encoding quality(50-99],Other formats are invalid
  437. unsigned int iMethodValue; ///< [IN] \~chinese 插值方法 0-快速 1-均衡(其它值默认为均衡) 2-最优 3-最优+ \~english Bayer interpolation method 0-Fast 1-Equilibrium 2-Optimal 3-Optimal+
  438. unsigned int nReserved[3]; ///< \~chinese 预留 \~english Reserved
  439. }MV_SAVE_IMAGE_PARAM_EX;
  440. /// \~chinese 图片保存参数 \~english Save Image Parameters
  441. typedef struct _MV_SAVE_IMG_TO_FILE_PARAM_
  442. {
  443. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese输入数据的像素格式 \~english The pixel format of the input data
  444. unsigned char* pData; ///< [IN] \~chinese 输入数据缓存 \~english Input Data Buffer
  445. unsigned int nDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input Data length
  446. unsigned short nWidth; ///< [IN] \~chinese 图像宽 \~english Image Width
  447. unsigned short nHeight; ///< [IN] \~chinese 图像高 \~english Image Height
  448. enum MV_SAVE_IAMGE_TYPE enImageType; ///< [IN] \~chinese 输入图片格式 \~english Input Image Format
  449. unsigned int nQuality; ///< [IN] \~chinese JPG编码质量(50-99],其它格式无效 \~english JPG Encoding quality(50-99],Other formats are invalid
  450. char pImagePath[256]; ///< [IN] \~chinese 输入文件路径 \~english Input file path
  451. int iMethodValue; ///< [IN] \~chinese 插值方法 0-快速 1-均衡(其它值默认为均衡) 2-最优 3-最优+ \~english Bayer interpolation method 0-Fast 1-Equilibrium 2-Optimal 3-Optimal+
  452. unsigned int nReserved[8]; ///< \~chinese 预留 \~english Reserved
  453. }MV_SAVE_IMG_TO_FILE_PARAM;
  454. // \~chinese 像素转换结构体 \~english Pixel convert structure
  455. typedef struct _MV_CC_PIXEL_CONVERT_PARAM_
  456. {
  457. unsigned short nWidth; ///< [IN] \~chinese 图像宽 \~english Width
  458. unsigned short nHeight; ///< [IN] \~chinese 图像高 \~english Height
  459. enum MvGvspPixelType enSrcPixelType; ///< [IN] \~chinese 源像素格式 \~english Source pixel format
  460. unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  461. unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length
  462. enum MvGvspPixelType enDstPixelType; ///< [IN] \~chinese 目标像素格式 \~english Destination pixel format
  463. unsigned char* pDstBuffer; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  464. unsigned int nDstLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  465. unsigned int nDstBufferSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  466. unsigned int nRes[4]; ///< \~chinese 预留 \~english Reserved
  467. }MV_CC_PIXEL_CONVERT_PARAM;
  468. /// \~chinese 保存的3D数据格式 \~english The saved format for 3D data
  469. enum MV_SAVE_POINT_CLOUD_FILE_TYPE
  470. {
  471. MV_PointCloudFile_Undefined = 0, ///< \~chinese 未定义的点云格式 \~english Undefined point cloud format
  472. MV_PointCloudFile_PLY = 1, ///< \~chinese PLY点云格式 \~english The point cloud format named PLY
  473. MV_PointCloudFile_CSV = 2, ///< \~chinese CSV点云格式 \~english The point cloud format named CSV
  474. MV_PointCloudFile_OBJ = 3, ///< \~chinese OBJ点云格式 \~english The point cloud format named OBJ
  475. };
  476. /// \~chinese 保存3D数据到缓存 \~english Save 3D data to buffer
  477. typedef struct _MV_SAVE_POINT_CLOUD_PARAM_
  478. {
  479. unsigned int nLinePntNum; ///< [IN] \~chinese 行点数,即图像宽 \~english The number of points in each row,which is the width of the image
  480. unsigned int nLineNum; ///< [IN] \~chinese 行数,即图像高 \~english The number of rows,which is the height of the image
  481. enum MvGvspPixelType enSrcPixelType; ///< [IN] \~chinese 输入数据的像素格式 \~english The pixel format of the input data
  482. unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  483. unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length
  484. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出像素数据缓存 \~english Output pixel data buffer
  485. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小(nLinePntNum * nLineNum * (16*3 + 4) + 2048) \~english Output buffer size provided(nLinePntNum * nLineNum * (16*3 + 4) + 2048)
  486. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出像素数据缓存长度 \~english Output pixel data buffer size
  487. enum MV_SAVE_POINT_CLOUD_FILE_TYPE enPointCloudFileType; ///< [IN] \~chinese 提供输出的点云文件类型 \~english Output point data file type provided
  488. unsigned int nReserved[8]; ///< \~chinese 保留字段 \~english Reserved
  489. }MV_SAVE_POINT_CLOUD_PARAM;
  490. /// \~chinese 显示帧信息 \~english Display frame information
  491. typedef struct _MV_DISPLAY_FRAME_INFO_
  492. {
  493. void* hWnd; ///< [IN] \~chinese 窗口句柄 \~english HWND
  494. unsigned char* pData; ///< [IN] \~chinese 显示的数据 \~english Data Buffer
  495. unsigned int nDataLen; ///< [IN] \~chinese 数据长度 \~english Data Size
  496. unsigned short nWidth; ///< [IN] \~chinese 图像宽 \~english Width
  497. unsigned short nHeight; ///< [IN] \~chinese 图像高 \~english Height
  498. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  499. 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)
  500. unsigned int nRes[3]; ///< \~chinese 保留 \~english Reserved
  501. }MV_DISPLAY_FRAME_INFO;
  502. #endif /* _MV_OBSOLETE_CAM_PARAMS_H_ */