Я программирую на C# (WindowsForm). Я хочу использовать EmguCV (3.1) для захвата файла .avi. Когда я загружаю файл я вижу это исключение:AccessViolationException в EmguCV (3.x) при захвате
Необработанное исключение типа «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