,例如,我有两个USB摄像机左右显示,在OpenCvSharp打开摄像头后,我想知道哪个相机显示右侧。
可以仅使用C#执行此类功能? 可以通过使用C/C ++来实现吗? 我目前正在使用C#和OpenCvSharp创建一个应用程序来显示USB摄像头。相机打开是opencvSharp's
capture = new VideoCapture(0);.
使用
在videocapture()中,按照Windows识别的顺序打开相机。 如果连接了来自同一制造商的多个USB摄像机,则不能保证打开摄像头的顺序。在我的个人研究中,我发现了一个名为DirectShowlib的Nuget
https://github.com/luthfiampas/directshowlib
DsDevice[] videoDevices = DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice);
看来,使用getDevicesofcat(filterCategory.videoinputdevice)获得的列表与OpenCV打开它们的顺序相同。 但是,我找不到任何正式的佐证来支持这一点。
VideoCapture
我不确定实际返回了什么十六进制数字字符串。它可能只是一个对象地址。
描述了更系统的方法
Herey:camIndex = 0
cap = cv2.VideoCapture(camIndex)
cap1 = cv2.VideoCapture(camIndex+1)
s = str(cap)
s1 = str(cap1)