Directshow捕捉摄像头视频的类CameraCapture(SDK)

  Directshow捕捉摄像头视频的类CameraCapture(SDK)

CameraCapture类有5个方法,一个事件。
方法
CameraCapture
构造器
GetCaptureDevices(静态)
获取视频捕捉设备集合
GetIBaseFilter(静态)
从字串获取Filter
Start
开始捕捉
Stop
停止捕捉
 
事件
NewFrame
捕捉到一帧触发,可处理参数传回的Image对象
 
相关的类有Grabber继承ISampleGrabberCB接口。其成员如下图。
相关的代理有OnNewFrameEventHandler,这是NewFrame事件处理代理。
Directshow捕捉摄像头视频的类CameraCapture(SDK)_第1张图片 Directshow捕捉摄像头视频的类CameraCapture(SDK)_第2张图片
 
使用方法:
         Graphics g;
        CameraCapture camera;
 
        private void Form1_Load(object sender, EventArgs e)
        {
           // pictureBox1 为一个PictureBox控件
            g = Graphics.FromHwnd(pictureBox1.Handle);
            camera = new CameraCapture(CameraCapture.GetCaptureDevices()[0].MonikerString);
            camera.NewFrame += new OnNewFrameEventHandler(OnNewFrame);
            camera.Start();
        }
 
        // new frame
        protected void OnNewFrame(Bitmap image)
        {
            g.DrawImage(image, 0, 0);
        }
 
         代码执行后就可以看到,pictureBox1上回放摄像头.

你可能感兴趣的:(Directshow捕捉摄像头视频的类CameraCapture(SDK))