使用网络摄像头捕获C#图像,未设置对象参考

时间:2015-12-06 06:27:22

标签: c# c#-4.0 nullreferenceexception webcam

我想使用网络摄像头拍摄图像。我正在使用WebCam_Capture.dll库。

有时候代码工作完美。 (主要是在restarting system之后或打开和关闭Vcamp.exe

有时相机不会开启,而且似乎是绿色图像

有时相机无法启动,并且消息框会显示描述" Object reference not set to an instance of an object"邮件始终位于webcam.Start(0);

中的capture()

enter image description here

我想知道错误的原因。如何解决这个问题

全局变量

private WebCamCapture webcam;
private System.Windows.Forms.PictureBox _FrameImage;
private int FrameNumber = 50;
bool FCapture=true;

网络摄像头利用

 public void InitializeWebCam(ref System.Windows.Forms.PictureBox ImageControl)
    {
        try
        {
            webcam.Dispose();
        }
        catch (Exception)
        { 
        }
        webcam = new WebCamCapture();
        webcam.FrameNumber = ((ulong)(0ul));
        webcam.TimeToCapture_milliseconds = FrameNumber;
        webcam.ImageCaptured += new WebCamCapture.WebCamEventHandler(webcam_ImageCaptured);
        _FrameImage = ImageControl;
    }

网络摄像头捕获功能

    void webcam_ImageCaptured(object source, WebcamEventArgs e)
    {
        if (FCapture == true)
        {
            imgbox1.Image = e.WebCamImage;
            FCapture = false;
        }
        else
        {
            webcam.Stop();
        }
    }

通话功能。

public void capture()
    {

        InitializeWebCam(ref _FrameImage);
        webcam.TimeToCapture_milliseconds = FrameNumber;
        webcam.Start(0);

    }

0 个答案:

没有答案