opencv ruft die Koordinaten der Pixel innerhalb des Umrisses ab

  „Im eigentlichen Projektentwicklungsprozess ist es nach dem Extrahieren der Kontur der verbundenen Domäne erforderlich, weiterhin die Koordinaten aller Pixel innerhalb der Kontur zu erhalten, die zur Berechnung des Graudurchschnittswerts der von der Kontur umschlossenen Fläche verwendet werden.“ Methode 1 verwendet die mit opencv gelieferte Funktion pointPolygonTest. Bei tatsächlichen Tests wurde festgestellt, dass dies sehr lange dauert. Methode zwei kann mit der Funktion „drawContours“ denselben Zweck erreichen und nimmt viel weniger Zeit in Anspruch als Methode eins. Diese beiden Methoden und ihre Implementierungscodes werden hier vorgestellt, Methode zwei wird jedoch empfohlen.

1. Verwenden Sie die pointPolygonTest-Funktion

  Durchlaufen Sie alle Pixel im Bild nacheinander und verwenden Sie die Funktion pointPolygonTest, um zu bestimmen, ob sich das Pixel innerhalb des Umrisses befindet. Die Aufrufmethode dieser Funktion lautet wie folgt: pt ist der zu testende Punkt, Kontur ist die zu testende Kontur und MeasureDist bestimmt, ob der Abstand von pt zur Kontur berechnet werden soll. Wenn MeasureDist=false: +1 wird für Punkte innerhalb der Kontur zurückgegeben, -1 für Punkte außerhalb der Kontur und 0 für Punkte auf der Kontur. Wenn MeasureDist=true: Für einen Punkt innerhalb der Kontur wird ein positiver Abstand zurückgegeben, für einen Punkt außerhalb der Kontur wird ein negativer Abstand zurückgegeben und für einen Punkt auf der Kontur wird 0 zurückgegeben.

double cv

Supongo que te gusta

Origin blog.csdn.net/qq_21603315/article/details/130455041
Recomendado
Clasificación