2016-05-09 4 views
0

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:

enter image description here

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.

Antwort

2

In erster Linie müssen Sie die Punktzahlen für Instanzen betrachten, die Sie für gültig halten und für diejenigen, die Sie für ungültig halten.

Wenn Sie eine klare Trennung zwischen diesen sehen, können Sie einen Schwellenwert für den Score-Wert festlegen. Wenn es jedoch eine Überlappung zwischen den Bereichen gibt, ist die Übereinstimmungsbewertung allein nicht ausreichend diskriminierend. Dann müssen Sie zusätzliche Kriterien herausfinden, um echte und falsche Positive zu unterscheiden. Diese hängen von der Art der Muster und der Art der auftretenden Verwechslungen ab. Es ist unbehaglich, allgemeine Regeln zu geben.

+0

Möglicherweise besserer Rat, wenn Sie Beispiele zeigen. –

+0

@ 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

+0

Ich weiß nicht über den Downvote. –

Verwandte Themen