Ich bekomme immer OpenCV: u != 0
Fehler beim Versuch, einige Fotos zu vergleichen. Meine Methode sieht so aus. Die ImageFile-Klasse hat einige Variablen. Es tut dies, auch wenn ich versuche, ein Foto zu vergleichen. Stacktrace Wesen:C# EmguCV Fehler "OpenCV: u! = 0"
Unbehandelte Ausnahme: Emgu.CV.Util.CvException: OpenCV: u = 0
bei Emgu.CV.CvInvoke.CvErrorHandler (Int32 Status, IntPtr funcName, IntPtr errMsg, IntPtr filename , Int32 Linie, IntPtr Userdata)
bei Emgu.CV.Features2D.Feature2DInvoke.CvFeature2DDetectAndCompute (IntPtr feature2D, IntPtr Bild, IntPtr Maske, IntPtr keypoints, IntPtr Deskriptoren, Boolean useProvidedKeyPoints)
bei Emgu.CV.Features2D .Feature2D.DetectAndCompute (IInputArray-Bild, I InputArray Maske, VectorOfKeyPoint keypoints, IOutputArray Deskriptoren, Boolean useProvidedKeyPoints)
public async Task<List<ImageFile>> BeginSearchAsync()
{
var foundImageFiles = new List<ImageFile>();
Mat img = CvInvoke.Imread(_imageFileToBeSearched.FileInfo.FullName, ImreadModes.AnyColor);
var thredi = new Thread(() =>
{
foreach (var imageFile in _listOfSearchableImageFiles)
{
try
{
using (var tempImage = CvInvoke.Imread(imageFile.FileInfo.FullName, ImreadModes.AnyColor))
{
var result = DrawMatches.Draw(tempImage, img, out long matchTime, out long score);
var window = new ResultWindow(result, score);
window.ShowDialog();
}
}
catch (Exception ex)
{
Console.WriteLine($"Error during matching file {imageFile.Name}");
Console.WriteLine(ex.Message);
}
}
});
thredi.SetApartmentState(ApartmentState.STA);
thredi.Start();
return foundImageFiles;
}