使用AForge库和VB.NET库同时捕获两个摄像机

时间:2018-10-09 08:51:28

标签: vb.net camera aforge usb-camera

我需要使用VB.NET处理两个USB网络摄像头。我为此使用了AForge库。问题在于仅触发了camera2的事件处理程序。

如何激活两个摄像机?

Dim camera1
Dim camera2

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    Dim Cameras = New FilterInfoCollection(FilterCategory.VideoInputDevice)
    Dim camera1 = New VideoCaptureDevice(Cameras(0).MonikerString)
    Dim camera2 = New VideoCaptureDevice(Cameras(1).MonikerString)

    AddHandler camera1.NewFrame, AddressOf NewFrameHandler1
    AddHandler camera2.NewFrame, AddressOf NewFrameHandler2

    camera1.Start()
    camera2.Start()

End Sub

Private Sub NewFrameHandler1(sender As Object, eventArgs As NewFrameEventArgs)
    Console.WriteLine("Camera 1 captured")
End Sub

Private Sub NewFrameHandler2(sender As Object, eventArgs As NewFrameEventArgs)
    Console.WriteLine("Camera 2 captured")
End Sub

1 个答案:

答案 0 :(得分:0)

我知道现在回答已经晚了,但可能会对某人有所帮助, 我遇到了同样的问题,在我的情况下,我使用 USB 集线器连接多个 USB 摄像头,我通过将 USB 摄像头放在系统的两个不同 USB 端口中解决了这个问题,并且它可以工作。 我在此期间发现的另一个问题是,当我添加 3 个 USB 摄像头时,索引 0 处的摄像头无法正常工作。