利用Win3PI驱动本机摄像头.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用Win3PI驱动本机摄像头

? ?程序名称:? ?? ?WebCam测试 ? ?目的:? ?? ?? ?? ? 利用Win32API驱动本机摄像头。 ? ?注意事项:? ?? ?vfm32.lib路径默认不在LabWindow的环境变量中,需手工添加。 ? ?修改纪录:? ?? ? ??作者:? ?? ?? ?? ???FASM ??生成日期:? ?? ? 2009.5.22? ?? ?? ? */ #include cvirte.h?? #include userint.h #include windows.h #include vfw.h? ?? ?? ?? ?? ?? ?? ?? ???//驱动摄像头的库包含文件 #include Main.h static int panelHandle; static int CapHandle;? ?? ?? ?? ?? ?? ???//获得的视频窗口句柄 int main (int argc, char *argv[]) { ? ?? ?if (InitCVIRTE (0, argv, 0) == 0) ? ?? ?? ?return -1; /* out of memory */ ? ?? ?if ((panelHandle = LoadPanel (0, Main.uir, PANEL)) 0) ? ?? ?? ?return -1; ? ?? ?DisplayPanel (panelHandle); ? ?? ?RunUserInterface (); ? ?? ?DiscardPanel (panelHandle); ? ?? ?return 0; } int CVICALLBACK PICCALLBACK (int panel, int control, int event, ??void *callbackData, int eventData1, int eventData2) { switch (event) { ??case EVENT_LEFT_CLICK: ? ?if(CapHandle)? ?? ?? ?? ?? ? //如果视频窗口创建成功 ? ?{? ? ? ?? ?? ?? ?? ? SendMessage ((HWND)CapHandle, WM_CAP_DRIVER_DISCONNECT, 0, 0);? ?? ???//如果已打开,则先关闭 ? ?? ?? ?? ?? ? SendMessage ((HWND)CapHandle, WM_CAP_DRIVER_CONNECT, 0, 0);? ?? ?? ?? ? //连接设备 ? ?? ?? ?? ?? ? SendMessage ((HWND)CapHandle, WM_CAP_SET_PREVIEWRATE, 1000, 0);? ???//设置御览祯率,目前设为1000(设备较旧) ? ?? ?? ?? ?? ? SendMessage ((HWND)CapHandle, WM_CAP_SET_SCALE, TRUE, 0); ? ?? ?? ?? ?? ? SendMessage ((HWND)CapHandle, WM_CAP_SET_PREVIEW, TRUE, 0);? ?? ?? ?? ?//打开御览 ? ?} ? ?break; } return 0; } int CVICALLBACK QUITCALLBACK (int panel, int control, int event, ??void *callbackData, int eventData1, int eventData2) { switch (event) { ??case EVENT_COMMIT: ? ?if(CapHandle) ? ? SendMessage ((HWND)CapHandle, WM_CAP_DRIVER_DISCONNECT, 0, 0);??//关闭设备连接,窗口句柄不需要释放(只是借用来的) ? ?QuitUserInterface (0); ? ?break; ??case EVENT_LEFT_CLICK: ? ?break; } return 0; } /* ? ? 函数说明:本来获得设备信息的最佳位置是在窗口类的创建过程,但LabWindows默认不处理Windows消息。所以改在 ? ?? ?? ?? ?? ?? ?? ?这里来预处理设备信息。 ? ? 注意:? ?? ? 这个函数是会被LabWindows多次调用的,所以应对设备用到的资源进行保护。本例利用全局的视频御览句柄 ? ?? ?? ?? ?? ?? ?? ?做保护标志。(详见代码)? ? */ int CV

文档评论(0)

aww4466 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档