C# 为什么EmguCV在捕获时抛出此StackOverFlowException?

C# 为什么EmguCV在捕获时抛出此StackOverFlowException?,c#,exception,dll,emgucv,capture,C#,Exception,Dll,Emgucv,Capture,我以前看过他们的例子,实际上他们以前也做过。我以前从未真正遇到过这个问题,因为它来自他们的dll内部。为什么这条线会一直导致这个错误?不知什么原因,指针偏离了点吗?我唯一能想到的是,它试图访问实际边界之外的内存位置。它总是第一次这样做。然后,当它崩溃时,相机保持打开状态,因此下次它运行时。尽管此后每次图像像素都是0。您找到解决此问题的方法了吗? using System; using System.Collections.Generic; using System.ComponentModel;

我以前看过他们的例子,实际上他们以前也做过。我以前从未真正遇到过这个问题,因为它来自他们的dll内部。为什么这条线会一直导致这个错误?不知什么原因,指针偏离了点吗?我唯一能想到的是,它试图访问实际边界之外的内存位置。它总是第一次这样做。然后,当它崩溃时,相机保持打开状态,因此下次它运行时。尽管此后每次图像像素都是0。

您找到解决此问题的方法了吗?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.CV.Structure;

namespace WebcamTest
{
    public partial class Form1 : Form
    {

        private Capture c;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            c = new Capture();
            c.ImageGrabbed += ProcessFrame;
            c.Start();

        }

        public void ProcessFrame(object sender, EventArgs e)
        {

            Image<Bgr, byte> image = c.QueryFrame();

            c.ImageGrabbed -= ProcessFrame;
            c.Stop();
            c.Dispose();

        }

    }
}
Image<Bgr, byte> image = c.QueryFrame();
Image<Bgr, byte> image = new Image<Bgr, byte>(c.RetreiveBgrFrame().ToBitmap());
bool grabbed = CvInvoke.cvGrabFrame(_ptr);