Wenn matchTemplate eine Übereinstimmung findet, wird das Ergebnis in einem Rechteck dargestellt. Aber was tun, wenn MatchTemplate kein genaues Ergebnis findet? Wie wird mit den Minmax-Werten verfahren?So vermeiden Sie falsche Übereinstimmungen in der Übereinstimmungsvorlage
Beispielabfrage Bild:
Relevante Codeausschnitt:
if ((minValues[0] >= 0.95) || (minValues[0] <= 0.3))
//if ((maxValues[0] >= 0.95))
{
Rectangle rect = new Rectangle(new Point(minLocations[0].X, minLocations[0].Y), new Size(imgTemplate.Width, imgTemplate.Height));
imgSource.Draw(rect, new Bgr(0, 0, 255), 1);
isFoundMatch = true;
ImageViewer.Show(imgSource);
if (isFoundMatch == true)
{
imgSource.Save("C:/Misc/MatchFound/warning.png");
}
}
Edit: Ich habe für eine Vorlage überprüft die im Bild nicht vorhanden ist. Aber es gibt falsche Übereinstimmung.
Möglicherweise besserer Rat, wenn Sie Beispiele zeigen. –
@ Yves Vielen Dank! aber warum die down vote? Ich habe versucht, die falsche Übereinstimmung zu beschränken, und ich bin ziemlich müde mit dem Ändern der übereinstimmenden Punktzahlen. – Anna
Ich weiß nicht über den Downvote. –