我在C#(WindowsForm)中編程。我想使用EmguCV(3.1)來捕獲.avi文件。當我打開一個文件,我看到這個異常:在捕獲時EmguCV(3.x)中的AccessViolationException異常
型「System.AccessViolationException」未處理的異常發生在System.Drawing.dll程序
其他信息:試圖讀取或寫入保護內存。這通常表明其他內存已損壞。
這個異常後,我看到這個窗口:
這裏是我的代碼加載一個文件:
private void LoadVideoFromFile()
{
OpenFileDialog d = new OpenFileDialog();
d.ShowDialog();
_capture = new Emgu.CV.Capture(d.FileName);
_capture.ImageGrabbed += ProcessFrame;
}
這裏是我出的avi文件代碼:
private void ProcessFrame(object sender, EventArgs arg)
{
Action a =() =>
{
UMat captured = new UMat();
Boolean cap = _capture.Retrieve(captured);
pictureBox1.Image = captured.Bitmap;
};
pictureBox1.Invoke(a);
}
你是否在調試模式下運行它,你試過版嗎? – Roman
是的,我正在運行調試,但有什麼問題?調試和發佈之間有什麼區別? –
嘗試禁用編輯並繼續功能https://msdn.microsoft.com/en-us/library/ms164926.aspx – Roman