5

Im Versuch, den Hintergrund von einem Video zu entfernen und ein binären Bilder zu erhalten (oder 8-Bit), in dem Wert des Objekts, das 1 und statischer Hintergrund ist bewegt 0 istHintergrund und Rauschen aus dem Bild entfernen

wie etwas, dies:

enter image description here

zunächst versuchte ich es mit dem erhalten die Differenz absDiff()von gleitendem MittelwertaccumulateWeighted()und den aktuellen Rahmen aber das Ergebnis war nicht das, was ich Expe (nur die Kanten waren 1 und innerhalb des bewegten Objekts war 0).

so ging ich für createBackgroundSubtractorMOG2 und createBackgroundSubtractorMOG, aber das ist auch nicht gut (dasselbe Problem).

Gibt es eine Möglichkeit, das gesamte bewegliche Objekt zu erhalten?

+0

Ich bin daran interessiert, das Ergebnis zu wissen. Ein Gedanke, den Sie versuchen könnten? Was ist, wenn Sie Objektverfolgungstechniken anwenden, um das sich bewegende Objekt zu erfassen? Sie schneiden roi (entdecktes Objekt) und arbeiten damit. Wende einen Schwellenwert an und schau was passiert? Denkst du, das könnte helfen? – ibininja

+0

@ibininja Ich habe die Maske von 'MOG2' benutzt, um roi zu schneiden und es hat funktioniert! ty –

Antwort

0

Die Mixture of Gaussians Methode wird nicht alle Ihre Probleme lösen. Ein häufiges Problem ist die Empfindlichkeit gegenüber Lichtbedingungen, z.B. Schatten an extrahiertes Vordergrundobjekt anfügen. Wenn das Bildszenario (Hintergrund) ungefähr gleich ist, können Sie Ihre Ergebnisse mit einer Bildverarbeitung verfeinern.

Wenn der Hintergrund ähnlich wie im angehängten Bild ist, versuchen Sie, ein Farbhistogramm im HSI-Raum zu erstellen, ein Bild des extrahierten Vordergrundobjekts (keine Maske, tatsächlich farbiges Bild) zu erstellen und Pixel zu entfernen, die dem Boden ähnlich sind von Hautnachweismethoden). Auf diese Weise können Sie einige Schatten entfernen, die der Person/den Objekten zugeordnet sind.

Wenn die Echtzeitverarbeitung in Ihrer Anwendung nicht entscheidend ist, können Sie auch anspruchsvollere Hintergrund/Vordergrund-Erkennung wie SubSENSE verwenden.

Verwandte Themen