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