#ifndef MVGIGE_H_INCLUDE_ #define MVGIGE_H_INCLUDE_ #ifdef MVGIGE_EXPORTS #define MVGIGE_API __declspec(dllexport) #else #define MVGIGE_API __declspec(dllimport) #endif #include "GigECamera_Types.h" #include "MVimage.h" #ifdef __cplusplus extern "C" { #endif /*! * \brief ³õʼ»¯º¯Êý¿â¡£ÔÚµ÷Óú¯ÊýËùÓк¯Êý֮ǰµ÷Óᣠ* \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVInitLib(); /*! * \brief Í˳öº¯Êý¿â¡£ÔÚ³ÌÐòÍ˳öÇ°µ÷Óã¬ÒÔÊÍ·Å×ÊÔ´¡£ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVTerminateLib(); /*! * \brief ²éÕÒÁ¬½Óµ½¼ÆËã»úÉϵÄÏà»ú * \retval */ MVGIGE_API MVSTATUS_CODES __stdcall MVUpdateCameraList(); /*! * \brief »ñÈ¡Á¬½Óµ½¼ÆËã»úÉϵÄÏà»úµÄÊýÁ¿ * \param [out] pNumCams Ïà»úÊýÁ¿ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetNumOfCameras(int *pNumCams); /*! * \brief µÃµ½µÚidx¸öÏà»úµÄÐÅÏ¢¡£ * \param [in] idx idx´Ó0¿ªÊ¼£¬°´ÕÕÏà»úµÄIPµØÖ·ÅÅÐò£¬µØַСµÄÅÅÔÚÇ°Ãæ¡£ * \param [out] pCamInfo Ïà»úµÄÐÅÏ¢ (IP,MAC,SN,ÐͺÅ...) * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetCameraInfo(unsigned char idx,MVCamInfo *pCamInfo); /*! * \brief ´ò¿ªµÚidx¸öÏà»ú * \param [in] idx idx´Ó0¿ªÊ¼£¬°´ÕÕÏà»úµÄIPµØÖ·ÅÅÐò£¬µØַСµÄÅÅÔÚÇ°Ãæ¡£ * \param [out] hCam Èç¹û³É¹¦,·µ»ØµÄÏà»ú¾ä±ú * \retval MVST_INVALID_PARAMETER : idxÈ¡Öµ²»¶Ô * MVST_ACCESS_DENIED : Ïà»úÎÞ·¨·ÃÎÊ£¬¿ÉÄÜÕý±»±ðµÄÈí¼þ¿ØÖÆ * MVST_ERROR : ÆäËû´íÎó * MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVOpenCamByIndex(unsigned char idx,HANDLE *hCam); /*! * \brief ´ò¿ªÖ¸¶¨UserDefinedNameµÄÏà»ú * \param [in] name UserDefinedName¡£ * \param [out] hCam Èç¹û³É¹¦,·µ»ØµÄÏà»ú¾ä±ú¡£Èç¹ûʧ°Ü£¬ÎªNULL¡£ * \retval * MVST_ACCESS_DENIED : Ïà»úÎÞ·¨·ÃÎÊ£¬¿ÉÄÜÕý±»±ðµÄÈí¼þ¿ØÖÆ * MVST_ERROR : ÆäËû´íÎó * MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVOpenCamByUserDefinedName( char *name,HANDLE *hCam ); /*! * \brief ¹Ø±ÕÏà»ú¡£¶Ï¿ªºÍÏà»úµÄÁ¬½Ó¡£ * \param [in] hCam Ïà»úµÄ¾ä±ú * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVCloseCam(HANDLE hCam); /*! * \brief ¶ÁȡͼÏñ¿í¶È * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] int * pWidth ͼÏñ¿í¶È[ÏñËØ] * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetWidth(HANDLE hCam,int *pWidth); /*! * \brief ¶ÁȡͼÏñ¿í¶È¿ÉÉèÖõķ¶Î§ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] int * pWidthMin ͼÏñ¿í¶È¿ÉÉèÖõÄ×îСֵ * \param [out] int * pWidthMax ͼÏñ¿í¶È¿ÉÉèÖõÄ×î´óÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetWidthRange(HANDLE hCam,int *pWidthMin,int *pWidthMax); /*! * \brief ¶ÁȡͼÏñ¿í¶Èµ÷ÕûµÄ²½³¤ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] int * pWidthInc ͼÏñ¿í¶ÈµÄµ÷ÕûµÄ²½³¤£¬¼´Í¼ÏñµÄ¿í¶È = ×îС¿í¶È + ²½³¤ x ÕûÊý * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetWidthInc(HANDLE hCam,int *pWidthInc); /*! * \brief ÉèÖÃͼÏñµÄ¿í¶È * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] int nWidth ͼÏñ¿í¶È£¬Ó¦¸ÃÔÚ¿í¶È¿ÉÉèÖ÷¶Î§Ö®ÄÚ£¬²¢ÇÒ = ×îС¿í¶È + ²½³¤ x ÕûÊý * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetWidth(HANDLE hCam,int nWidth); /*! * \brief ¶ÁȡͼÏñ¸ß¶È * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] int * pHeight ͼÏñ¸ß¶È[ÏñËØ] * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetHeight(HANDLE hCam,int *pHeight); /*! * \brief ¶ÁȡͼÏñ¸ß¶È¿ÉÉèÖõķ¶Î§ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] int * pHeightMin ͼÏñ¸ß¶È¿ÉÉèÖõÄ×îСֵ * \param [out] int * pHeightMax ͼÏñ¸ß¶È¿ÉÉèÖõÄ×î´óÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetHeightRange(HANDLE hCam,int *pHeightMin,int *pHeightMax); /*! * \brief ÉèÖÃͼÏñµÄ¸ß¶È * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] int nHeight ͼÏñ¸ß¶È£¬Ó¦¸ÃÔڸ߶ȿÉÉèÖ÷¶Î§Ö®ÄÚ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetHeight(HANDLE hCam,int nHeight); /*! * \brief ¶Áȡˮƽ·½ÏòÆ«ÒÆÁ¿¡£Í¼Ïñ¿í¶ÈÉèÖõ½Ð¡ÓÚ×î´ó¿í¶Èʱ£¬¿ÉÒÔµ÷ÕûˮƽƫÒÆÁ¿£¬ÉèÖòɼ¯´°¿ÚµÄˮƽÆðʼλÖᣠ* \param [in] HANDLE hCam * \param [out] int * pOffsetX ˮƽƫÒÆÁ¿ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetOffsetX(HANDLE hCam,int *pOffsetX); /*! * \brief ¶Áȡˮƽ·½ÏòÆ«ÒÆÁ¿È¡Öµ·¶Î§¡£ * \param [in] HANDLE hCam * \param [out] int * pOffsetXMin ˮƽƫÒÆÁ¿×îСֵ * \param [out] int * pOffsetXMax ˮƽƫÒÆÁ¿×î´óÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetOffsetXRange(HANDLE hCam,int *pOffsetXMin,int *pOffsetXMax); /*! * \brief ÉèÖÃˮƽ·½ÏòÆ«ÒÆÁ¿¡£Í¼Ïñ¿í¶ÈÉèÖõ½Ð¡ÓÚ×î´ó¿í¶Èʱ£¬¿ÉÒÔµ÷ÕûˮƽƫÒÆÁ¿£¬ÉèÖòɼ¯´°¿ÚµÄˮƽÆðʼλÖᣠ* \param [in] HANDLE hCam * \param [in] int nOffsetX ˮƽƫÒÆÁ¿¡£Ó¦¸ÃÔÚˮƽƫÒÆÁ¿ÔÊÐíµÄ·¶Î§Ö®ÄÚ¡£ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetOffsetX(HANDLE hCam,int nOffsetX); /*! * \brief ¶ÁÈ¡´¹Ö±·½ÏòÆ«ÒÆÁ¿¡£Í¼Ïñ¿í¶ÈÉèÖõ½Ð¡ÓÚ×î´ó¿í¶Èʱ£¬¿ÉÒÔµ÷Õû´¹Ö±Æ«ÒÆÁ¿£¬ÉèÖòɼ¯´°¿ÚµÄ´¹Ö±ÆðʼλÖᣠ* \param [in] HANDLE hCam * \param [out] int * pOffsetY ´¹Ö±Æ«ÒÆÁ¿ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetOffsetY(HANDLE hCam,int *pOffsetY); /*! * \brief ¶ÁÈ¡´¹Ö±·½ÏòÆ«ÒÆÁ¿È¡Öµ·¶Î§¡£ * \param [in] HANDLE hCam * \param [out] int * pOffsetYMin ´¹Ö±Æ«ÒÆÁ¿×îСֵ * \param [out] int * pOffsetYMax ´¹Ö±Æ«ÒÆÁ¿×î´óÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetOffsetYRange(HANDLE hCam,int *pOffsetYMin,int *pOffsetYMax); /*! * \brief ÉèÖô¹Ö±·½ÏòÆ«ÒÆÁ¿¡£Í¼Ïñ¿í¶ÈÉèÖõ½Ð¡ÓÚ×î´ó¿í¶Èʱ£¬¿ÉÒÔµ÷Õû´¹Ö±Æ«ÒÆÁ¿£¬ÉèÖòɼ¯´°¿ÚµÄ´¹Ö±ÆðʼλÖᣠ* \param [in] HANDLE hCam * \param [in] int nOffsetY ´¹Ö±Æ«ÒÆÁ¿¡£Ó¦¸ÃÔÚ´¹Ö±Æ«ÒÆÁ¿ÔÊÐíµÄ·¶Î§Ö®ÄÚ¡£ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetOffsetY(HANDLE hCam,int nOffsetY); /*! * \brief ¶ÁȡͼÏñµÄÏñËظñʽ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] MV_PixelFormatEnums * pPixelFormat * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetPixelFormat(HANDLE hCam, MV_PixelFormatEnums *pPixelFormat); /*! * \brief ¶ÁÈ¡´«¸ÐÆ÷µÄͨµÀÊý * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] SensorTapsEnums* pSensorTaps * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetSensorTaps(HANDLE hCam, SensorTapsEnums *pSensorTaps ); /*! * \brief ¶ÁÈ¡µ±Ç°ÔöÒæÖµ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double * pGain * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetGain(HANDLE hCam,double *pGain); /*! * \brief ¶ÁÈ¡ÔöÒæ¿ÉÒÔÉèÖõķ¶Î§ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double * pGainMin ×îСֵ * \param [out] double * pGainMax ×î´óÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetGainRange(HANDLE hCam,double *pGainMin,double *pGainMax); /*! * \brief ÉèÖÃÔöÒæ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] double fGain ÔöÒæ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetGain(HANDLE hCam,double fGain); /*! * \brief µ±Ïà»ú´«¸ÐÆ÷Ϊ¶àͨµÀʱ£¬ÉèÖÃij¸öͨµÀµÄÔöÒæ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] double fGain ÔöÒæ * \param [in] int nTap ͨµÀ¡£Ë«Í¨µÀ[0,1],ËÄͨµÀ[0,1,2,3] * \retval MVC_ST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetGainTaps(HANDLE hCam, double fGain, int nTap ); /*! * \brief µ±Ïà»ú´«¸ÐÆ÷Ϊ¶àͨµÀʱ£¬¶Áȡij¸öͨµÀµÄÔöÒæ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double* pGain * \param [in] int nTap ͨµÀ¡£Ë«Í¨µÀ[0,1],ËÄͨµÀ[0,1,2,3] * \retval MVC_ST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetGainTaps(HANDLE hCam, double *pGain,int nTap ); /*! * \brief µ±Ïà»ú´«¸ÐÆ÷Ϊ¶àͨµÀʱ£¬¶Áȡij¸öͨµÀµÄÔöÒæ¿ÉÉèÖõķ¶Î§ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double * pGainMin ÔöÒæ×îСֵ * \param [out] double * pGainMax ÔöÒæ×î´óÖµ * \param [in] int nTap ͨµÀ¡£Ë«Í¨µÀ[0,1],ËÄͨµÀ[0,1,2,3] * \retval MVC_ST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetGainRangeTaps(HANDLE hCam, double *pGainMin,double *pGainMax, int nTap ); /*! * \brief ¶ÁÈ¡µ±Ç°°×ƽºâϵÊý * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double * pRed ºìɫƽºâϵÊý * \param [out] double * pGreen ÂÌɫƽºâϵÊý * \param [out] double * pBlue À¶É«Æ½ºâϵÊý * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetWhiteBalance( HANDLE hCam,double *pRed,double *pGreen, double *pBlue ); /*! * \brief ¶ÁÈ¡°×ƽºâÉèÖõķ¶Î§ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double * pMin ϵÊý×îСֵ * \param [out] double * pMax ϵÊý×î´óÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetWhiteBalanceRange(HANDLE hCam, double *pMin,double *pMax ); /*! * \brief ÉèÖð×ƽºâϵÊý * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] double fRed ºìɫƽºâϵÊý * \param [in] double fGreen ÂÌɫƽºâϵÊý * \param [in] double fBlue À¶É«Æ½ºâϵÊý * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetWhiteBalance(HANDLE hCam,double fRed,double fGreen, double fBlue ); /*! * \brief ¶ÁÈ¡ÊÇ·ñͨµÀ×Ô¶¯Æ½ºâ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] int* pBalance ÊÇ·ñ×Ô¶¯Æ½ºâ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetGainBalance(HANDLE hCam, int *pBalance ); /*! * \brief ÉèÖÃÊÇ·ñ×Ô¶¯Í¨µÀƽºâ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] int nBalance ÊÇ·ñ×Ô¶¯Í¨µÀƽºâ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetGainBalance(HANDLE hCam,int nBalance ); /*! * \brief ¶ÁÈ¡µ±Ç°Æعâʱ¼ä * \param [in] hCam * \param [in] pExposuretime µ¥Î»us * \retval */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetExposureTime(HANDLE hCam,double *pExposuretime); /*! * \brief ¶ÁÈ¡Æعâʱ¼äµÄÉèÖ÷¶Î§ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double * pExpMin ×î¶ÌÆعâʱ¼ä µ¥Î»Îªus * \param [out] double * pExpMax ×Æعâʱ¼ä µ¥Î»Îªus * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetExposureTimeRange(HANDLE hCam,double *pExpMin,double *pExpMax); /*! * \brief ÉèÖÃÆعâʱ¼ä * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] unsigned long nExp_us Æعâʱ¼ä µ¥Î»Îªus * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetExposureTime(HANDLE hCam,double nExp_us); /*! * \brief ¶ÁÈ¡Ö¡ÂÊ¿ÉÉèÖõķ¶Î§ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double* pFpsMin ×îµÍÖ¡ÂÊ * \param [out] double* pFpsMax ×î¸ßÖ¡ÂÊ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetFrameRateRange(HANDLE hCam,double *pFpsMin,double *pFpsMax); /*! * \brief ¶ÁÈ¡µ±Ç°Ö¡ÂÊ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double * fFPS Ö¡ÂÊ Ö¡/Ãë * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetFrameRate(HANDLE hCam,double *fFPS); /*! * \brief ÉèÖÃÖ¡ÂÊ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] double fps Ö¡ÂÊ Ö¡/Ãë * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetFrameRate(HANDLE hCam,double fps); /*! * \brief ¿ªÊ¼²É¼¯Í¼Ïñ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] StreamCB »Øµ÷º¯ÊýÖ¸Õë * \param [in] long nUserVal Óû§Êý¾Ý£¬´«µÝµ½»Øµ÷º¯ÊýµÄÐβΠ* \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVStartGrab(HANDLE hCam,int (*StreamCB)(MV_IMAGE_INFO*,long nUserVal),long nUserVal); /*! * \brief Í£Ö¹²É¼¯Í¼Ïñ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVStopGrab(HANDLE hCam); /*! * \brief ¶ÁÈ¡´¥·¢Ä£Ê½ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] TriggerModeEnums * pMode ´¥·¢Ä£Ê½ TriggerMode_Off,TriggerMode_On * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetTriggerMode(HANDLE hCam,TriggerModeEnums *pMode); /*! * \brief ÉèÖô¥·¢Ä£Ê½ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] mode ´¥·¢Ä£Ê½ TriggerMode_Off£ºÏà»ú¹¤×÷ÔÚÁ¬Ðø²É¼¯Ä£Ê½£¬ TriggerMode_On:Ïà»ú¹¤×÷ÔÚ´¥·¢Ä£Ê½£¬ÐèÒªÓÐÍâ´¥·¢ÐźŻòÈí´¥·¢Ö¸Áî²ÅÅÄÉã * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetTriggerMode(HANDLE hCam,TriggerModeEnums mode); /*! * \brief ¶ÁÈ¡´¥·¢Ô´ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] TriggerSourceEnums * pSource ´¥·¢Ô´£¬Èí´¥·¢»òÍâ´¥·¢ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetTriggerSource(HANDLE hCam,TriggerSourceEnums *pSource); /*! * \brief ÉèÖô¥·¢Ô´ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] TriggerSourceEnums source ´¥·¢Ô´ TriggerSource_Software£ºÍ¨¹ý\c MVTriggerSoftware()º¯Êý´¥·¢¡£ TriggerSource_Line1£ºÍ¨¹ýÁ¬½ÓµÄ´¥·¢Ïß´¥·¢¡£ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetTriggerSource(HANDLE hCam,TriggerSourceEnums source); /*! * \brief ¶ÁÈ¡´¥·¢¼«ÐÔ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] TriggerActivationEnums * pAct TriggerActivation_RisingEdge: ÉÏÉýÑØ´¥·¢ TriggerActivation_FallingEdge: ϽµÑØ´¥·¢ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetTriggerActivation(HANDLE hCam,TriggerActivationEnums *pAct); /*! * \brief µ±Ê¹Óô¥·¢Ïß´¥·¢Ê±,ÉèÖÃÊÇÉÏÉýÑØ´¥·¢»¹ÊÇϽµÑØ´¥·¢ * \param [in] hCam * \param [in] act ÉÏÉýÑØ»òϽµÑØ TriggerActivation_RisingEdge: ÉÏÉýÑØ´¥·¢ TriggerActivation_FallingEdge: ϽµÑØ´¥·¢ * \retval */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetTriggerActivation(HANDLE hCam,TriggerActivationEnums act); /*! * \brief ¶ÁÈ¡´¥·¢ÑÓʱ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] uint32_t * pDelay_us ´¥·¢ÑÓʱ,µ¥Î»us * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetTriggerDelay(HANDLE hCam,uint32_t *pDelay_us); /*! * \brief ¶ÁÈ¡´¥·¢ÑÓʱ·¶Î§ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] uint32_t * pMin ´¥·¢ÑÓʱ×îСֵ,µ¥Î»us * \param [out] uint32_t * pMax ´¥·¢ÑÓʱ×î´óÖµ,µ¥Î»us * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetTriggerDelayRange(HANDLE hCam,uint32_t *pMin,uint32_t *pMax); /*! * \brief ÉèÖÃÏà»ú½Óµ½´¥·¢ÐźźóÑÓ³Ù¶àÉÙ΢ÃëºóÔÙ¿ªÊ¼Æع⡣ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] nDelay_us * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetTriggerDelay(HANDLE hCam,uint32_t nDelay_us); /*! * \brief ·¢³öÈí¼þ´¥·¢Ö¸Áî * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVTriggerSoftware(HANDLE hCam); /*! * \brief ¶ÁÈ¡ÉÁ¹âͬ²½ÐźÅÔ´ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] LineSourceEnums * pSource ÉÁ¹âͬ²½ÐźÅÔ´ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetStrobeSource(HANDLE hCam,LineSourceEnums *pSource); /*! * \brief ÉÁ¹âͬ²½ÐźÅÔ´ * \param [in] hCam * \param [in] source LineSource_Off£º¹Ø±ÕÉÁ¹âͬ²½ LineSource_ExposureActive£ºÆعâµÄͬʱÉÁ¹â LineSource_Timer1Active£ºÓɶ¨Ê±Æ÷¿ØÖÆ LineSource_UserOutput0£ºÓÉÓû§Í¨¹ýÖ¸Áî¿ØÖÆ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetStrobeSource(HANDLE hCam,LineSourceEnums source); /*! * \brief ¶ÁÈ¡ÉÁ¹âͬ²½ÊÇ·ñ·´×ª * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] BOOL * pInvert * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetStrobeInvert(HANDLE hCam,BOOL *pInvert); /*! * \brief ÉÁ¹âͬ²½ÊÇ·ñ·´×ª£¬¼´ÉÁ¹âͬ²½ÓÐЧʱÊä³ö¸ßµçƽ»¹Êǵ͵çƽ¡£ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] bInvert * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetStrobeInvert(HANDLE hCam,BOOL bInvert); /*! * \brief ¶ÁÈ¡Óû§ÉèÖõÄÉÁ¹âͬ²½ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] BOOL * pSet * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetUserOutputValue0(HANDLE hCam,BOOL *pSet); /*! * \brief µ±ÉÁ¹âͬ²½Ô´Ñ¡ÎªUserOutputʱ Ö÷»ú¿ÉÒÔͨ¹ýMVSetUserOutputValue0À´¿ØÖÆÉÁ¹âͬ²½Êä³ö¸ßµçƽ»òµÍµçƽ¡£ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] bSet ÉèÖõçƽ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetUserOutputValue0(HANDLE hCam,BOOL bSet); /*! * \brief ÉèÖÃÐÄÌø³¬Ê±Ê±¼ä * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] unsigned long nTimeOut ÐÄÌø³¬Ê±Ê±¼ä µ¥Î»ms * \retval MVST_SUCCESS : ³É¹¦ * \note Ó¦ÓóÌÐò´ò¿ªÏà»úºó£¬Õý³£Çé¿öÏ»áÈ¥¹Ø±ÕÏà»ú¡£µ«ÓÐʱ³ÌÐò»áÒâÍâÖжϣ¬Ã»ÓÐÕý³£¹Ø±ÕÏà»ú¡£ * ÕâÖÖÇé¿öÏÂÏà»ú¾ÍÎÞ·¨Ôٴδò¿ªÁË£¨Ïà»úÈÏΪ»¹ÔÚ±»Ô­À´Èí¼þ¿ØÖÆ×Å£©¡£ * Òò´ËÉè¼ÆÁËheartbeat£¬Ó¦ÓóÌÐòÎÞÂÛÊÇ·ñÔڲɼ¯Í¼Ïñ£¬Ã¿¸ôÒ»¶¨Ê±¼ä(Ò»°ãÊÇ1000ms)¶¼ÒªÈ¥·ÃÎÊÒ»ÏÂÏà»ú¡£ * µ±³¬¹ýHeartbeatTimeoutʱ¼äûÓÐÀ´×ÔÓ¦ÓóÌÐòµÄ·ÃÎÊ£¬Ïà»ú¾ÍÈÏΪӦÓóÌÐòÖжÏÁË£¬»á×Ô¶¯¹Ø±ÕÔ­ÓÐÁ¬½Ó£¬ * ÒÔÓ­½ÓеÄÁ¬½Ó¡£ * ¶¨Ê±·ÃÎÊÏà»úµÄ²Ù×÷ÔÚSDKÄÚ²¿ÒѾ­ÊµÏÖ¡£±à³ÌʱÎÞÐèÔÙ´ÎʵÏÖ¡£ * ÔÚÉèÖöϵãµ÷ÊÔ³ÌÐòʱ£¬¿ÉÒÔ½«nTimeOutÉèÖó¤Ò»Ð©£¬·ñÔòÏà»ú»á×Ô¶¯¹Ø±ÕÁ¬½Ó¡£ * Release״̬ÏÂÉèÖöÌһЩ(3000ms),·ñÔòÓ¦ÓóÌÐòÒâÍâÍ˳öʱ£¬Ïà»ú»á³¤Ê±¼äÎÞ·¨ÖØдò¿ª¡£ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetHeartbeatTimeout(HANDLE hCam,unsigned long nTimeOut);//unit ms /*! * \brief ¶ÁÈ¡ÍøÂçÊý¾Ý°ü´óС * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] int *pPacketSize Êý¾Ý°ü´óС * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetPacketSize(HANDLE hCam,unsigned int *pPacketSize); /*! * \brief ¶ÁÈ¡ÍøÂçÊý¾Ý°ü´óСµÄ·¶Î§¡£ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] unsigned int * pMin ÍøÂçÊý¾Ý°ü×îСֵ * \param [out] unsigned int * pMax ÍøÂçÊý¾Ý°ü×î´óÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetPacketSizeRange(HANDLE hCam,unsigned int *pMin,unsigned int *pMax); /*! * \brief ÉèÖÃÍøÂçÊý¾Ý°üµÄ´óС¡£ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] nPacketSize ÍøÂçÊý¾Ý°ü´óС(µ¥Î»:×Ö½Ú)¡£¸Ã´óС±ØÐëСÓÚÍø¿¨Äܹ»Ö§³ÖµÄ×î´ó¾ÞÐÍÖ¡(Jumbo Frame)¡£ * \retval */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetPacketSize(HANDLE hCam,unsigned int nPacketSize); /*! * \brief ¶ÁÈ¡ÍøÂçÊý¾Ý°ü¼ä¸ô¡£ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] unsigned int *pDelay_us Êý¾Ý°ü¼ä¸ôʱ¼ä£¬µ¥Î»us * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetPacketDelay(HANDLE hCam,unsigned int *pDelay_us); /*! * \brief ¶ÁÈ¡ÍøÂçÊý¾Ý°ü¼ä¸ô·¶Î§ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] unsigned int * pMin Êý¾Ý°ü¼ä¸ôʱ¼ä×îСֵ£¬µ¥Î»us * \param [out] unsigned int * pMax Êý¾Ý°ü¼ä¸ôʱ¼ä×î´óÖµ£¬µ¥Î»us * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetPacketDelayRange(HANDLE hCam,unsigned int *pMin,unsigned int *pMax); /*! * \brief ÉèÖÃÍøÂçÊý¾Ý°üÖ®¼äµÄʱ¼ä¼ä¸ô¡£Èç¹ûÍø¿¨»òµçÄÔµÄÐÔÄÜÇ·¼Ñ£¬ÎÞ·¨´¦Àí¸ßËÙµ½´ïµÄÊý¾Ý°ü£¬»áµ¼Ö¶ªÊ§Êý¾Ý°ü£¬ ´Ó¶øʹͼÏñ²»ÍêÕû¡£¿ÉÒÔͨ¹ýÔö¼ÓÊý¾Ý°üÖ®¼äµÄʱ¼ä¼ä¸ôÒÔ±£Ö¤Í¼Ïñ´«Êä¡£µ«ÊÇÔö¼Ó¸ÃÖµ½«Ôö¼ÓͼÏñµÄʱ¼äÑÓ³Ù£¬ ²¢ÓпÉÄÜÓ°Ïñµ½Ö¡ÂÊ¡£ * \param [in] hCam * \param [in] nDelay_us ʱ¼ä¼ä¸ô(µ¥Î»:΢Ãë) * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetPacketDelay(HANDLE hCam,unsigned int nDelay_us); /*! * \brief ¶ÁÈ¡¶¨Ê±Æ÷ÑÓʱ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] uint32_t * pDelay ¶¨Ê±Æ÷ÑÓʱ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetTimerDelay(HANDLE hCam,uint32_t *pDelay); /*! * \brief ¶ÁÈ¡¶¨Ê±Æ÷ÑÓʱµÄ·¶Î§ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] uint32_t * pMin ¶¨Ê±Æ÷ÑÓʱµÄ×îСֵ * \param [out] uint32_t * pMax ¶¨Ê±Æ÷ÑÓʱµÄ×î´óÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetTimerDelayRange(HANDLE hCam,uint32_t *pMin,uint32_t *pMax); /*! * \brief µ±ÉÁ¹âͬ²½Ô´Ñ¡ÎªTimer1ʱMVSetStobeSource(hCam,LineSource_Timer1Active) ÉèÖÃTimer1ÔÚ½Óµ½´¥·¢ÐźźóÑÓ³Ù¶àÉÙus¿ªÊ¼¼Æʱ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] uint32_t nDelay ½Óµ½´¥·¢ÐźźóÑÓ³Ù¶àÉÙus¿ªÊ¼¼Æʱ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetTimerDelay(HANDLE hCam,uint32_t nDelay); /*! * \brief ¶ÁÈ¡¶¨Ê±Æ÷¼Æʱʱ³¤ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] uint32_t * pDuration ¶¨Ê±Æ÷¼Æʱʱ³¤ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetTimerDuration(HANDLE hCam,uint32_t *pDuration); /*! * \brief ¶ÁÈ¡¶¨Ê±Æ÷¼Æʱʱ³¤È¡Öµ·¶Î§ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] uint32_t * pMin ¶¨Ê±Æ÷¼Æʱʱ³¤×îСֵ * \param [out] uint32_t * pMax ¶¨Ê±Æ÷¼Æʱʱ³¤×î´óÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetTimerDurationRange(HANDLE hCam,uint32_t *pMin,uint32_t *pMax); /*! * \brief µ±ÉÁ¹âͬ²½Ô´Ñ¡ÎªTimer1ʱMVSetStobeSource(hCam,LineSource_Timer1Active) ÉèÖÃTimer1ÔÚ¿ªÊ¼¼Æʱºó£¬¼Æʱ¶à³¤Ê±¼ä¡£ * \param [in] HANDLE hCam * \param [in] uint32_t nDuration ÉèÖÃTimer1ÔÚ¿ªÊ¼¼Æʱºó£¬¼Æʱ¶à³¤Ê±¼ä(us)¡£¼´Êä³ö¸ß/µÍµçƽµÄÂö³å¿í¶È¡£ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetTimerDuration(HANDLE hCam,uint32_t nDuration); /*! * \brief ½«Bayer¸ñʽµÄ8bitµ¥Í¨µÀͼת»»ÎªBGR¸ñʽµÄ8BitÈýͨµÀͼ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] void * psrc µ¥Í¨µÀͼÏñµÄÖ¸Õë * \param [out] void * pdst ÈýͨµÀͼÏñÖ¸Õë * \param [in] unsigned int dststep ÈýͨµÀͼÏñÒ»ÐÐͼÏñµÄ×Ö½ÚÊý¡£Í¨³£ÎªÍ¼Ïñ¿í¶È*3£¬µ«ÊÇ»áΪÁË4×Ö½Ú¶ÔÆë»á²¹¼¸¸ö×Ö½Ú¡£ * \param [in] unsigned int width ͼÏñ¿í¶È * \param [in] unsigned int height ͼÏñ¸ß¶È * \param [in] MV_PixelFormatEnums pixelformat ÏñËظñʽ£¬ÓÉMVGetPixelFormatÈ¡µÃ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVBayerToBGR(HANDLE hCam, void *psrc,void *pdst,unsigned int dststep,unsigned int width,unsigned int height,MV_PixelFormatEnums pixelformat); /*! * \brief ½«Bayer¸ñʽµÄ8bitµ¥Í¨µÀͼת»»ÎªBGR¸ñʽµÄ8BitÈýͨµÀͼ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] MV_IMAGE_INFO * pInfo ²É¼¯Callbackº¯ÊýÖд«À´µÄͼÏñÐÅÏ¢Ö¸Õë * \param [out] MVImage * pImage ת»»½á¹ûͼÏñµÄÖ¸Õë * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVImageBayerToBGR(HANDLE hCam,MV_IMAGE_INFO *pInfo,MVImage *pImage); /*! * \brief ½«Bayer¸ñʽµÄ8bitµ¥Í¨µÀͼת»»ÎªBGR¸ñʽµÄ8BitÈýͨµÀͼ,ͬʱµ÷ÕûͼÏñµÄGAMMA,ÑÕÉ«ºÍ·´²î * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] MV_IMAGE_INFO * pInfo ²É¼¯Callbackº¯ÊýÖд«À´µÄͼÏñÐÅÏ¢Ö¸Õë * \param [out] MVImage * pImage ת»»½á¹ûͼÏñµÄÖ¸Õë * \param [in] double fGamma GammaУÕýÖµ£¬1Ϊ²»Ð£Õý£¬<1ʱ£¬½«°µ²¿ÌáÉý¡£ * \param [in] BOOL bColorCorrect ÊÇ·ñ½øÐÐÑÕɫУÕý£¬½øÐÐÑÕɫУÕýºó£¬Í¼Ïñ»á±äµÃ¸üÏÊÑÞ¡£ * \param [in] int nContrast ÊÇ·ñµ÷Õû·´²î£¬·¶Î§Îª0£­50£¬µ±¸ÃÖµ´óÓÚ0ʱ£¬Í¼Ïñ·´²î»á¸üÇ¿¡£ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVImageBayerToBGREx( HANDLE hCam,MV_IMAGE_INFO *pInfo,MVImage *pImage,double fGamma,BOOL bColorCorrect,int nContrast ); /*! * \brief BGR¸ñʽÈýͨµÀͼÏñËõ·Å * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] unsigned char * pSrc ԴͼÏñÖ¸Õë * \param [in] int srcWidth ԴͼÏñ¿í¶È * \param [in] int srcHeight ԴͼÏñ¸ß¶È * \param [out] unsigned char * pDst Ëõ·ÅºóͼÏñÖ¸Õë * \param [in] double fFactorX Ëõ·Å±ÈÀý * \param [in] double fFactorY Ëõ·Å±ÈÀý * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVZoomImageBGR(HANDLE hCam,unsigned char *pSrc,int srcWidth,int srcHeight, unsigned char *pDst,double fFactorX,double fFactorY); /*! * \brief »ñÈ¡Êý¾Ý´«ÊäµÄͳ¼ÆÐÅÏ¢ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] MVStreamStatistic * pStatistic ͳ¼ÆÐÅÏ¢ * \retval JMVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetStreamStatistic(HANDLE hCam, MVStreamStatistic *pStatistic ); /*! * \brief ¶ÁÈ¡²¢Ó¦ÓÃij×éÓû§Ô¤ÉèµÄ²ÎÊý * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] UserSetSelectorEnums userset * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVLoadUserSet(HANDLE hCam,UserSetSelectorEnums userset); /*! * \brief ½«µ±Ç°Ïà»úµÄ²ÎÊý±£´æµ½Óû§ÉèÖÃÖС£ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] UserSetSelectorEnums userset * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSaveUserSet(HANDLE hCam,UserSetSelectorEnums userset); /*! * \brief ÉèÖÃÏà»úÉϵ翪»úʱĬÈ϶ÁÈ¡²¢Ó¦ÓÃÄÄÒ»×éÓû§ÉèÖà * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] UserSetSelectorEnums userset * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetDefaultUserSet(HANDLE hCam,UserSetSelectorEnums userset); /*! * \brief ¶ÁÈ¡Ïà»úÉϵ翪»úʱĬÈ϶ÁÈ¡²¢Ó¦ÓÃÄÄÒ»×éÓû§ÉèÖà * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] UserSetSelectorEnums* pUserset Óû§ÉèÖà * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetDefaultUserSet(HANDLE hCam, UserSetSelectorEnums *pUserset); /*! * \brief ͼÏñ·­×ª * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] MVImage * pSrcImage ԴͼÏñÖ¸Õë * \param [out] MVImage * pDstImage ½á¹ûͼÏñÖ¸Õë¡£Èç¹ûΪNULL£¬Ôò·­×ªµÄ½á¹û»¹ÔÚԴͼÏñÄÚ¡£ * \param [in] ImageFlipType flipType ·­×ªÀàÐÍ¡£FlipHorizontal:×óÓÒ·­×ª,FlipVertical:ÉÏÏ·­×ª,FlipBoth:Ðýת180¶È * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVImageFlip(HANDLE hCam,MVImage *pSrcImage,MVImage *pDstImage,ImageFlipType flipType); /*! * \brief ͼÏñÐýת * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] MVImage * pSrcImage ԴͼÏñÖ¸Õë * \param [out] MVImage * pDstImage ½á¹ûͼÏñÖ¸Õë,²»ÄÜΪNULL¡£½á¹ûͼÏñµÄ¿í¶ÈºÍ¸ß¶ÈÓ¦¸ÃºÍԴͼÏñµÄ¿í¶ÈºÍ¸ß¶È»¥»»¡£ * \param [in] ImageRotateType roateType ÐýתÀàÐÍ£ºRotate90DegCw, Rotate90DegCcw * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVImageRotate(HANDLE hCam,MVImage *pSrcImage,MVImage *pDstImage, ImageRotateType roateType); /*! * \brief ½«²ÊÉ«BGRÈýͨµÀ24bitͼÏñת»»Îª»Ò¶Èµ¥Í¨µÀ8bitͼÏñ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] unsigned char * psrc ²ÊÉ«BGRÈýͨµÀ24bitͼÏñÖ¸Õë * \param [out] unsigned char * pdst »Ò¶Èµ¥Í¨µÀ8bitͼÏñÖ¸Õë * \param [in] unsigned int width ͼÏñ¿í¶È * \param [in] unsigned int height ͼÏñ¸ß¶È * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVBGRToGray(HANDLE hCam,unsigned char *psrc,unsigned char *pdst,unsigned int width,unsigned int height); /*! * \brief ½«²ÊÉ«BGRÈýͨµÀ24bitͼÏñת»»Îª»Ò¶Èµ¥Í¨µÀ8bitͼÏñ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] MVImage * pSrcImage ²ÊÉ«BGRÈýͨµÀ24bitͼÏñÖ¸Õë * \param [out] MVImage * pDstImage »Ò¶Èµ¥Í¨µÀ8bitͼÏñÖ¸Õë¡£¿í¶È¸ß¶È±ØÐëºÍԴͼÏàͬ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVImageBGRToGray(HANDLE hCam,MVImage *pSrcImage,MVImage *pDstImage); /*! * \brief ½«²ÊÉ«BGRÈýͨµÀ24bitͼÏñת»»ÎªYUVͼÏñ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] MVImage * pSrcImage ²ÊÉ«BGRÈýͨµÀ24bitͼÏñÖ¸Õë * \param [out] unsigned char * pDst YUVͼÏñÖ¸Õë (YUV422) * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVImageBGRToYUV(HANDLE hCam,MVImage *pSrcImage,unsigned char *pDst); /*! * \brief ½«»Ò¶Èµ¥Í¨µÀ8bitͼÏñת»»Îª²ÊÉ«BGRÈýͨµÀ24bitͼÏñ¡£×ª»»ºóÈý¸öͨµÀµÄÖµÊÇÏàͬµÄ¡£ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] unsigned char * psrc »Ò¶Èµ¥Í¨µÀ8bitͼÏñÖ¸Õë * \param [out] unsigned char * pdst ²ÊÉ«BGRÈýͨµÀ24bitͼÏñÖ¸Õë * \param [in] unsigned int width ͼÏñ¿í¶È * \param [in] unsigned int height ͼÏñ¸ß¶È * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGrayToBGR(HANDLE hCam,unsigned char *pSrc,unsigned char *pDst,int width,int height); /*! * \brief »ñÈ¡µ±Ç°×Ô¶¯Æعâģʽ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] ExposureAutoEnums * pExposureAuto µ±Ç°×Ô¶¯Æعâģʽ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetExposureAuto( HANDLE hCam,ExposureAutoEnums *pExposureAuto); /*! * \brief ÉèÖÃ×Ô¶¯Æعâģʽ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] ExposureAutoEnums ExposureAuto ×Ô¶¯Æعâģʽ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetExposureAuto( HANDLE hCam,ExposureAutoEnums ExposureAuto); /*! * \brief »ñÈ¡µ±Ç°×Ô¶¯ÔöÒæģʽ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] GainAutoEnums * pGainAuto µ±Ç°×Ô¶¯ÔöÒæģʽµÄ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetGainAuto( HANDLE hCam,GainAutoEnums *pGainAuto); /*! * \brief ÉèÖõ±Ç°×Ô¶¯ÔöÒæģʽ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] GainAutoEnums GainAuto ×Ô¶¯ÔöÒæģʽ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetGainAuto( HANDLE hCam,GainAutoEnums GainAuto); /*! * \brief »ñÈ¡µ±Ç°×Ô¶¯°×ƽºâģʽ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] BalanceWhiteAutoEnums * pBalanceWhiteAuto µ±Ç°×Ô¶¯°×ƽºâģʽ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetBalanceWhiteAuto( HANDLE hCam,BalanceWhiteAutoEnums *pBalanceWhiteAuto); /*! * \brief ÉèÖÃ×Ô¶¯°×ƽºâģʽ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] BalanceWhiteAutoEnums BalanceWhiteAuto ×Ô¶¯°×ƽºâģʽ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetBalanceWhiteAuto( HANDLE hCam,BalanceWhiteAutoEnums BalanceWhiteAuto); /*! * \brief »ñÈ¡×Ô¶¯µ÷ÕûÔöÒæʱ£¬ÔöÒæµ÷Õû·¶Î§µÄ×îСֵ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double * pAutoGainLowerLimit ÔöÒæµ÷Õû·¶Î§µÄ×îСֵ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoGainLowerLimit( HANDLE hCam,double *pAutoGainLowerLimit); /*! * \brief ÉèÖÃ×Ô¶¯µ÷ÕûÔöÒæʱ£¬ÔöÒæµ÷Õû·¶Î§µÄ×îСֵ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] double fAutoGainLowerLimit ÔöÒæµ÷Õû·¶Î§µÄ×îСֵ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoGainLowerLimit( HANDLE hCam,double fAutoGainLowerLimit); /*! * \brief »ñÈ¡×Ô¶¯µ÷ÕûÔöÒæʱ£¬ÔöÒæµ÷Õû·¶Î§µÄ×î´óÖµ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double * pAutoGainUpperLimit ÔöÒæµ÷Õû·¶Î§µÄ×î´óÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoGainUpperLimit( HANDLE hCam,double *pAutoGainUpperLimit); /*! * \brief ÉèÖÃ×Ô¶¯µ÷ÕûÔöÒæʱ£¬ÔöÒæµ÷Õû·¶Î§µÄ×î´óÖµ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] double fAutoGainUpperLimit Æعâʱ¼äµ÷Õû·¶Î§µÄ×îСֵ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoGainUpperLimit( HANDLE hCam,double fAutoGainUpperLimit); /*! * \brief »ñÈ¡×Ô¶¯µ÷ÕûÆعâʱ¼äʱ£¬Æعâʱ¼äµ÷Õû·¶Î§µÄ×îСֵ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double * pAutoExposureTimeLowerLimit Æعâʱ¼äµ÷Õû·¶Î§µÄ×îСֵ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoExposureTimeLowerLimit( HANDLE hCam,double *pAutoExposureTimeLowerLimit); /*! * \brief ÉèÖÃ×Ô¶¯µ÷ÕûÆعâʱ¼äʱ£¬Æعâʱ¼äµ÷Õû·¶Î§µÄ×îСֵ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] double fAutoExposureTimeLowerLimit Æعâʱ¼äµ÷Õû·¶Î§µÄ×î´óÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoExposureTimeLowerLimit( HANDLE hCam,double fAutoExposureTimeLowerLimit); /*! * \brief »ñÈ¡×Ô¶¯µ÷ÕûÆعâʱ¼äʱ£¬Æعâʱ¼äµ÷Õû·¶Î§µÄ×î´óÖµ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double * pAutoExposureTimeUpperLimit Æعâʱ¼äµ÷Õû·¶Î§µÄ×î´óÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoExposureTimeUpperLimit( HANDLE hCam,double *pAutoExposureTimeUpperLimit); /*! * \brief ÉèÖÃ×Ô¶¯µ÷ÕûÆعâʱ¼äʱ£¬Æعâʱ¼äµ÷Õû·¶Î§µÄ×î´óÖµ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] double fAutoExposureTimeUpperLimit * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoExposureTimeUpperLimit( HANDLE hCam,double fAutoExposureTimeUpperLimit); /*! * \brief »ñÈ¡×Ô¶¯µ÷ÕûÁÁ¶È(Æع⡢ÔöÒæ)ʱ£¬ÆÚÍûµ÷Õûµ½µÄͼÏñÁÁ¶È * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] int * pAutoTargetValue ÆÚÍûµ÷Õûµ½µÄͼÏñÁÁ¶È * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoTargetValue( HANDLE hCam,int *pAutoTargetValue); /*! * \brief ÉèÖÃ×Ô¶¯µ÷ÕûÁÁ¶È(Æع⡢ÔöÒæ)ʱ£¬ÆÚÍûµ÷Õûµ½µÄͼÏñÁÁ¶È * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] int nAutoTargetValue ÆÚÍûµ÷Õûµ½µÄͼÏñÁÁ¶È * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoTargetValue( HANDLE hCam,int nAutoTargetValue); /*! * \brief µ±×Ô¶¯ÔöÒæºÍ×Ô¶¯Æعâʱ¼ä¶¼´ò¿ªÊ±£¬»ñÈ¡ÄÄÒ»¸öÖµÓÅÏȵ÷Õû * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] AutoFunctionProfileEnums * pAutoFunctionProfile ÔöÒæÓÅÏÈ»òÆعâʱ¼äÓÅÏÈ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoFunctionProfile( HANDLE hCam,AutoFunctionProfileEnums *pAutoFunctionProfile); /*! * \brief µ±×Ô¶¯ÔöÒæºÍ×Ô¶¯Æعâʱ¼ä¶¼´ò¿ªÊ±£¬ÉèÖÃÄÄÒ»¸öÖµÓÅÏȵ÷Õû * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] AutoFunctionProfileEnums AutoFunctionProfile ÔöÒæÓÅÏÈ»òÆعâʱ¼äÓÅÏÈ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoFunctionProfile( HANDLE hCam,AutoFunctionProfileEnums AutoFunctionProfile); /*! * \brief ×Ô¶¯ÔöÒæ»ò×Ô¶¯Æعâʱ£¬Í¼ÏñÁÁ¶ÈÓëÄ¿±êÁÁ¶È²îÒìµÄÈݲ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] int * pAutoThreshold ͼÏñÁÁ¶ÈÓëÄ¿±êÁÁ¶È²îÒìµÄÈݲî * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetAutoThreshold( HANDLE hCam,int *pAutoThreshold); /*! * \brief ×Ô¶¯ÔöÒæ»ò×Ô¶¯Æعâʱ£¬Í¼ÏñÁÁ¶ÈÓëÄ¿±êÁÁ¶È²îÒìµÄÈݲ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] int nAutoThreshold ͼÏñÁÁ¶ÈÓëÄ¿±êÁÁ¶È²îÒìµÄÈݲî * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetAutoThreshold( HANDLE hCam,int nAutoThreshold); /*! * \brief »ñÈ¡µ±Ç°Ù¤ÂíÖµ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double * pGamma µ±Ç°Ù¤ÂíÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetGamma( HANDLE hCam, double *pGamma ); /*! * \brief »ñÈ¡Ù¤ÂíÖµ¿ÉÉèÖõķ¶Î§ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] double * pGammaMin Ù¤Âí×îСֵ * \param [out] double * pGammaMax Ù¤Âí×î´óÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetGammaRange( HANDLE hCam, double *pGammaMin, double *pGammaMax); /*! * \brief ÉèÖÃÙ¤ÂíÖµ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] double fGamma Ù¤ÂíÖµ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetGamma( HANDLE hCam,double fGamma); /*! * \brief ÉèÖòéÕÒ±í * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] unsigned long * pLUT ²éÕÒ±íÊý×飬unsigned long pLUT[1024]; * \param [in] int nCnt ²éÕÒ±íÊý×éµ¥Ôª¸öÊý£¬±ØÐëÊÇ1024 * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetLUT( HANDLE hCam,unsigned long *pLUT,int nCnt ); /*! * \brief¡¡Ê¹ÓòéÕÒ±í * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [in] BOOL bEnable ÊÇ·ñÔÊÐí * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSetEnableLUT( HANDLE hCam,BOOL bEnable ); /*! * \brief »ñÈ¡µ±Ç°ÊÇ·ñʹÓòéÕÒ±í״̬ * \param [in] HANDLE hCam * \param [out] BOOL * bEnable µ±Ç°ÊÇ·ñʹÓòéÕÒ±í״̬ * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetEnableLUT( HANDLE hCam,BOOL *bEnable ); /*! * \brief ²É¼¯Ò»Ö¡Í¼Ïñ¡£ * \param [in] HANDLE hCam Ïà»ú¾ä±ú * \param [out] HANDLE hImage ͼÏñ¾ä±ú¡£±£´æ²É¼¯µ½µÄͼÏñ¡£ * \param [in] unsigned long nWaitMs µÈ´ý¶à³¤Ê±¼ä£¬µ¥Î»ms * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVSingleGrab(HANDLE hCam, HANDLE hImage, unsigned long nWaitMs); /*! * \brief µ±¼ÆËã»úÊÕµ½ÐµÄͼÏñ£¬¶øÉÏÒ»Ö¡µÄCallbackº¯Êý»¹Ã»ÓÐÖ´ÐÐÍ꣬SDKÖлáÈÓµôеÄһ֡ͼÏñ¡£´Ëº¯Êý¿ÉÒÔ»ñÈ¡ÈÓµôµÄÖ¡Êý¡£ * \param [in] HANDLE hCam * \param [out] unsigned long * pDroppedFrames ÈÓµôµÄÖ¡Êý * \retval MVST_SUCCESS : ³É¹¦ */ MVGIGE_API MVSTATUS_CODES __stdcall MVGetDroppedFrame(HANDLE hCam,unsigned long *pDroppedFrames); #ifdef __cplusplus } #endif #endif //MVGIGE_H_INCLUDE_