zxd
2023-09-20 ad1b4b8c22b019d300af6d053e120fc830512ebd
提交 | 用户 | age
4b03ae 1 #ifndef MVGIGE_H_INCLUDE_
Q 2 #define MVGIGE_H_INCLUDE_
3
4 #ifdef MVGIGE_EXPORTS
5 #define MVGIGE_API __declspec(dllexport)
6 #else
7 #define MVGIGE_API __declspec(dllimport)
8 #endif
9
10 #include "GigECamera_Types.h"
11 #include "MVimage.h"
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 /*!
18  *  \brief 初始化函数库。在调用函数所有函数之前调用。
19   *  \retval      MVST_SUCCESS            : 成功
20  */
21 MVGIGE_API MVSTATUS_CODES __stdcall MVInitLib();
22
23 /*!
24  *  \brief 退出函数库。在程序退出前调用,以释放资源。
25   *  \retval      MVST_SUCCESS            : 成功
26  */
27 MVGIGE_API MVSTATUS_CODES __stdcall MVTerminateLib();
28
29 /*! 
30  *  \brief    查找连接到计算机上的相机
31  *  \retval 
32  */
33 MVGIGE_API MVSTATUS_CODES __stdcall MVUpdateCameraList();
34
35 /*! 
36  *  \brief    获取连接到计算机上的相机的数量
37  *  \param [out]    pNumCams    相机数量
38  *  \retval MVST_SUCCESS            : 成功
39  */
40 MVGIGE_API MVSTATUS_CODES __stdcall MVGetNumOfCameras(int *pNumCams);
41
42 /*! 
43  *  \brief    得到第idx个相机的信息。
44  *  \param [in]    idx idx从0开始,按照相机的IP地址排序,地址小的排在前面。
45  *  \param [out]    pCamInfo  相机的信息 (IP,MAC,SN,型号...) 
46  *  \retval MVST_SUCCESS            : 成功
47  */
48 MVGIGE_API MVSTATUS_CODES __stdcall MVGetCameraInfo(unsigned char idx,MVCamInfo *pCamInfo);
49
50 /*! 
51  *  \brief    打开第idx个相机
52  *  \param [in]    idx    idx从0开始,按照相机的IP地址排序,地址小的排在前面。
53  *  \param [out]    hCam 如果成功,返回的相机句柄
54  *  \retval MVST_INVALID_PARAMETER : idx取值不对
55  *            MVST_ACCESS_DENIED        : 相机无法访问,可能正被别的软件控制
56  *            MVST_ERROR                : 其他错误
57  *            MVST_SUCCESS            : 成功
58  */
59 MVGIGE_API MVSTATUS_CODES __stdcall MVOpenCamByIndex(unsigned char idx,HANDLE *hCam);
60
61 /*! 
62  *  \brief    打开指定UserDefinedName的相机
63  *  \param [in]    name UserDefinedName。
64  *  \param [out] hCam 如果成功,返回的相机句柄。如果失败,为NULL。
65  *  \retval 
66  *            MVST_ACCESS_DENIED        : 相机无法访问,可能正被别的软件控制
67  *            MVST_ERROR                : 其他错误
68  *            MVST_SUCCESS            : 成功
69  */
70 MVGIGE_API MVSTATUS_CODES __stdcall MVOpenCamByUserDefinedName( char *name,HANDLE *hCam );
71
72 /*! 
73  *  \brief    关闭相机。断开和相机的连接。
74  *  \param [in]    hCam 相机的句柄
75  *  \retval MVST_SUCCESS            : 成功
76  */
77 MVGIGE_API MVSTATUS_CODES __stdcall MVCloseCam(HANDLE hCam);
78
79 /*!
80  * \brief    读取图像宽度
81  * \param [in]    HANDLE hCam        相机句柄
82  * \param [out]    int * pWidth    图像宽度[像素]
83  * \retval      MVST_SUCCESS            : 成功
84  */
85 MVGIGE_API MVSTATUS_CODES __stdcall MVGetWidth(HANDLE hCam,int *pWidth);
86
87 /*!
88  *  \brief 读取图像宽度可设置的范围
89  *  \param [in]    HANDLE hCam        相机句柄
90  *  \param [out]    int * pWidthMin    图像宽度可设置的最小值
91  *  \param [out]    int * pWidthMax    图像宽度可设置的最大值
92  *  \retval      MVST_SUCCESS            : 成功
93  */
94 MVGIGE_API MVSTATUS_CODES __stdcall MVGetWidthRange(HANDLE hCam,int *pWidthMin,int *pWidthMax);
95
96 /*!
97  *  \brief 读取图像宽度调整的步长
98  *  \param [in]    HANDLE hCam        相机句柄
99  *  \param [out] int * pWidthInc    图像宽度的调整的步长,即图像的宽度 = 最小宽度 + 步长 x 整数
100   *  \retval      MVST_SUCCESS            : 成功
101  */
102 MVGIGE_API MVSTATUS_CODES __stdcall MVGetWidthInc(HANDLE hCam,int *pWidthInc);
103
104 /*!
105  *  \brief 设置图像的宽度
106  *  \param [in]    HANDLE hCam        相机句柄
107  *  \param [in]    int nWidth    图像宽度,应该在宽度可设置范围之内,并且 = 最小宽度 + 步长 x 整数
108  *  \retval      MVST_SUCCESS            : 成功
109  */
110 MVGIGE_API MVSTATUS_CODES __stdcall MVSetWidth(HANDLE hCam,int nWidth);
111
112 /*!
113  * \brief    读取图像高度
114  * \param [in]    HANDLE hCam        相机句柄
115  * \param [out]    int * pHeight    图像高度[像素]
116  * \retval      MVST_SUCCESS            : 成功
117  */
118 MVGIGE_API MVSTATUS_CODES __stdcall MVGetHeight(HANDLE hCam,int *pHeight);
119
120 /*!
121  *  \brief 读取图像高度可设置的范围
122  *  \param [in]    HANDLE hCam        相机句柄
123  *  \param [out]    int * pHeightMin    图像高度可设置的最小值
124  *  \param [out]    int * pHeightMax    图像高度可设置的最大值
125  *  \retval      MVST_SUCCESS            : 成功
126  */
127 MVGIGE_API MVSTATUS_CODES __stdcall MVGetHeightRange(HANDLE hCam,int *pHeightMin,int *pHeightMax);
128
129 /*!
130  *  \brief 设置图像的高度
131  *  \param [in]    HANDLE hCam        相机句柄
132  *  \param [in]    int nHeight    图像高度,应该在高度可设置范围之内
133  *  \retval      MVST_SUCCESS            : 成功
134  */
135 MVGIGE_API MVSTATUS_CODES __stdcall MVSetHeight(HANDLE hCam,int nHeight);
136
137 /*!
138  *  \brief 读取水平方向偏移量。图像宽度设置到小于最大宽度时,可以调整水平偏移量,设置采集窗口的水平起始位置。
139  *  \param [in]    HANDLE hCam
140  *  \param [out]    int * pOffsetX    水平偏移量
141  *  \retval      MVST_SUCCESS            : 成功
142  */
143 MVGIGE_API MVSTATUS_CODES __stdcall MVGetOffsetX(HANDLE hCam,int *pOffsetX);
144
145 /*!
146  *  \brief 读取水平方向偏移量取值范围。
147  *  \param [in]    HANDLE hCam
148  *  \param [out]    int * pOffsetXMin    水平偏移量最小值
149  *  \param [out]    int * pOffsetXMax    水平偏移量最大值
150  *  \retval      MVST_SUCCESS            : 成功
151  */
152 MVGIGE_API MVSTATUS_CODES __stdcall MVGetOffsetXRange(HANDLE hCam,int *pOffsetXMin,int *pOffsetXMax);
153
154 /*!
155  *  \brief 设置水平方向偏移量。图像宽度设置到小于最大宽度时,可以调整水平偏移量,设置采集窗口的水平起始位置。
156  *  \param [in]    HANDLE hCam
157  *  \param [in]    int nOffsetX 水平偏移量。应该在水平偏移量允许的范围之内。
158  *  \retval      MVST_SUCCESS            : 成功
159  */
160 MVGIGE_API MVSTATUS_CODES __stdcall MVSetOffsetX(HANDLE hCam,int nOffsetX);
161
162 /*!
163  *  \brief 读取垂直方向偏移量。图像宽度设置到小于最大宽度时,可以调整垂直偏移量,设置采集窗口的垂直起始位置。
164  *  \param [in]    HANDLE hCam
165  *  \param [out]    int * pOffsetY    垂直偏移量
166  *  \retval      MVST_SUCCESS            : 成功
167  */
168 MVGIGE_API MVSTATUS_CODES __stdcall MVGetOffsetY(HANDLE hCam,int *pOffsetY);
169
170 /*!
171  *  \brief 读取垂直方向偏移量取值范围。
172  *  \param [in]    HANDLE hCam
173  *  \param [out]    int * pOffsetYMin    垂直偏移量最小值
174  *  \param [out]    int * pOffsetYMax    垂直偏移量最大值
175  *  \retval      MVST_SUCCESS            : 成功
176  */
177 MVGIGE_API MVSTATUS_CODES __stdcall MVGetOffsetYRange(HANDLE hCam,int *pOffsetYMin,int *pOffsetYMax);
178
179 /*!
180  *  \brief 设置垂直方向偏移量。图像宽度设置到小于最大宽度时,可以调整垂直偏移量,设置采集窗口的垂直起始位置。
181  *  \param [in]    HANDLE hCam
182  *  \param [in]    int nOffsetY 垂直偏移量。应该在垂直偏移量允许的范围之内。
183  *  \retval      MVST_SUCCESS            : 成功
184  */
185 MVGIGE_API MVSTATUS_CODES __stdcall MVSetOffsetY(HANDLE hCam,int nOffsetY);    
186
187 /*!
188  * \brief    读取图像的像素格式
189  * \param [in]    HANDLE hCam        相机句柄
190  * \param [out]    MV_PixelFormatEnums * pPixelFormat
191  * \retval      MVST_SUCCESS            : 成功
192  */
193 MVGIGE_API MVSTATUS_CODES __stdcall MVGetPixelFormat(HANDLE hCam, MV_PixelFormatEnums *pPixelFormat);
194
195 /*!
196  *  \brief    读取传感器的通道数
197  *  \param [in]    HANDLE hCam        相机句柄
198  *  \param [out] SensorTapsEnums* pSensorTaps
199  *  \retval      MVST_SUCCESS            : 成功
200  */
201 MVGIGE_API MVSTATUS_CODES __stdcall MVGetSensorTaps(HANDLE hCam, SensorTapsEnums *pSensorTaps );
202
203 /*!
204  * \brief    读取当前增益值
205  * \param [in]    HANDLE hCam    相机句柄
206  * \param [out]    double * pGain
207  *  \retval MVST_SUCCESS            : 成功
208  */
209 MVGIGE_API MVSTATUS_CODES __stdcall MVGetGain(HANDLE hCam,double *pGain);
210
211 /*!
212  * \brief    读取增益可以设置的范围
213  * \param [in]    HANDLE hCam    相机句柄
214  * \param [out]    double * pGainMin    最小值
215  * \param [out]    double * pGainMax    最大值
216  *  \retval MVST_SUCCESS            : 成功
217  */
218 MVGIGE_API MVSTATUS_CODES __stdcall MVGetGainRange(HANDLE hCam,double *pGainMin,double *pGainMax);    
219
220 /*!
221  * \brief    设置增益
222  * \param [in]    HANDLE hCam    相机句柄
223  * \param [in]    double fGain    增益
224  *  \retval MVST_SUCCESS            : 成功
225  */
226 MVGIGE_API MVSTATUS_CODES __stdcall MVSetGain(HANDLE hCam,double fGain);
227
228 /*!
229  * \brief    当相机传感器为多通道时,设置某个通道的增益
230  * \param [in]    HANDLE hCam        相机句柄
231  * \param [in]    double fGain    增益
232  * \param [in]    int nTap        通道。双通道[0,1],四通道[0,1,2,3]
233  *  \retval MVC_ST_SUCCESS            : 成功
234  */
235 MVGIGE_API MVSTATUS_CODES __stdcall MVSetGainTaps(HANDLE hCam, double fGain, int nTap );
236
237 /*!
238  * \brief    当相机传感器为多通道时,读取某个通道的增益
239  * \param [in]    HANDLE hCam        相机句柄
240  * \param [out]    double* pGain
241  * \param [in]    int nTap        通道。双通道[0,1],四通道[0,1,2,3]
242  *  \retval MVC_ST_SUCCESS            : 成功
243  */
244 MVGIGE_API MVSTATUS_CODES __stdcall MVGetGainTaps(HANDLE hCam, double *pGain,int nTap );
245
246 /*!
247  * \brief    当相机传感器为多通道时,读取某个通道的增益可设置的范围
248  * \param [in]    HANDLE hCam        相机句柄
249  * \param [out]    double * pGainMin    增益最小值
250  * \param [out]    double * pGainMax    增益最大值
251  * \param [in]    int nTap        通道。双通道[0,1],四通道[0,1,2,3]
252  *  \retval MVC_ST_SUCCESS            : 成功
253  */
254 MVGIGE_API MVSTATUS_CODES __stdcall MVGetGainRangeTaps(HANDLE hCam, double *pGainMin,double *pGainMax, int nTap );
255
256 /*!
257  * \brief    读取当前白平衡系数
258  * \param [in]    HANDLE hCam        相机句柄
259  * \param [out]    double * pRed    红色平衡系数
260  * \param [out]    double * pGreen 绿色平衡系数
261  * \param [out]    double * pBlue    蓝色平衡系数
262  *  \retval MVST_SUCCESS            : 成功
263  */
264 MVGIGE_API MVSTATUS_CODES __stdcall MVGetWhiteBalance( HANDLE hCam,double *pRed,double *pGreen, double *pBlue );
265
266 /*!
267  * \brief    读取白平衡设置的范围
268  * \param [in]    HANDLE hCam        相机句柄
269  * \param [out]    double * pMin    系数最小值
270  * \param [out]    double * pMax    系数最大值
271  *  \retval MVST_SUCCESS            : 成功
272  */
273 MVGIGE_API MVSTATUS_CODES __stdcall MVGetWhiteBalanceRange(HANDLE hCam, double *pMin,double *pMax );
274
275 /*!
276  * \brief    设置白平衡系数
277  * \param [in]    HANDLE hCam        相机句柄
278  * \param [in]    double fRed        红色平衡系数
279  * \param [in]    double fGreen    绿色平衡系数
280  * \param [in]    double fBlue    蓝色平衡系数
281  *  \retval MVST_SUCCESS            : 成功
282  */
283 MVGIGE_API MVSTATUS_CODES __stdcall MVSetWhiteBalance(HANDLE hCam,double fRed,double fGreen, double fBlue );
284
285 /*!
286  * \brief    读取是否通道自动平衡
287  * \param [in]    HANDLE hCam        相机句柄
288  * \param [out]    int* pBalance    是否自动平衡
289  *  \retval MVST_SUCCESS            : 成功
290  */
291 MVGIGE_API MVSTATUS_CODES __stdcall MVGetGainBalance(HANDLE hCam, int *pBalance );
292
293 /*!
294  * \brief    设置是否自动通道平衡
295  * \param [in]    HANDLE hCam        相机句柄
296  * \param [in]    int nBalance    是否自动通道平衡
297  *  \retval MVST_SUCCESS            : 成功
298  */
299 MVGIGE_API MVSTATUS_CODES __stdcall MVSetGainBalance(HANDLE hCam,int nBalance );
300
301 /*! 
302  *  \brief    读取当前曝光时间
303  *  \param [in]    hCam
304  *  \param [in]    pExposuretime    单位us
305  *  \retval 
306  */
307 MVGIGE_API MVSTATUS_CODES __stdcall MVGetExposureTime(HANDLE hCam,double *pExposuretime);
308
309 /*!
310  * \brief  读取曝光时间的设置范围  
311  * \param [in]    HANDLE hCam        相机句柄
312  * \param [out]    double * pExpMin    最短曝光时间 单位为us
313  * \param [out]    double * pExpMax    最长曝光时间 单位为us
314  *  \retval MVST_SUCCESS            : 成功
315  */
316 MVGIGE_API MVSTATUS_CODES __stdcall MVGetExposureTimeRange(HANDLE hCam,double *pExpMin,double *pExpMax);
317
318 /*!
319  * \brief    设置曝光时间
320  * \param [in]    HANDLE hCam        相机句柄
321  * \param [in]    unsigned long nExp_us 曝光时间 单位为us
322  *  \retval MVST_SUCCESS            : 成功
323  */
324 MVGIGE_API MVSTATUS_CODES __stdcall MVSetExposureTime(HANDLE hCam,double nExp_us);
325
326 /*!
327  * \brief    读取帧率可设置的范围
328  * \param [in]    HANDLE hCam        相机句柄
329  * \param [out]    double* pFpsMin 最低帧率
330  * \param [out]    double* pFpsMax 最高帧率    
331  *  \retval MVST_SUCCESS            : 成功
332  */
333 MVGIGE_API MVSTATUS_CODES __stdcall MVGetFrameRateRange(HANDLE hCam,double *pFpsMin,double *pFpsMax);
334
335 /*!
336  * \brief    读取当前帧率   
337  * \param [in]    HANDLE hCam        相机句柄
338  * \param [out]    double * fFPS    帧率 帧/秒
339  *  \retval MVST_SUCCESS            : 成功
340  */
341 MVGIGE_API MVSTATUS_CODES __stdcall MVGetFrameRate(HANDLE hCam,double *fFPS);
342
343 /*!
344  * \brief    设置帧率
345  * \param [in]    HANDLE hCam        相机句柄
346  * \param [in]    double fps    帧率 帧/秒
347  *  \retval MVST_SUCCESS            : 成功
348  */
349 MVGIGE_API MVSTATUS_CODES __stdcall MVSetFrameRate(HANDLE hCam,double fps);
350
351 /*!
352  *  \brief 开始采集图像
353  *  \param [in]    HANDLE hCam    相机句柄
354  *  \param [in] StreamCB    回调函数指针
355  *  \param [in]    long nUserVal    用户数据,传递到回调函数的形参
356  *  \retval      MVST_SUCCESS            : 成功
357  */
358 MVGIGE_API MVSTATUS_CODES __stdcall MVStartGrab(HANDLE hCam,int (*StreamCB)(MV_IMAGE_INFO*,long long nUserVal),long long nUserVal);
359
360
361 /*!
362  *  \brief 停止采集图像
363  *  \param [in]    HANDLE hCam    相机句柄
364  *  \retval  MVST_SUCCESS            : 成功
365  */
366 MVGIGE_API MVSTATUS_CODES __stdcall MVStopGrab(HANDLE hCam);
367
368 /*!
369  * \brief    读取触发模式
370  * \param [in]    HANDLE hCam        相机句柄
371  * \param [out]    TriggerModeEnums * pMode    触发模式  TriggerMode_Off,TriggerMode_On
372  *  \retval MVST_SUCCESS            : 成功
373  */
374 MVGIGE_API MVSTATUS_CODES __stdcall MVGetTriggerMode(HANDLE hCam,TriggerModeEnums *pMode);
375
376 /*! 
377  *  \brief    设置触发模式
378  * \param [in]    HANDLE hCam        相机句柄
379  *  \param [in]    mode    触发模式
380     TriggerMode_Off:相机工作在连续采集模式,
381     TriggerMode_On:相机工作在触发模式,需要有外触发信号或软触发指令才拍摄
382  *  \retval MVST_SUCCESS            : 成功
383  */
384 MVGIGE_API MVSTATUS_CODES __stdcall MVSetTriggerMode(HANDLE hCam,TriggerModeEnums mode);
385
386 /*!
387  * \brief    读取触发源
388  * \param [in]    HANDLE hCam        相机句柄
389  * \param [out]    TriggerSourceEnums * pSource    触发源,软触发或外触发
390  *  \retval MVST_SUCCESS            : 成功
391  */
392 MVGIGE_API MVSTATUS_CODES __stdcall MVGetTriggerSource(HANDLE hCam,TriggerSourceEnums *pSource);
393
394 /*! 
395  *  \brief    设置触发源
396  * \param [in]    HANDLE hCam        相机句柄
397  *  \param [in]    TriggerSourceEnums    source 触发源
398                 TriggerSource_Software:通过\c MVTriggerSoftware()函数触发。
399                 TriggerSource_Line1:通过连接的触发线触发。
400  *  \retval MVST_SUCCESS            : 成功
401  */
402 MVGIGE_API MVSTATUS_CODES __stdcall MVSetTriggerSource(HANDLE hCam,TriggerSourceEnums source);
403
404 /*!
405  * \brief    读取触发极性
406  * \param [in]    HANDLE hCam        相机句柄
407  * \param [out]    TriggerActivationEnums * pAct
408                 TriggerActivation_RisingEdge: 上升沿触发
409                 TriggerActivation_FallingEdge: 下降沿触发
410  *  \retval MVST_SUCCESS            : 成功
411  */
412 MVGIGE_API MVSTATUS_CODES __stdcall MVGetTriggerActivation(HANDLE hCam,TriggerActivationEnums *pAct);
413
414 /*! 
415  *  \brief    当使用触发线触发时,设置是上升沿触发还是下降沿触发
416  *  \param [in]    hCam
417  *  \param [in]    act 上升沿或下降沿
418                 TriggerActivation_RisingEdge: 上升沿触发
419                 TriggerActivation_FallingEdge: 下降沿触发
420  *  \retval 
421  */
422 MVGIGE_API MVSTATUS_CODES __stdcall MVSetTriggerActivation(HANDLE hCam,TriggerActivationEnums act);
423
424 /*!
425  * \brief    读取触发延时
426  * \param [in]    HANDLE hCam        相机句柄
427  * \param [out]    uint32_t * pDelay_us    触发延时,单位us
428  *  \retval MVST_SUCCESS            : 成功
429  */
430 MVGIGE_API MVSTATUS_CODES __stdcall MVGetTriggerDelay(HANDLE hCam,uint32_t *pDelay_us);
431
432 /*!
433  * \brief    读取触发延时范围
434  * \param [in]    HANDLE hCam        相机句柄
435  * \param [out]    uint32_t * pMin    触发延时最小值,单位us    
436  * \param [out]    uint32_t * pMax 触发延时最大值,单位us    
437  *  \retval MVST_SUCCESS            : 成功
438  */
439 MVGIGE_API MVSTATUS_CODES __stdcall MVGetTriggerDelayRange(HANDLE hCam,uint32_t *pMin,uint32_t *pMax);
440
441 /*! 
442  *  \brief    设置相机接到触发信号后延迟多少微秒后再开始曝光。
443  *  \param [in]    HANDLE hCam        相机句柄
444  *  \param [in]    nDelay_us
445  *  \retval MVST_SUCCESS            : 成功
446  */
447 MVGIGE_API MVSTATUS_CODES __stdcall MVSetTriggerDelay(HANDLE hCam,uint32_t nDelay_us);
448
449 /*! 
450  *  \brief    发出软件触发指令
451  *  \param [in]    HANDLE hCam        相机句柄
452  *  \retval MVST_SUCCESS            : 成功
453  */
454 MVGIGE_API MVSTATUS_CODES __stdcall MVTriggerSoftware(HANDLE hCam);
455
456 /*!
457  * \brief    读取闪光同步信号源
458  * \param [in]    HANDLE hCam        相机句柄
459  * \param [out]    LineSourceEnums * pSource    闪光同步信号源
460  *  \retval MVST_SUCCESS            : 成功
461  */
462 MVGIGE_API MVSTATUS_CODES __stdcall MVGetStrobeSource(HANDLE hCam,LineSourceEnums *pSource);
463
464 /*! 
465  *  \brief    闪光同步信号源
466  *  \param [in]    hCam
467  *  \param [in]    source
468                 LineSource_Off:关闭闪光同步
469                 LineSource_ExposureActive:曝光的同时闪光
470                 LineSource_Timer1Active:由定时器控制
471                 LineSource_UserOutput0:由用户通过指令控制
472  *  \retval MVST_SUCCESS            : 成功
473  */
474 MVGIGE_API MVSTATUS_CODES __stdcall MVSetStrobeSource(HANDLE hCam,LineSourceEnums source);
475
476 /*!
477  * \brief    读取闪光同步是否反转
478  * \param [in]    HANDLE hCam        相机句柄
479  * \param [out]    BOOL * pInvert
480  *  \retval MVST_SUCCESS            : 成功
481  */
482 MVGIGE_API MVSTATUS_CODES __stdcall MVGetStrobeInvert(HANDLE hCam,BOOL *pInvert);
483
484 /*! 
485  *  \brief    闪光同步是否反转,即闪光同步有效时输出高电平还是低电平。
486  *  \param [in]    HANDLE hCam        相机句柄
487  *  \param [in]    bInvert
488  *  \retval MVST_SUCCESS            : 成功
489  */
490 MVGIGE_API MVSTATUS_CODES __stdcall MVSetStrobeInvert(HANDLE hCam,BOOL bInvert);
491
492 /*!
493  * \brief    读取用户设置的闪光同步
494  * \param [in]    HANDLE hCam        相机句柄
495  * \param [out]    BOOL * pSet
496  *  \retval MVST_SUCCESS            : 成功
497  */
498 MVGIGE_API MVSTATUS_CODES __stdcall MVGetUserOutputValue0(HANDLE hCam,BOOL *pSet);
499
500 /*! 
501  *  \brief    当闪光同步源选为UserOutput时
502             主机可以通过MVSetUserOutputValue0来控制闪光同步输出高电平或低电平。
503  *  \param [in]    HANDLE hCam        相机句柄
504  *  \param [in]    bSet 设置电平
505  *  \retval MVST_SUCCESS            : 成功
506  */
507 MVGIGE_API MVSTATUS_CODES __stdcall MVSetUserOutputValue0(HANDLE hCam,BOOL bSet);
508
509 /*!
510  *  \brief 设置心跳超时时间
511  *  \param [in]    HANDLE hCam    相机句柄
512  *  \param [in]    unsigned long nTimeOut    心跳超时时间 单位ms
513  *  \retval      MVST_SUCCESS            : 成功
514  *  \note 应用程序打开相机后,正常情况下会去关闭相机。但有时程序会意外中断,没有正常关闭相机。
515  *            这种情况下相机就无法再次打开了(相机认为还在被原来软件控制着)。 
516  *            因此设计了heartbeat,应用程序无论是否在采集图像,每隔一定时间(一般是1000ms)都要去访问一下相机。
517  *            当超过HeartbeatTimeout时间没有来自应用程序的访问,相机就认为应用程序中断了,会自动关闭原有连接,
518  *            以迎接新的连接。
519  *            定时访问相机的操作在SDK内部已经实现。编程时无需再次实现。
520  *            在设置断点调试程序时,可以将nTimeOut设置长一些,否则相机会自动关闭连接。
521  *            Release状态下设置短一些(3000ms),否则应用程序意外退出时,相机会长时间无法重新打开。
522  */
523 MVGIGE_API MVSTATUS_CODES __stdcall MVSetHeartbeatTimeout(HANDLE hCam,unsigned long nTimeOut);//unit ms
524
525 /*!
526  * \brief    读取网络数据包大小
527  * \param [in]    HANDLE hCam        相机句柄
528  * \param [out]    int *pPacketSize 数据包大小
529  *  \retval MVST_SUCCESS            : 成功
530  */
531 MVGIGE_API MVSTATUS_CODES __stdcall MVGetPacketSize(HANDLE hCam,unsigned int *pPacketSize);
532
533 /*!
534  * \brief    读取网络数据包大小的范围。
535  * \param [in]    HANDLE hCam            相机句柄
536  * \param [out]    unsigned int * pMin    网络数据包最小值    
537  * \param [out]    unsigned int * pMax 网络数据包最大值    
538  *  \retval MVST_SUCCESS            : 成功
539  */
540 MVGIGE_API MVSTATUS_CODES __stdcall MVGetPacketSizeRange(HANDLE hCam,unsigned int *pMin,unsigned int *pMax);
541
542 /*! 
543  *  \brief    设置网络数据包的大小。
544  *  \param [in]    HANDLE hCam            相机句柄
545  *  \param [in]    nPacketSize 网络数据包大小(单位:字节)。该大小必须小于网卡能够支持的最大巨型帧(Jumbo Frame)。
546  *  \retval 
547  */
548 MVGIGE_API MVSTATUS_CODES __stdcall MVSetPacketSize(HANDLE hCam,unsigned int nPacketSize);
549
550 /*!
551  * \brief    读取网络数据包间隔。
552  * \param [in]    HANDLE hCam                相机句柄
553  * \param [out]    unsigned int *pDelay_us 数据包间隔时间,单位us
554  *  \retval MVST_SUCCESS                : 成功
555  */
556 MVGIGE_API MVSTATUS_CODES __stdcall MVGetPacketDelay(HANDLE hCam,unsigned int *pDelay_us);
557
558 /*!
559  * \brief    读取网络数据包间隔范围
560  * \param [in]    HANDLE hCam            相机句柄
561  * \param [out]    unsigned int * pMin    数据包间隔时间最小值,单位us    
562  * \param [out]    unsigned int * pMax 数据包间隔时间最大值,单位us    
563  *  \retval MVST_SUCCESS            : 成功
564  */
565 MVGIGE_API MVSTATUS_CODES __stdcall MVGetPacketDelayRange(HANDLE hCam,unsigned int *pMin,unsigned int *pMax);
566
567
568 /*! 
569  *  \brief    设置网络数据包之间的时间间隔。如果网卡或电脑的性能欠佳,无法处理高速到达的数据包,会导致丢失数据包,
570             从而使图像不完整。可以通过增加数据包之间的时间间隔以保证图像传输。但是增加该值将增加图像的时间延迟,
571             并有可能影像到帧率。
572  *  \param [in]    hCam
573  *  \param [in]    nDelay_us 时间间隔(单位:微秒)
574  *  \retval MVST_SUCCESS            : 成功
575  */
576 MVGIGE_API MVSTATUS_CODES __stdcall MVSetPacketDelay(HANDLE hCam,unsigned int nDelay_us);
577
578 /*!
579  * \brief    读取定时器延时
580  * \param [in]    HANDLE hCam        相机句柄
581  * \param [out]    uint32_t * pDelay    定时器延时
582  *  \retval MVST_SUCCESS            : 成功
583  */
584 MVGIGE_API MVSTATUS_CODES __stdcall MVGetTimerDelay(HANDLE hCam,uint32_t *pDelay);
585
586 /*!
587  * \brief    读取定时器延时的范围
588  * \param [in]    HANDLE hCam        相机句柄
589  * \param [out]    uint32_t * pMin    定时器延时的最小值
590  * \param [out]    uint32_t * pMax 定时器延时的最大值
591  *  \retval MVST_SUCCESS            : 成功
592  */
593 MVGIGE_API MVSTATUS_CODES __stdcall MVGetTimerDelayRange(HANDLE hCam,uint32_t *pMin,uint32_t *pMax);
594
595 /*! 
596  *  \brief    当闪光同步源选为Timer1时MVSetStobeSource(hCam,LineSource_Timer1Active)
597             设置Timer1在接到触发信号后延迟多少us开始计时
598  *  \param [in]    HANDLE hCam        相机句柄
599  *  \param [in]    uint32_t nDelay 接到触发信号后延迟多少us开始计时
600  *  \retval MVST_SUCCESS            : 成功
601  */
602 MVGIGE_API MVSTATUS_CODES __stdcall MVSetTimerDelay(HANDLE hCam,uint32_t nDelay);
603
604 /*!
605  * \brief    读取定时器计时时长
606  * \param [in]    HANDLE hCam        相机句柄
607  * \param [out]    uint32_t * pDuration    定时器计时时长
608  *  \retval MVST_SUCCESS            : 成功
609  */
610 MVGIGE_API MVSTATUS_CODES __stdcall MVGetTimerDuration(HANDLE hCam,uint32_t *pDuration);
611
612 /*!
613  * \brief    读取定时器计时时长取值范围
614  * \param [in]    HANDLE hCam        相机句柄
615  * \param [out]    uint32_t * pMin    定时器计时时长最小值
616  * \param [out]    uint32_t * pMax    定时器计时时长最大值
617  *  \retval MVST_SUCCESS            : 成功
618  */
619 MVGIGE_API MVSTATUS_CODES __stdcall MVGetTimerDurationRange(HANDLE hCam,uint32_t *pMin,uint32_t *pMax);
620
621 /*! 
622 *  \brief    当闪光同步源选为Timer1时MVSetStobeSource(hCam,LineSource_Timer1Active)
623             设置Timer1在开始计时后,计时多长时间。
624  *  \param [in]    HANDLE hCam
625  *  \param [in]    uint32_t nDuration 设置Timer1在开始计时后,计时多长时间(us)。即输出高/低电平的脉冲宽度。
626  *  \retval MVST_SUCCESS            : 成功
627  */
628 MVGIGE_API MVSTATUS_CODES __stdcall MVSetTimerDuration(HANDLE hCam,uint32_t nDuration);
629
630
631 /*!
632  *  \brief 将Bayer格式的8bit单通道图转换为BGR格式的8Bit三通道图
633  *  \param [in]    HANDLE hCam    相机句柄
634  *  \param [in]    void * psrc    单通道图像的指针
635  *  \param [out]    void * pdst    三通道图像指针
636  *  \param [in]    unsigned int dststep    三通道图像一行图像的字节数。通常为图像宽度*3,但是会为了4字节对齐会补几个字节。
637  *  \param [in]    unsigned int width    图像宽度
638  *  \param [in]    unsigned int height    图像高度
639  *  \param [in]    MV_PixelFormatEnums pixelformat    像素格式,由MVGetPixelFormat取得
640  *  \retval      MVST_SUCCESS            : 成功
641  */
642 MVGIGE_API MVSTATUS_CODES __stdcall MVBayerToBGR(HANDLE hCam, void *psrc,void *pdst,unsigned int dststep,unsigned int width,unsigned int height,MV_PixelFormatEnums pixelformat);
643
644 /*!
645  *  \brief 将Bayer格式的8bit单通道图转换为BGR格式的8Bit三通道图
646  *  \param [in]    HANDLE hCam    相机句柄
647  *  \param [in]    MV_IMAGE_INFO * pInfo    采集Callback函数中传来的图像信息指针
648  *  \param [out]    MVImage * pImage    转换结果图像的指针
649  *  \retval      MVST_SUCCESS            : 成功
650  */
651 MVGIGE_API MVSTATUS_CODES __stdcall MVImageBayerToBGR(HANDLE hCam,MV_IMAGE_INFO *pInfo,MVImage *pImage);
652
653
654 /*!
655  *  \brief 将Bayer格式的8bit单通道图转换为BGR格式的8Bit三通道图,同时调整图像的GAMMA,颜色和反差
656  *  \param [in]    HANDLE hCam    相机句柄
657  *  \param [in]    MV_IMAGE_INFO * pInfo    采集Callback函数中传来的图像信息指针
658  *  \param [out]    MVImage * pImage    转换结果图像的指针
659  *  \param [in]    double fGamma            Gamma校正值,1为不校正,<1时,将暗部提升。
660  *  \param [in]    BOOL bColorCorrect        是否进行颜色校正,进行颜色校正后,图像会变得更鲜艳。
661  *  \param [in]    int nContrast            是否调整反差,范围为0-50,当该值大于0时,图像反差会更强。
662  *  \retval      MVST_SUCCESS            : 成功
663  */
664 MVGIGE_API MVSTATUS_CODES __stdcall MVImageBayerToBGREx( HANDLE hCam,MV_IMAGE_INFO *pInfo,MVImage *pImage,double fGamma,BOOL bColorCorrect,int nContrast );
665
666 /*!
667  *  \brief BGR格式三通道图像缩放
668  *  \param [in]    HANDLE hCam    相机句柄
669  *  \param [in]    unsigned char * pSrc 源图像指针
670  *  \param [in]    int srcWidth    源图像宽度
671  *  \param [in]    int srcHeight    源图像高度
672  *  \param [out]    unsigned char * pDst    缩放后图像指针
673  *  \param [in]    double fFactorX    缩放比例
674  *  \param [in]    double fFactorY    缩放比例
675  *  \retval      MVST_SUCCESS            : 成功
676  */
677 MVGIGE_API MVSTATUS_CODES __stdcall MVZoomImageBGR(HANDLE hCam,unsigned char *pSrc,int srcWidth,int srcHeight, unsigned char *pDst,double fFactorX,double fFactorY);
678
679 /*!
680  *  \brief    获取数据传输的统计信息
681  *  \param [in]    HANDLE hCam    相机句柄
682  *  \param [out]    MVStreamStatistic * pStatistic    统计信息
683  *  \retval      JMVST_SUCCESS            : 成功
684  */
685 MVGIGE_API MVSTATUS_CODES __stdcall MVGetStreamStatistic(HANDLE hCam, MVStreamStatistic *pStatistic );
686
687
688
689 /*!
690  *  \brief    读取并应用某组用户预设的参数
691  *  \param [in]    HANDLE hCam        相机句柄
692  *  \param [in]    UserSetSelectorEnums userset
693  *  \retval      MVST_SUCCESS            : 成功
694  */
695 MVGIGE_API MVSTATUS_CODES __stdcall MVLoadUserSet(HANDLE hCam,UserSetSelectorEnums userset);
696
697 /*!
698  *  \brief    将当前相机的参数保存到用户设置中。
699  *  \param [in]    HANDLE hCam        相机句柄
700  *  \param [in]    UserSetSelectorEnums userset
701  *  \retval      MVST_SUCCESS            : 成功
702  */
703 MVGIGE_API MVSTATUS_CODES __stdcall MVSaveUserSet(HANDLE hCam,UserSetSelectorEnums userset);
704
705 /*!
706  *  \brief    设置相机上电开机时默认读取并应用哪一组用户设置
707  *  \param [in]    HANDLE hCam        相机句柄
708  *  \param [in]    UserSetSelectorEnums userset
709  *  \retval      MVST_SUCCESS            : 成功
710  */
711 MVGIGE_API MVSTATUS_CODES __stdcall MVSetDefaultUserSet(HANDLE hCam,UserSetSelectorEnums userset);
712
713 /*!
714  *  \brief    读取相机上电开机时默认读取并应用哪一组用户设置
715  *  \param [in]    HANDLE hCam        相机句柄
716  *  \param [out]    UserSetSelectorEnums* pUserset    用户设置
717  *  \retval      MVST_SUCCESS            : 成功
718  */
719 MVGIGE_API MVSTATUS_CODES __stdcall MVGetDefaultUserSet(HANDLE hCam, UserSetSelectorEnums *pUserset);
720
721 /*!
722  *  \brief 图像翻转
723  *  \param [in]    HANDLE hCam    相机句柄
724  *  \param [in]    MVImage * pSrcImage    源图像指针
725  *  \param [out] MVImage * pDstImage    结果图像指针。如果为NULL,则翻转的结果还在源图像内。
726  *  \param [in]    ImageFlipType flipType    翻转类型。FlipHorizontal:左右翻转,FlipVertical:上下翻转,FlipBoth:旋转180度
727  *  \retval      MVST_SUCCESS            : 成功
728  */
729 MVGIGE_API MVSTATUS_CODES __stdcall MVImageFlip(HANDLE hCam,MVImage *pSrcImage,MVImage *pDstImage,ImageFlipType flipType);
730
731
732 /*!
733  *  \brief 图像旋转
734  *  \param [in]    HANDLE hCam    相机句柄
735  *  \param [in]    MVImage * pSrcImage    源图像指针
736  *  \param [out] MVImage * pDstImage    结果图像指针,不能为NULL。结果图像的宽度和高度应该和源图像的宽度和高度互换。
737  *  \param [in]    ImageRotateType roateType    旋转类型:Rotate90DegCw, Rotate90DegCcw
738  *  \retval      MVST_SUCCESS            : 成功
739  */
740 MVGIGE_API MVSTATUS_CODES __stdcall MVImageRotate(HANDLE hCam,MVImage *pSrcImage,MVImage *pDstImage, ImageRotateType roateType);
741
742 /*!
743  *  \brief 将彩色BGR三通道24bit图像转换为灰度单通道8bit图像
744  *  \param [in]    HANDLE hCam    相机句柄
745  *  \param [in]    unsigned char * psrc    彩色BGR三通道24bit图像指针
746  *  \param [out]    unsigned char * pdst    灰度单通道8bit图像指针
747  *  \param [in]    unsigned int width    图像宽度
748  *  \param [in]    unsigned int height    图像高度
749  *  \retval      MVST_SUCCESS            : 成功
750  */
751 MVGIGE_API MVSTATUS_CODES __stdcall MVBGRToGray(HANDLE hCam,unsigned char *psrc,unsigned char *pdst,unsigned int width,unsigned int height);
752
753 /*!
754  *  \brief 将彩色BGR三通道24bit图像转换为灰度单通道8bit图像
755  *  \param [in]    HANDLE hCam    相机句柄
756  *  \param [in]    MVImage * pSrcImage    彩色BGR三通道24bit图像指针
757  *  \param [out]    MVImage * pDstImage    灰度单通道8bit图像指针。宽度高度必须和源图相同
758  *  \retval      MVST_SUCCESS            : 成功
759  */
760 MVGIGE_API MVSTATUS_CODES __stdcall MVImageBGRToGray(HANDLE hCam,MVImage *pSrcImage,MVImage *pDstImage);
761
762
763 /*!
764  *  \brief    将彩色BGR三通道24bit图像转换为YUV图像 
765  *  \param [in]    HANDLE hCam    相机句柄
766  *  \param [in]    MVImage * pSrcImage    彩色BGR三通道24bit图像指针
767  *  \param [out]    unsigned char * pDst    YUV图像指针 (YUV422)
768  *  \retval      MVST_SUCCESS            : 成功
769  */
770 MVGIGE_API MVSTATUS_CODES __stdcall MVImageBGRToYUV(HANDLE hCam,MVImage *pSrcImage,unsigned char *pDst);
771
772 /*!
773  *  \brief 将灰度单通道8bit图像转换为彩色BGR三通道24bit图像。转换后三个通道的值是相同的。
774  *  \param [in]    HANDLE hCam    相机句柄
775  *  \param [in]    unsigned char * psrc    灰度单通道8bit图像指针
776  *  \param [out]    unsigned char * pdst    彩色BGR三通道24bit图像指针
777  *  \param [in]    unsigned int width    图像宽度
778  *  \param [in]    unsigned int height    图像高度
779  *  \retval      MVST_SUCCESS            : 成功
780  */
781 MVGIGE_API MVSTATUS_CODES __stdcall MVGrayToBGR(HANDLE hCam,unsigned char *pSrc,unsigned char *pDst,int width,int height);
782
783 /*!
784  *  \brief 获取当前自动曝光模式
785  *  \param [in]    HANDLE hCam    相机句柄
786  *  \param [out]    ExposureAutoEnums * pExposureAuto    当前自动曝光模式
787  *  \retval      MVST_SUCCESS            : 成功
788  */
789 MVGIGE_API MVSTATUS_CODES __stdcall MVGetExposureAuto( HANDLE hCam,ExposureAutoEnums *pExposureAuto);
790 /*!
791  *  \brief 设置自动曝光模式
792  *  \param [in]    HANDLE hCam    相机句柄
793  *  \param [in]    ExposureAutoEnums ExposureAuto    自动曝光模式
794  *  \retval      MVST_SUCCESS            : 成功
795  */
796 MVGIGE_API MVSTATUS_CODES __stdcall MVSetExposureAuto( HANDLE hCam,ExposureAutoEnums ExposureAuto);
797
798 /*!    
799  *  \brief 获取当前自动增益模式
800  *  \param [in]    HANDLE hCam    相机句柄
801  *  \param [out]    GainAutoEnums * pGainAuto    当前自动增益模式的
802  *  \retval      MVST_SUCCESS            : 成功
803  */
804 MVGIGE_API MVSTATUS_CODES __stdcall MVGetGainAuto( HANDLE hCam,GainAutoEnums *pGainAuto);
805 /*!
806  *  \brief 设置当前自动增益模式
807  *  \param [in]    HANDLE hCam    相机句柄
808  *  \param [in]    GainAutoEnums GainAuto    自动增益模式
809  *  \retval      MVST_SUCCESS            : 成功
810  */
811 MVGIGE_API MVSTATUS_CODES __stdcall MVSetGainAuto( HANDLE hCam,GainAutoEnums GainAuto);
812
813 /*!
814  *  \brief 获取当前自动白平衡模式
815  *  \param [in]    HANDLE hCam    相机句柄
816  *  \param [out]    BalanceWhiteAutoEnums * pBalanceWhiteAuto    当前自动白平衡模式
817  *  \retval      MVST_SUCCESS            : 成功
818  */
819 MVGIGE_API MVSTATUS_CODES __stdcall MVGetBalanceWhiteAuto( HANDLE hCam,BalanceWhiteAutoEnums *pBalanceWhiteAuto);
820 /*!
821  *  \brief 设置自动白平衡模式
822  *  \param [in]    HANDLE hCam    相机句柄
823  *  \param [in]    BalanceWhiteAutoEnums BalanceWhiteAuto    自动白平衡模式
824  *  \retval      MVST_SUCCESS            : 成功
825  */
826 MVGIGE_API MVSTATUS_CODES __stdcall MVSetBalanceWhiteAuto( HANDLE hCam,BalanceWhiteAutoEnums BalanceWhiteAuto);
827
828 /*!
829  *  \brief 获取自动调整增益时,增益调整范围的最小值
830  *  \param [in]    HANDLE hCam    相机句柄
831  *  \param [out]    double * pAutoGainLowerLimit    增益调整范围的最小值
832  *  \retval      MVST_SUCCESS            : 成功
833  */
834 MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoGainLowerLimit( HANDLE hCam,double *pAutoGainLowerLimit);
835 /*!
836  *  \brief 设置自动调整增益时,增益调整范围的最小值
837  *  \param [in]    HANDLE hCam    相机句柄
838  *  \param [in]    double fAutoGainLowerLimit    增益调整范围的最小值
839  *  \retval      MVST_SUCCESS            : 成功
840  */
841 MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoGainLowerLimit( HANDLE hCam,double fAutoGainLowerLimit);
842
843 /*!
844  *  \brief 获取自动调整增益时,增益调整范围的最大值
845  *  \param [in]    HANDLE hCam    相机句柄
846  *  \param [out]    double * pAutoGainUpperLimit    增益调整范围的最大值
847  *  \retval      MVST_SUCCESS            : 成功
848  */
849 MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoGainUpperLimit( HANDLE hCam,double *pAutoGainUpperLimit);
850 /*!
851  *  \brief 设置自动调整增益时,增益调整范围的最大值
852  *  \param [in]    HANDLE hCam    相机句柄
853  *  \param [in]    double fAutoGainUpperLimit    曝光时间调整范围的最小值
854  *  \retval      MVST_SUCCESS            : 成功
855  */
856 MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoGainUpperLimit( HANDLE hCam,double fAutoGainUpperLimit);
857
858 /*!
859  *  \brief 获取自动调整曝光时间时,曝光时间调整范围的最小值
860  *  \param [in]    HANDLE hCam    相机句柄
861  *  \param [out]    double * pAutoExposureTimeLowerLimit    曝光时间调整范围的最小值
862  *  \retval      MVST_SUCCESS            : 成功
863  */
864 MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoExposureTimeLowerLimit( HANDLE hCam,double *pAutoExposureTimeLowerLimit);
865 /*!
866  *  \brief 设置自动调整曝光时间时,曝光时间调整范围的最小值
867  *  \param [in]    HANDLE hCam    相机句柄
868  *  \param [in]    double fAutoExposureTimeLowerLimit    曝光时间调整范围的最大值
869  *  \retval      MVST_SUCCESS            : 成功
870  */
871 MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoExposureTimeLowerLimit( HANDLE hCam,double fAutoExposureTimeLowerLimit);
872
873 /*!
874  *  \brief 获取自动调整曝光时间时,曝光时间调整范围的最大值
875  *  \param [in]    HANDLE hCam    相机句柄
876  *  \param [out]    double * pAutoExposureTimeUpperLimit    曝光时间调整范围的最大值
877  *  \retval      MVST_SUCCESS            : 成功
878  */
879 MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoExposureTimeUpperLimit( HANDLE hCam,double *pAutoExposureTimeUpperLimit);
880 /*!
881  *  \brief 设置自动调整曝光时间时,曝光时间调整范围的最大值
882  *  \param [in]    HANDLE hCam    相机句柄
883  *  \param [in]    double fAutoExposureTimeUpperLimit
884  *  \retval      MVST_SUCCESS            : 成功
885  */
886 MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoExposureTimeUpperLimit( HANDLE hCam,double fAutoExposureTimeUpperLimit);
887
888 /*!
889  *  \brief 获取自动调整亮度(曝光、增益)时,期望调整到的图像亮度
890  *  \param [in]    HANDLE hCam    相机句柄
891  *  \param [out]    int * pAutoTargetValue    期望调整到的图像亮度
892  *  \retval      MVST_SUCCESS            : 成功
893  */
894 MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoTargetValue( HANDLE hCam,int *pAutoTargetValue);
895 /*!
896  *  \brief 设置自动调整亮度(曝光、增益)时,期望调整到的图像亮度
897  *  \param [in]    HANDLE hCam    相机句柄
898  *  \param [in]    int nAutoTargetValue    期望调整到的图像亮度
899  *  \retval      MVST_SUCCESS            : 成功
900  */
901 MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoTargetValue( HANDLE hCam,int nAutoTargetValue);
902
903 /*!
904  *  \brief 当自动增益和自动曝光时间都打开时,获取哪一个值优先调整
905  *  \param [in]    HANDLE hCam    相机句柄
906  *  \param [out]    AutoFunctionProfileEnums * pAutoFunctionProfile    增益优先或曝光时间优先
907  *  \retval      MVST_SUCCESS            : 成功
908  */
909 MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoFunctionProfile( HANDLE hCam,AutoFunctionProfileEnums *pAutoFunctionProfile);
910 /*!
911  *  \brief 当自动增益和自动曝光时间都打开时,设置哪一个值优先调整
912  *  \param [in]    HANDLE hCam    相机句柄
913  *  \param [in]    AutoFunctionProfileEnums AutoFunctionProfile    增益优先或曝光时间优先
914  *  \retval      MVST_SUCCESS            : 成功
915  */
916 MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoFunctionProfile( HANDLE hCam,AutoFunctionProfileEnums AutoFunctionProfile);
917
918 /*!
919  *  \brief    自动增益或自动曝光时,图像亮度与目标亮度差异的容差。
920  *  \param [in]    HANDLE hCam    相机句柄
921  *  \param [out]    int * pAutoThreshold    图像亮度与目标亮度差异的容差
922  *  \retval      MVST_SUCCESS            : 成功
923  */
924 MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoThreshold( HANDLE hCam,int *pAutoThreshold);
925 /*!
926  *  \brief 自动增益或自动曝光时,图像亮度与目标亮度差异的容差。
927  *  \param [in]    HANDLE hCam    相机句柄
928  *  \param [in]    int nAutoThreshold    图像亮度与目标亮度差异的容差
929  *  \retval      MVST_SUCCESS            : 成功
930  */
931 MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoThreshold( HANDLE hCam,int nAutoThreshold);
932
933 /*!
934  *  \brief 获取当前伽马值
935  *  \param [in]    HANDLE hCam    相机句柄
936  *  \param [out]    double * pGamma    当前伽马值
937  *  \retval      MVST_SUCCESS            : 成功
938  */
939 MVGIGE_API MVSTATUS_CODES __stdcall MVGetGamma( HANDLE hCam, double *pGamma );
940 /*!
941  *  \brief 获取伽马值可设置的范围
942  *  \param [in]    HANDLE hCam    相机句柄
943  *  \param [out]    double * pGammaMin    伽马最小值
944  *  \param [out]    double * pGammaMax    伽马最大值
945  *  \retval      MVST_SUCCESS            : 成功
946  */
947 MVGIGE_API MVSTATUS_CODES __stdcall MVGetGammaRange( HANDLE hCam, double *pGammaMin, double *pGammaMax);
948 /*!
949  *  \brief 设置伽马值
950  *  \param [in]    HANDLE hCam    相机句柄
951  *  \param [in]    double fGamma    伽马值
952  *  \retval      MVST_SUCCESS            : 成功
953  */
954 MVGIGE_API MVSTATUS_CODES __stdcall MVSetGamma( HANDLE hCam,double fGamma);
955 /*!
956  *  \brief 设置查找表
957  *  \param [in]    HANDLE hCam    相机句柄
958  *  \param [in]    unsigned long * pLUT    查找表数组,unsigned long pLUT[1024];
959  *  \param [in]    int nCnt    查找表数组单元个数,必须是1024
960  *  \retval      MVST_SUCCESS            : 成功
961  */
962 MVGIGE_API MVSTATUS_CODES __stdcall MVSetLUT( HANDLE hCam,unsigned long *pLUT,int nCnt );
963
964 /*!
965  *  \brief 使用查找表
966  *  \param [in]    HANDLE hCam 相机句柄
967  *  \param [in]    BOOL bEnable 是否允许
968  *  \retval      MVST_SUCCESS            : 成功
969  */
970 MVGIGE_API MVSTATUS_CODES __stdcall MVSetEnableLUT( HANDLE hCam,BOOL bEnable );
971
972 /*!
973  *  \brief 获取当前是否使用查找表状态
974  *  \param [in]    HANDLE hCam
975  *  \param [out]    BOOL * bEnable    当前是否使用查找表状态
976  *  \retval      MVST_SUCCESS            : 成功
977  */
978 MVGIGE_API MVSTATUS_CODES __stdcall MVGetEnableLUT( HANDLE hCam,BOOL *bEnable );
979
980 #ifdef __cplusplus
981 }
982 #endif
983
984 #endif //MVGIGE_H_INCLUDE_