目前项目中需要用到两个摄像头同时捕捉图像.在使用VFW时不知道如何选择

解决方案 »

  1.   

    我用capGetDriverDescription枚举设备只能找到一个.
    用capDriverConnect(m_hwndCap,0)可以显示第一个摄像头,capDriverConnect(m_hwndCap,1)就会报错说是没有这个东东.
    摄像头索引号在哪里找?
      

  2.   


    使用下面的函数可以同时显示两个窗口了.但怎么才能自动选择呢?
    ::SendMessage(m_hwndCap,   WM_CAP_DLG_VIDEOSOURCE,   0,   0)  ;  
    ::SendMessage(m_hwndCap,   WM_CAP_DLG_VIDEOSOURCE,   1,   0)  ;  
      

  3.   

    VFW现在用的少了,现在采集卡一般都有开发包,用它的开发包自己写吧,这样就好控制摄像头了。
      

  4.   

       那个::SendMessage(m_hwndCap, WM_CAP_DLG_VIDEOSOURCE, 0, 0)是用来显示视频源选择窗口的,里面的下拉菜单里面就是所有的相机,你选择一个就行了.其实只要你的系统里连接了多个设备,拟在调用
    SendMessage(m_hCaptureWnd,WM_CAP_DRIVER_CONNECT,m_iDriverIndex,0L)的时候,系统就会弹出视频源选择对话框,无须调用其他的程序.