Saturday 25 November 2017

Cv2 Gleitenden Durchschnitt


Ich bin nicht sicher über den Fehler, aber schauen Sie sich die Dokumentation für cv. RunningAvg Es heißt, Ziel sollte 32 oder 64-Bit-Gleitkomma sein. Also habe ich eine kleine Korrektur in Ihrem Code und es funktioniert. Ich habe ein 32-Bit-Gleitkommabild erstellt, um die laufenden Mittelwerte zu speichern. Dann ein weiteres 8-Bit-Bild, so dass ich laufendes durchschnittliches Bild zeigen können: Jetzt sehen Sie das Ergebnis: In einem bestimmten Augenblick, sparte ich einen Rahmen und den entsprechenden laufenden durchschnittlichen Rahmen. Sie können sehen, das Hindernis (meine Hand) blockiert die Objekte hinter sich. Jetzt laufenden durchschnittlichen Rahmen: Es fast meine Hand entfernt und zeigt Objekte im Hintergrund. Das ist, wie es ein gutes Werkzeug für Hintergrund-Subtraktion ist. Ein weiteres Beispiel aus einem typischen Verkehrs-Video: Im immer noch Hacking zusammen ein Buch Scannen Skript, und fürs Erste, alles was ich brauche ist in der Lage sein, automatisch zu erkennen, einen Seitenwechsel. Das Buch füllt 90 des Schirmes (Im using eine cruddy Webcam für die Bewegungsabfragung), also, wenn ich eine Seite drehe, ist die Bewegungsrichtung grundsätzlich in der gleichen Richtung. Ich habe ein Motion-Tracking-Skript, aber Derivate sind immer mich nirgendwo: Es erkennt die durchschnittliche Bewegung der durchschnittlichen Mitte aller Boxen, die extrem ineffizient ist. Wie würde ich über Erkennung solcher Bewegungen schnell und genau (d. H. Innerhalb einer Schwelle) Im mit Python zu gehen, und ich beabsichtige, mit ihm zu bleiben, wie mein ganzes Framework auf Python basiert. Und Hilfe wird geschätzt, so vielen Dank im Voraus. Cheers. Hi, wird dies ein sehr einfacher Artikel, aber Sie werden es sehr hilfreich finden. Es geht um Hintergrund-Extraktion aus einem Video. Angenommen, Sie sind Video von Footage von Verkehr gegeben, kann eine Sache wie diese sein. Der Verkehr in Indien. Und Sie werden gebeten, einen ungefähren Hintergrund zu finden. Oder so etwas. Hintergrund-Extraktion kommt wichtig in der Objektverfolgung. Wenn Sie bereits ein Bild von der nackten Hintergrund, dann ist es einfach. Aber in vielen Fällen haben Sie nicht ein solches Bild und so, müssen Sie eine zu erstellen. Das ist, wo Running Average kommt praktisch. (Ich dachte darüber nach, wenn ein Mann eine Frage in SOF gefragt hat.) Die Funktion, die wir hier verwenden, um Running Average zu finden, ist cv2.accumulateWeighted (). Wenn wir z. B. ein Video anschauen, halten wir jedes Einzelbild an diese Funktion weiter, und die Funktion hält die Mittelwerte aller Frames, die ihr nach der folgenden Beziehung zugeführt werden, fest: src ist nichts anderes als unser Quellbild. Es kann Graustufen - oder Farbbild und entweder 8-Bit - oder 32-Bit-Gleitkomma sein. Dst ist das Ausgabe - oder Akkumulatorbild mit denselben Kanälen wie das Quellbild und es ist entweder ein 32-Bit - oder ein 64-Bit-Gleitkomma. Auch sollten wir es zuerst auf einen Wert deklarieren, der als Anfangswert genommen wird. Alpha ist das Gewicht des eingegebenen Bildes. Laut Docs regelt alpha die Aktualisierungsgeschwindigkeit (wie schnell der Akkumulator 8220forgets8221 um frühere Bilder handelt). In einfachen Worten, wenn Alpha ein höherer Wert ist, versucht das durchschnittliche Bild auch sehr schnelle und kurze Änderungen in den Daten zu erfassen. Wenn es niedriger Wert ist, wird der Durchschnitt träge und es wird nicht betrachten schnelle Änderungen in den Eingabebildern. Ich werde es ein wenig mit Hilfe von Bildern am Ende des Artikels erklären. In oben Code habe ich zwei Mittelwerte gesetzt, eine mit höheren Alpha-Wert und eine andere mit niedrigeren Alpha-Wert, so können Sie verstehen, Wirkung von Alpha. Zuerst werden beide auf den Anfangsrahmen des Captures gesetzt. Und in Schleife erhalten sie aktualisiert. Sie können einige Resultate in der SOF Verbindung sehen, die ich bereits zur Verfügung stellte. (Ich habe die Ergebnisse hier, können Sie den Code und Alpha-Wert dort): Ich habe meine Webcam und gespeichert Original-Frame und laufenden Durchschnitt zu einem bestimmten Zeitpunkt. Dieses ist ein Rahmen von einem typischen Verkehrsvideo, das von einer stationären Kamera genommen wird. Wie Sie sehen können, geht ein Auto auf die Straße, und die Person versucht, die Straße zu einem bestimmten Zeitpunkt zu überqueren. Aber sehen Sie den laufenden Durchschnitt zu diesem Zeitpunkt. Es gibt keine Person und Auto in diesem Bild (Eigentlich ist es da, haben einen engen Blick, dann werden Sie es sehen, und die Person ist klarer als Auto, da Auto bewegt sich sehr schnell und über das Bild, es hat nicht viel Wirkung auf den Durchschnitt, aber Person ist es für eine lange Zeit, da er langsam und bewegt sich über die Straße.) Nun müssen wir sehen, die Wirkung von Alpha auf diese Bilder.

No comments:

Post a Comment