Aforge和Cyber​​Link YouCam,相机无法启动

时间:2015-02-25 09:51:48

标签: c# camera aforge

我正致力于使用C#和Aforge从网络摄像头捕获图像的项目。

当相机是Cyber​​Link'我从相机中得到这个帧:

enter image description here

您在此处看到的代码当然只是我代码的一部分,但它演示了我在Aforge中的使用。

在此电脑上获取所有摄像头:

var webCam = new FilterInfoCollection(FilterCategory.VideoInputDevice);
var cams = new List<VideoCaptureDevice>();

foreach (FilterInfo camInfo in webCam)
{
   var cam = new VideoCaptureDevice(camInfo.MonikerString);
   cam.NewFrame += NewFrameHandler;
   cams.Add(cam);
}

我有一个计时器,每隔几分钟启动相机就像这样:

foreach (var cam in cams)
{
    cam.Start();
}

当我收到活动&#39; NewFrame&#39;我打电话给我的功能&#39; NewFrameHandler&#39;保存框架并关闭相机:

var bit = (Bitmap)eventArgs.Frame.Clone();
bit.Save("@c:\Cam_" + DateTime.Now.Ticks + ".png", ImageFormat.Png);

foreach (var cam in cams)
{
    cam.SignalToStop();
}

正如我所说,代码效果很好,只有当摄像头是讯连科技时我才有这个问题。

2 个答案:

答案 0 :(得分:0)

我删除了youcam软件,现在我正确地获得了框架。 如果有人有更优雅的解决方案,我们很乐意听到。

答案 1 :(得分:0)

YouCam软件可能会劫持流,并且删除它可能是唯一的选择。您还可以检查YouCam是否提供了自己的API,允许您与相机连接。我之前使用过AForge,它与我使用的罗技相机配合得很好。你的代码对我来说很好,虽然是在一年或两年前我使用AForge时。

相关问题