2012-04-02 9 views
2

Ich habe den folgenden Code ein Bild in imagebox mit EmgucV angezeigt zu lesen oder schreiben:EmguCV Versuchte geschützte Speicher

Capture capture; 
    Image<Bgr, Byte> image; 

    public Form1() 
    { 
     InitializeComponent(); 
     Application.Idle += new EventHandler(Start); 
    } 
    void Start(object sender, EventArgs e) 
    { 
     capture = new Capture(); 
     image = capture.QueryFrame(); 
     imageBox1.Image = image; 
    } 

ich die Ausnahme Attempted to read or write protected memory bekommen. Was muss ich tun, um dies zu korrigieren?

+0

welche Art ist imageBox1? – surfen

Antwort

4

Dies ist ein Hinweis auf möglichen nativen Speicher

Leck

Ich denke, es ist ein Fehler in Ihrem Code. Ihre Start Methode wird oft (sehr oft) während der Lebensdauer der Anwendung aufgerufen.

Es sieht so aus, als ob Sie in Ihrer Anwendung nur ein Capture-Objekt verwenden sollten.

einfach Ihre Capture-Instanziierung bewegen Konstruktor Form:

Capture capture; 

public Form1() 
{ 
    InitializeComponent(); 
    Application.Idle += new EventHandler(Capture); 
    capture = new Capture(); 
} 
void Capture(object sender, EventArgs e) 
{ 
    imageBox1.Image = capture.QueryFrame(); 
}