![]() |
Videoframes auswerten
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo zusammen,
erst nochmal recht herzlichen Dank für das schöne Wochenende Forentage in Mannheim. Ich habe Windows 10 und Delphi XE5 und VideoLab. Auf meinem zweiten Bildschirm zeichne ich ein grünes Rechteck und einen blauen Kreis und den Kreismittelpunkt in rot. Diesen Bildschirm filme ich mit einer USB-Kamera ab und will die Videoframes auswerten. Dabei möchte ich die Koordinaten des Rechtecks, des Kreises und den Kreismittelpunkt ermitteln. Dazu benutze ich folgende Komponeten von VideoLab: VLDSCapture --> VLColorTwist --> VLGenericFilter --> VLImageDisplay2 --> VLImageDisplay1 Das Image werte ich im VLGenericFilter aus. In den Bildern ist VLImageDisplay1 links und VLImageDisplay2 rechts oben Die Einstellungen von VLColorTwist sind im Bild links unten. Das grüne Rechteck zu erkennen geht noch ganz gut (bild1). Aber des Kreis zu erkennen geht gar nicht (bild2). Die Farben sind irgendwie nicht so wie sie sein sollten. Ich werte das Image Pixel für Pixel aus und schaue welche RGB-Werte die Pixel haben. bild1 und bild2 im Anhang. Hat da jemand Erfahrung und kann mir einen Tipp geben? Danke und Gruß Jürgen |
AW: Videoframes auswerten
Liste der Anhänge anzeigen (Anzahl: 1)
bild2 nochmal anders
|
AW: Videoframes auswerten
Die Forentage konnte ich leider nicht besuchen,
aber vielleicht kann ich dir hier einen Tipp geben. Bei 'bild2 nochmal anders' ist der Hintergrund dunkler, das macht es etwas einfacher, in der Realität sehe ich das aber nicht als Lösung. Da die Pixelfarbwerte des Kamerabildes nicht mit den Zeichenfarben (grünes Rechteck, blauer Kreis, roter Kreismittelpunkt) übereinstimmen, hilft in dem Fall vielleicht die Funktion 'GetNearestPaletteIndex' oder ähnliches, um die 'naheliegenste' Farbe zu finden. Dann lassen sich auch die Formen und die Koordinaten erkennen. Grün ist mit der höchsten Intensität eh am leichtesten zu erkennen, Blau daher am schwierigsten. |
AW: Videoframes auswerten
Ich habe auch mal versucht einen roten, hell leuchtenden Punkt auszuwerten, der eigentlich alles Andere überstrahlt.
Was wieder Erwarten nicht so simpel war. Bei mir spielte die wechselnde Beleuchtung die Wesentliche Rolle, denn ein Bild mit hohem Weissanteil könnte man den roten Punkt trotz visuell sehr guter Sichtbarkeit nicht sicher detektieren. Ist auch logisch, den Weiss enthält auch viel Rot, und dadurch wird der Unterschied immer kleiner. Gerade bei kleinen, dünnen Objekten wird das dann schwierig das Objekt vom Rauschen zu unterschieden. Geometrische Objekte, wie Linien haben denn Vorteil dan man gute Algorithmen, wieh Hough-Transformation benutzen kann, diese sind in der Regel aber auch nicht eindeutig. Ich habe alle Möglichen mathematischen Tricks und Filter probiert, aber das Ergebnis war nicht optimal. Wenn Du immer mit einem eher dunklen Hintergrund arbeiten kannst dann sollte das schon ein großer Vorteil sein, um die Objekte vom Hintergrund gut abzusetzen. |
AW: Videoframes auswerten
Gedankenexperiment:
Man braucht eine Form von Normierung oder Fuzzyness um bei der Auswertung einfacher zu treffen oder eben großzügiger. Normierungsmöglichkeit: Farbreduktionsalgorithmen, klassisch 256 oder 16 Farben könnten weiterhelfen. Das kann man ja ruhig erstmal zu Fuß machen (Kamerabilder) von Hand konvertieren. Dann kann man mit einem Batchtool streamlinen und wenn es vielversprechend ist, die Normierung während der Verarbeitung durchführen. Je nach weiteren Aufgaben und darstellbarem Rechenaufwand vielleicht zuvor noch verkleinern... Auch Helligkeit kann ab / ausgeglichen werden. Wenn eine Kalibrierung nicht machbar ist, muss man vielleicht Histogramme erstellen und mit Mappingtabellen arbeiten. |
AW: Videoframes auswerten
Hallo,
was ginge ist erstmal einen anderen Farbraum zu verwenden. HSV zum Beispiel. Und dann Kanten detektion. Danach nahe beieinandern liegende Kantenteile zu einer Fläche verbinden. "Unter" dieser Fläche via Histogramm die Häufigkeit von Farben prüfen. Ansonsten halt gleich die Formen der Flächen ermitteln. |
AW: Videoframes auswerten
danke für die Antworten,
Eure Tipps werde ich ausprobieren und melde mich dann wieder. Gruß Jürgen |
AW: Videoframes auswerten
Liste der Anhänge anzeigen (Anzahl: 1)
so, nochmals vielen Dank für Eure Hilfe.
Hat mich aber nicht richtig weiter gebracht. Ich habe es jetzt so gemacht: Die Figur(Rechteck, Kreis, Mittelpunkt), die ich auswerten möchte habe ich grün gemacht. Alle anderen Figuren in blau. das funktioniert jetzt. Nochmal Danke und Gruß Jürgen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz