如何从C#中的网络摄像头或视频捕获卡的视频源中捕获一帧?我想显示实时源,并且有一个方法需要一帧,并通过FTP或共享网络路径将其保存到远程服务器。
答案 0 :(得分:3)
如果您能够直播视频直播,那么只需点击此代码按钮即可捕捉直播视频流:
private Capture capture = null;
private void btnStart_Click(object sender, System.EventArgs e)
{
try
{
if ( capture == null )
throw new ApplicationException( "Please select a video and/or audio device." );
if ( !capture.Cued )
capture.Filename = txtFilename.Text;
capture.Start();
btnCue.Enabled = false;
btnStart.Enabled = false;
}
catch (Exception ex)
{
MessageBox.Show( ex.Message + "\n\n" + ex.ToString() );
}
}
答案 1 :(得分:0)
您可以使用OpenCV。如果你在StackOverflow上搜索,你会发现很多关于如何做到这一点的来源。
甚至还有OpenCV的.NET包装器,如opencvdotnet和Emgu CV。
您最终可能会使用库中的一些函数,例如cvCaptureFromCAM()和cvQueryFrame()。