设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2322|回复: 0
打印 上一主题 下一主题

[其它] 关于ACCESS调用摄像头问题 有兴趣的请进

[复制链接]
跳转到指定楼层
1#
发表于 2004-8-6 07:47:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下是我找到的一点有关的摄像头调用的资料

请高手帮忙解决转到ACCESS







如何提定视频源???

有四个摄像头,想用Video Capture控件(我找到了一个VB的控件)编一个程序。一共也是用了四个Video Capture控件。可是每当我要运行程序的时候(程序还没开始运行之前)。windows就会跳出来一个"选择视频源"的对话框(如图如示),每次都这样。请问该怎么办啊。

接着我又去下载了一个VB源码的,用VFW也就是API写的。开头是这样的



Dim lpszName As String * 100

Dim lpszVer As String * 100

Dim Caps As CAPDRIVERCAPS

'//Create Capture Window

capGetDriverDescriptionA 0, lpszName, 100, lpszVer, 100

lwndC = capCreateCaptureWindowA(lpszName, WS_CHILD Or WS_VISIBLE, 0, 0, 160, 120, Me.hwnd, 0)

'// Connect the capture window to the driver

capDriverConnect lwndC, 0

'// Get the capabilities of the capture driver

capDriverGetCaps lwndC, VarPtr(Caps), Len(Caps)



其中哪句capDriverConnect lwndC, 0 好像是指定具体的视频源。可我不知要怎么改才能连接到我所指定的视频源,比如说是第三个视频源。好像直接改成capDriverConnect lwndC, 3,是不行的。

请帮帮忙!谢谢了。





我想在VC程序中获取USB口的摄像头数据,请问那位高手知不知道有没有什么API函数之类的啊!多谢了各位,如果有源代码更好!  

---------------------------------------------------------------  



使用vfw  



                   char  achDeviceVersion[80]  ;            //  设备版本信息  

                   char  achDeviceAndVersion[160];  //设备名及版本信息  

                   int  uIndex;  

                           DriverCount=0;//支持的设备驱动程序个数  

             for(uIndex=0;uIndex<5;uIndex++)  

                 {  

                             if(capGetDriverDescription(uIndex,(LPSTR)achDeviceAndVersion,sizeof(achDeviceAndVersion),(LPSTR)achDeviceVersion,sizeof(achDeviceVersion)))  

                             {  

                             strcat(achDeviceAndVersion,",");  

                     strcat(achDeviceAndVersion,achDeviceVersion);  

                     DriverCount++;  



                             }  

                             else  

                                         break;  

                 }  



                 if(DriverCount==0)  

                             MessageBox("找不到视频设备,请确认已正确连接","错误信息",MB_ICONSTOP  |MB_OK);  

             else  

                 {  

                  

                             CMainFrame  *pFrame=(CMainFrame  *)AfxGetApp()->m_pMainWnd;  

                         CTest11View  *pView=(CTest11View  *)pFrame->GetActiveView();  

                             HWND  hWnd;  

                             hWnd=pView->GetSafeHwnd();  

                           

                       RECT  rc;              

                       GetClientRect(&rc);  

               hWndCap=capCreateCaptureWindow(NULL,  

                                   WS_CHILD  |WS_VISIBLE,30,70,  

                                   (rc.right-rc.left)/4,(rc.bottom-rc.top)/4,  

                                   hWnd,//parent  window  

                                   0                    //chile  window  id  

                                   );//建立视频采集窗口  

                       ASSERT(hWndCap);  

                       if(capDriverConnect(hWndCap,--uIndex))//判断采集窗口是否与0号采集卡驱动相连接  



           {  

                       //获取视频设备采集能力  

                                   capDriverGetCaps(hWnd,&CapDriverCaps,sizeof(CAPDRIVERCAPS));  

               if(CapDriverCaps.fCaptureInitialized)//初始化成功  

                        

                       {    //  设置Preview模式的频帧                          

                       capPreviewRate(hWndCap,  20);   

                       //启动Preview模式  

                       capPreview(hWndCap,  TRUE);  

                               //设置每帧结束后所调用的回调函数  

                                   //capSetCallbackOnFrame(hWndCap,FrameCallbackProc);  

                           

                         //如果支持视频源选择,则弹出视频源选择对话框  

           
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-3 00:03 , Processed in 0.177326 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表