📄 mvc1000m.h
字号:
#ifndef _MVC1000APIUSER_H
#define _MVC1000APIUSER_H
// Capture Information Structure
struct CapInfoStruct
{
unsigned char *Buffer;
unsigned long Height;
unsigned long Width;
unsigned long HorizontalOffset;
unsigned long VerticalOffset;
unsigned long Exposure;
unsigned char Gain[3];
unsigned char Control;
unsigned char Reserved[8];
};
// Return Contanst
#define ResSuccess 0x0000
#define ResNullHandleErr 0x0001
#define ResNullPointerErr 0x0002
#define ResFileOpenErr 0x0003
#define ResNoDeviceErr 0x0004
#define ResInvalidParameterErr 0x0005
#define ResOutOfMemoryErr 0x0006
#define ResNoPreviewRunningErr 0x0007
#define ResOSVersionErr 0x0008
#define ResUsbNotAvailableErr 0x0009
#define ResNotSupportedErr 0x000a
#define ResNoSerialString 0x000b
#define ResVerificationErr 0x000c
//#define ResTimeoutErr 0x000d
#define ResUnknownErr 0x00ff
#define ResScaleModeErr 0x000e
#define ResPreviewRunningErr 0x000f
#define ResNotPauseErr 0x0011
#ifdef MVC1000API_EXPORTS
#define MV_API extern __declspec(dllexport) int WINAPI
#else
#define MV_API extern __declspec(dllimport) int WINAPI
#endif
#ifdef __cplusplus
extern "C"{
#else
#endif
typedef
VOID
(WINAPI * LPMV_CALLBACK)(LPVOID lpParam);
typedef
VOID
(WINAPI * LPMV_CALLBACK2)(LPVOID lpParam, LPVOID lpUser);
/*--------------------------------------------------------------------------
Initialize device, should call before all function, the HANDLE returned.
--------------------------------------------------------------------------*/
MV_API
MV_Usb2Init( IN LPCTSTR pszFilterName,
OUT int *pnIndex,
IN CapInfoStruct *pCapInfo,
OUT HANDLE *hImager);
/*--------------------------------------------------------------------------
Uninitialize device, should call when initialize fail or exit application.
--------------------------------------------------------------------------*/
MV_API
MV_Usb2Uninit(IN HANDLE* hImager);
/*--------------------------------------------------------------------------
start preview, should call after initial.
--------------------------------------------------------------------------*/
MV_API
MV_Usb2Start( IN HANDLE hImager,
IN LPCTSTR pszTitle,
IN DWORD dwStyle,
IN DWORD x,
IN DWORD y,
IN DWORD dwWidth,
IN DWORD dwHeight,
IN HWND hParentWnd,
IN DWORD nId,
IN int ViewDataThreadPriority,
IN int ViewDrawThreadPriority);
/*--------------------------------------------------------------------------
pause preview, call this before call MV_Usb2SavePausedFrameAsBmp.
--------------------------------------------------------------------------*/
MV_API
MV_Usb2Pause(IN HANDLE hImager,
IN ULONG pause);
/*--------------------------------------------------------------------------
stop preview, call before exit to application
--------------------------------------------------------------------------*/
MV_API
MV_Usb2Stop(IN HANDLE hImager);
/*--------------------------------------------------------------------------
set a gamma array to preview.
--------------------------------------------------------------------------*/
MV_API
MV_Usb2SetGamma( IN HANDLE hImager,
IN BYTE *pGamma,
IN BOOL bGamma );
/*--------------------------------------------------------------------------
Set the capture information, note CapInfoStruct.
--------------------------------------------------------------------------*/
MV_API
MV_Usb2SetCapInfo(IN HANDLE hImager, IN CapInfoStruct *pCapInfo);
/*--------------------------------------------------------------------------
Set the capture information without changing preview window
add v1.1.2.2
--------------------------------------------------------------------------*/
MV_API
MV_Usb2SetPartOfCapInfo(IN HANDLE hImager, IN CapInfoStruct *pCapInfo);
/*--------------------------------------------------------------------------
get frame rate.
--------------------------------------------------------------------------*/
MV_API
MV_Usb2GetFrameRate( IN HANDLE hImager,
OUT float *pfFrameRate);
/*--------------------------------------------------------------------------
save paused frame to file (must in pause state).
--------------------------------------------------------------------------*/
MV_API
MV_Usb2SavePausedFrameAsBmp( IN HANDLE hImager,
IN LPCTSTR szFileName);
/*--------------------------------------------------------------------------
save one frame to file.
--------------------------------------------------------------------------*/
MV_API
MV_Usb2SaveFrameAsBmp( IN HANDLE hImager,
IN CapInfoStruct *pCapInfo,
OUT BYTE *pDest,
IN LPCTSTR szFileName);
/*--------------------------------------------------------------------------
get frame data
--------------------------------------------------------------------------*/
MV_API
MV_Usb2GetRawData(IN HANDLE hImager,
IN struct CapInfoStruct *pCapInfo);
/*--------------------------------------------------------------------------
set preview window.
--------------------------------------------------------------------------*/
MV_API
MV_Usb2SetViewWin(IN HANDLE hImager,
IN RECT* pClientRect);
/*--------------------------------------------------------------------------
get preview window
--------------------------------------------------------------------------*/
MV_API
MV_Usb2GetViewWin(IN HANDLE hImager,
OUT PRECT pSubWindowRect);
/*--------------------------------------------------------------------------
reset preview window to capInfo.Width and capInfo.Height.
--------------------------------------------------------------------------*/
MV_API
MV_Usb2ResetViewWin(IN HANDLE hImager); // Imager object handle
/*--------------------------------------------------------------------------
get device number connecting to pc.
--------------------------------------------------------------------------*/
MV_API
MV_Usb2GetNumberDevices(IN HANDLE hImager,
OUT PULONG pNumberDevices); // Ptr to number
/*--------------------------------------------------------------------------
set gamma value to preview. this should mutex to gamma table.
--------------------------------------------------------------------------*/
MV_API
MV_Usb2SetGammaValue(HANDLE hImager, float GammaValue, BOOL bGammaOn);
/*--------------------------------------------------------------------------------
same to MV_Usb2GetRawData
--------------------------------------------------------------------------*/
MV_API
MV_Usb2GetGrayData( IN HANDLE hImager,
IN CapInfoStruct *pCapInfo);
/*--------------------------------------------------------------------------------
get paused frame data (must be in pause state )
--------------------------------------------------------------------------------*/
MV_API MV_Usb2GetPausedGrayData( IN HANDLE hImager,
OUT BYTE* pDest);
/*--------------------------------------------------------------------------
get serial. don't call now please.
--------------------------------------------------------------------------------*/
MV_API
MV_Usb2GetSerial(IN HANDLE hImager, OUT LPTSTR szSerial);
/*--------------------------------------------------------------------------
capture external input, and capture one frame if an rising edge occur on pin6
--------------------------------------------------------------*/
MV_API
MV_Usb2GetOneFrameByExternal(IN HANDLE hImager,
IN struct CapInfoStruct *pCapInfo,
IN DWORD dwTimeout, //millisecond
OUT BOOL *bTriggered);
/*--------------------------------------------------------------------------
setup callbace function for mask, if MaskCallBackFunction==NULL, will no mask.
--------------------------------------------------------------*/
MV_API
MV_Usb2SetMaskCallBack(IN HANDLE hImager, LPMV_CALLBACK2 MaskCallBackFunction, LPVOID lpUser);
/*--------------------------------------------------------------------------
real time image process.
--------------------------------------------------------------*/
MV_API
MV_Usb2SharpPreview(IN HANDLE hImager, BOOL bSharp);
/*--------------------------------------------------------------------------
get an nFrames Average Frame
--------------------------------------------------------------*/
MV_API
MV_Usb2GetFramesAverageGrayData( IN HANDLE hImager,
IN struct CapInfoStruct *pCapInfo,
IN int nFrames );
/*--------------------------------------------------------------------------
auro exposure
--------------------------------------------------------------*/
MV_API
MV_Usb2AutoExposure(IN HANDLE hImager,
IN BOOL bAdjustExp,
IN BYTE btTarget,
IN LPVOID lpFunc,
IN LONG *pParam);
/*--------------------------------------------------------------------------
GPIO Read and write, only pin2,pin3,pin4,pin5
--------------------------------------------------------------*/
MV_API
MV_Usb2BitOperation( IN HANDLE hImager,
IN BYTE bOut,
OUT BYTE *bIn );
/*--------------------------------------------------------------------------
real time image process.
--------------------------------------------------------------*/
MV_API
MV_Usb2MeanPreview( IN HANDLE hImager, BOOL bMean );
/*--------------------------------------------------------------------------
real time image process.
--------------------------------------------------------------*/
MV_API
MV_Usb2EmbossPreview(IN HANDLE hImager, BOOL bEmboss);
/*--------------------------------------------------------------------------
real time image process.
--------------------------------------------------------------*/
MV_API
MV_Usb2EdgeDetectPreview(IN HANDLE hImager, BOOL bEdgeDetect);
/*--------------------------------------------------------------------------
real time image process.
--------------------------------------------------------------*/
MV_API
MV_Usb2GaussBlurPreview(IN HANDLE hImager, BOOL bGaussBlur);
MV_API
MV_Usb2SetFrameCallBack( IN HANDLE hImager,
LPMV_CALLBACK2 FrameCallBackFunction,
LPVOID lpUser);
#ifdef __cplusplus
}
#endif
#endif //_MVC1000APIUSER_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -