0
私はウェブカメラとフレームを処理する複数のスレッドからフレームを取得するメインクラスを持っています。私はカムからフレームをつかむメインクラスの部分をロックしているので、1つのスレッドだけが同じフレームを処理できます。今私は外部例外を取得していると私は理由を知らない。 私のメインクラス:キャプチャで複数のスレッドを取得しようとしています.QueryFrame()
public Image<Bgr, byte> GetImage()
{
Image<Bgr, byte> returnable;
Mat f = null;
lock (locker)
{
do
{
f = capture.QueryFrame();
} while (!capture.Grab());
returnable = f.ToImage<Bgr, byte>();
}
return returnable;
}
マイスレッド:
Image<Bgr,byte> image;
image = o.GetImage(); //o is the main class
Image imag = image.ToBitmap();
string savePath = path + rofNumber + "/Original.jpg";
imag.Save(savePath); //Exception is on this line
toFind = o.GetNumbersFromDatabase();
labels = FindLabels(image);
例外:
System.Runtime.InteropServices.ExternalException was unhandled
ErrorCode=-2147467259
HResult=-2147467259
Message=Er is een algemene fout opgetreden in GDI+.
Source=System.Drawing
StackTrace:
bij System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams)
bij OCR.Worker.Run() in C:\Users\...\Code\Visual Studio\OCR\OCR\Worker.cs:regel 178
bij System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bij System.Threading.ThreadHelper.ThreadStart()
InnerException: