一个摄像头处理的SDK,可以进行录像、抓图,只需要引用其中的devwdm.dll就行,直接调用其中相应的函数均即可完成。前提是你电脑要安装摄像头。 #ifndef _DEVWDM_H #define _DEVWDM_H #endif typedef enum { AnalogVideo_None = 0x00000000, AnalogVideo_NTSC_M = 0x00000001, AnalogVideo_PAL_B = 0x00000010, AnalogVideo_PAL_D = 0x00000020, AnalogVideo_SECAM_B = 0x00001000, AnalogVideo_SECAM_D = 0x00002000, } AnalogVideoStandard; /*devwdm_InitCard 函数功能: 初始化设备 nID: 设备ID号,默认0 hWnd: 显示视频窗口的窗口句柄 nWidth, nHeight: 图像的分辨率 */ LONG APIENTRY devwdm_InitCard(int nID, HWND hWnd, int nWidth, int nHeight); /*devwdm_CloseCard: 函数功能: 关闭设备 nID: 设备ID号 */ LONG APIENTRY devwdm_CloseCard(int nID); /*devwdm_SetVideoStandard 函数功能: 设置视频制式 nID: 设备ID号 VideoStandard: 制式,如P制:AnalogVideo_PAL_D;N制:AnalogVideo_NTSC_M等 */ LONG APIENTRY devwdm_SetVideoStandard(int nID, LONG VideoStandard); /*devwdm_SaveBmpFile 函数功能: 保存单前单帧图像 nID: 设备ID号 strFileName: 存放bmp文件的完整路径名 */ LONG APIENTRY devwdm_SaveBmpFile(int nID, char* strFileName); /*devwdm_SetDisplayPos 函数功能: 调整视频在其视频窗口的显示位置 nID: 设备ID号 x: 左上角的x位置 y: 左上角的y位置 w: 图像的宽度 h: 图像的高度 */ LONG APIENTRY devwdm_SetDisplayPos(int nID, int x, int y, int w, int h); /*devwdm_SetBrightNess,devwdm_SetContrast, devwdm_SetSaturation ,devwdm_SetHue 函数功能: 调整视频的颜色值,分别为亮度,对比度,饱和度色度 nID: 设备ID号 */ LONG APIENTRY devwdm_SetBrightNess(int nID, LONG brightness); LONG APIENTRY devwdm_SetContrast(int nID, LONG contrast); LONG APIENTRY devwdm_SetSaturation(int nID, LONG satu); LONG APIENTRY devwdm_SetHue(int nID, LONG hue); /*devwdm_GetBrightNess,devwdm_GetContrast, devwdm_GetSaturation ,devwdm_GetHue 函数功能: 取得当前视频的颜色值,分别为亮度,对比度,饱和度色度 nID: 设备ID号 Min---Max: 色彩范围值 */ LONG APIENTRY devwdm_GetBrightNess(int nID, LONG *brightness, LONG *Max, LONG *Min, LONG *Default); LONG APIENTRY devwdm_GetContrast(int nID, LONG *contrast, LONG *Max, LONG *Min, LONG *Default); LONG APIENTRY devwdm_GetSaturation(int nID, LONG *satu, LONG *Max, LONG *Min, LONG *Default); LONG APIENTRY devwdm_GetHue(int nID, LONG *hue, LONG *Max, LONG *Min, LONG *Default); /*devwdm_GetVideoPinCounts 函数功能: 取得当前设备的输入源,如:s-video, 复合视频等 nID: 设备ID号 OutputPins: InputPins 暂时不用 */ LONG APIENTRY devwdm_GetVideoPinCounts(int nID, LONG *OutputPins, LONG *InputPins); /*devwdm_RouteOutPin 函数功能: 设置当前设备的输入源, nID: 设备ID号 OutputPins: s-video为0, 复合视频为1 */ LONG APIENTRY devwdm_RouteOutPin(int nID, LONG OutputPin); /*devwdm_StartVideoPreview 函数功能: 启动视频 nID: 设备ID号 */ LONG APIENTRY devwdm_StartVideoPreview(int nID); /*devwdm_SetFlip 函数功能: 将视频图像垂直翻转180度, nID: 设备ID号 dwFlip: 为DWORD的指针,1或0, 1表示翻转,0表示正常显示 fbGet: 1:此函数当Get使用, 0,此函数当Set使用 */ LONG APIENTRY devwdm_SetFlip(int nID, DWORD *dwFlip, BOOL fbGet); /*devwdm_SetMirror 函数功能: 将视频图水平翻转180度, nID: 设备ID号 dwFlip: 为DWORD的指针,1或0, 1表示翻转,0表示正常显示 fbGet: 1:此函数当Get使用, 0,此函数当Set使用 */ LONG APIENTRY devwdm_SetMirror(int nID, DWORD *dwMirror, BOOL fbGet); /*devwdm_PreviewPause 函数功能: 视频暂停显示, nID: 设备ID号 */ LONG APIENTRY devwdm_PreviewPause(int nID); /*devwdm_PreviewResume 函数功能: 重新启动视频显示,与devwdm_PreviewPause相对应 nID: 设备ID号 */ LONG APIENTRY devwdm_PreviewResume(int nID); /*devwdm_StartCaptureMp4 函数功能: 启动录像,进行动态采集 nID: 设备ID号 strFileName: 存放录像文件的完整路径名 */ LONG APIENTRY devwdm_StartCaptureMp4(int nID, char* strFileName); /*devwdm_stopCaptureMp4 函数功能: 停止录像,终止进行动态采集 nID: 设备ID号 */ LONG APIENTRY devwdm_stopCaptureMp4(int nID);
2022-09-19 17:11:37 11.12MB 摄像头图像抓取SDK
1