INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Echtzeit-Bildausgabe ohne flackerndes Overlay



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

21.07.2009, 15:14 (Dieser Beitrag wurde zuletzt bearbeitet: 21.07.2009 15:23 von Jizaz.)
Beitrag #1

Jizaz Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2009

2009 SP1
2008
de

78628
Deutschland
Echtzeit-Bildausgabe ohne flackerndes Overlay
Hallo zusammen,

ich bin noch blutiger Anfänger mit LabVIEW, benutze das erst seit etwa einem Monat für meine Thesis.

Ich erzeuge eine Bildverarbeitung und neben dem Lifebild aus der Kamera sollen dazu noch ein paar Overlays eingeblendet werden.
Die Berechnung und Ausgabe dieser habe ich in SubVI und Whileschleife gepackt. Die Ausgabe des Bildes in die local "Image" erfolgt ebenfalls in der Whileschleife damit sie stets aktualisiert wird.

Mein Problem ist nun, dass das Overlay jedoch andauernd flimmert und flackert, sobald das Signal aus der While-Schleife hinausgeht, während das Livebild der Kamera einwandfrei funktioniert.
Auf meinem Front Panel siehts aus wie in der Disko, während, wenn ich eine Probe innerhalb der Whileschleife direkt an "Image" anlege, das Overlay ruhig bleibt.

Hatte schonmal jemand so ein Problem? Weiß jemand wie man das umgehen kann?
Bin mit meinem Latein am Ende :/

gruß Jizaz

edit: von Zeit zu Zeit gibts auch mal nen grellen Lichtblitz auf dem Display, aber nicht immer (glaube das muss damit zu tun haben, tritt auch nur auf der FP-Anzeige auf)


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.07.2009, 10:01
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Echtzeit-Bildausgabe ohne flackerndes Overlay
Eine Möglichkeit wäre dass IMAQ anders dann andere LabVIEW Datentypen referenzbased arbeitet.
Das IMAQ Create jeweils in der Schleife erscheint mir nicht sehr geschickt. Das würde ich aus der Schleife rausziehen und am Ende ausserhalb der Schleife auch wieder ein IMAQ Destroy machen. Auch wenn Du da mit dem Namen im Prinzip immer dasselbe IMAQ Image erzeugst, also nicht ein Memory Leak produzierst, wird dadurch das Image immer wieder gelöschst und neu gezeichnet. Das das zu Flickereffekten führt verwundert mich gar nicht.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.07.2009, 18:14
Beitrag #3

Jizaz Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2009

2009 SP1
2008
de

78628
Deutschland
Echtzeit-Bildausgabe ohne flackerndes Overlay
Hallo Rolf,

danke für den Tip, am IMAQ Create liegts allerdings nicht, das habe ich bereits ebenfalls ausprobiert.
Auch habe ich versucht die case Struktur zu entfernen und die local "KreuzmittelpunkteXY" kurzzuschliessen und direkt zu übergeben. Das hatte alles leider keinen Einfluss.
Das Kamera-Bild selbst ist wie gesagt ja auch in Ordnung und flüssig, es ist nur das Overlay, das flackert.

Mir ist heute jedoch ein anderer Zusammenhang aufgefallen. Wenn die Framerate der Kamera reduziert wird, dann hört das Flackern allmählich auf. Ab 20 fps ist das Overlay stabil, solange man nicht mit der Maus drüberfährt oder Tasten betätigt.
Für meine Messung sind 20fps jedoch etwas suboptimal.
Hast du oder irgendjemand eine Idee, wieso das Overlay da nicht hinterherkommt? Es wird theoretisch mit jedem Frame kalkuliert und gezeichnet, trotzdem flackert das Overlay während das Kamerabild daneben sauber arbeitet. Aber nur auf dem Front Panel! Greift man das Signal mit einer Probe direkt in der Schleife ab, dann funktioniert beides einwandfrei.

Gibt es vielleicht irgendeinen Buffer, in dem Front Panel Daten gesammelt werden, bevor es zur Visualisierung kommt? Ist der zu klein? Irgendwo muss wahrscheinlich ein Flaschenhals sein zwischen der Ausgabe Block Diagram und Ausgabe Front Panel. Oder es überlagert sich irgendwo Speicher, aber alle Komponenten dieser Schleife haben keine parallelen Zugriffe während der Wiedergabe, außer einer Abfrage der Boolean "Einrichten" alle 250ms.

(ich habe die Local auch schon ausgetauscht gegen den direkten Indicator, daran liegts also auch nicht, btw)

Wäre froh, wenn mir dabei jemand helfen könnte, aber je mehr ich darüber schreibe desto weniger Hoffnung hege ich.

Gruß Jizaz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.07.2009, 08:31
Beitrag #4

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
Echtzeit-Bildausgabe ohne flackerndes Overlay
Ich komme auch mal mit einigen Tipps, kenne mich aber mit Vision gar nicht aus.

- Überlagerte Bedien/Anzeigeelement auf dem FP vermeiden. Die können solche Effekte verursachen.
- Das Timer 0,1s, wozu soll das sein. Möchtest du dort eine Wait/Pause von 100ms machen?
- ev. kannst du mal mit dem *deferPanelUpdate* probieren. (siehe Bild)


Angehängte Datei(en) Thumbnail(s)
   

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2009, 08:57
Beitrag #5

Jizaz Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2009

2009 SP1
2008
de

78628
Deutschland
Echtzeit-Bildausgabe ohne flackerndes Overlay
Hallo RoLe,

der Timer war ursprünglich an die Case Struktur gebunden und hat die Neuberechnungen pro Sekunde etwas eingeschränkt. Hat sich in diesem Fall jedoch erledigt und ist eigentlich nur noch ein Relikt.

Am Montag bin ich wieder im Geschäft, dann werde ich deine Tips ausprobieren. Es ist tatsächlich so, dass die Bildausgabe am Front Panel beispielsweise in einem Registerfenster eingebettet ist.

Ich halte euch auf dem laufenden...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.07.2009, 12:35
Beitrag #6

Laelia Offline
LVF-Neueinsteiger


Beiträge: 1
Registriert seit: Jun 2006

7.1
2000
kA


Deutschland
Echtzeit-Bildausgabe ohne flackerndes Overlay
Zwar ist der Name beim IMAQ-Create immer der selbe. Insofern mag es nicht ganz kritisch sein. Unpraktisch ist es auf jeden Fall. Also nach draußen legen und zu gegebener Zeit auch wieder löschen sonst gibt es Memory-Leaks. Es ist nicht sicher wann der Wait-Aufruf tatsächlich im Ablauf aufgerufen wird. Overlays muss man ja löschen um sie neu zu schreiben. Also da genau die Reihenfolge beachten.

Nicht schlimm, aber die Sequenz ist nicht nötig. Zumindestens sehe ich keinen Grund. Sollte doch in den Sub-Vis einer versteckt sein, besser auch hier sicherstellen, dass die Datenflussprogrammierung eingehalten wird.

Viel Erfolg
Laelia
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2009, 17:33
Beitrag #7

Jizaz Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2009

2009 SP1
2008
de

78628
Deutschland
Echtzeit-Bildausgabe ohne flackerndes Overlay
Hallo,

vielen Dank für die Tips. Habe Sie alle ausprobiert und beherzigt, das Problem besteht allerdings nach wie vor. Mittlerweile keimt in mir bereits der Gedanke, der PC könnte die Rechenleistung nicht aufbringen, aber eigentlich hat er während dem Betrieb sogar noch Kapazitäten frei...

Im Anhang ein neuer Screenshot von der Schleife im gegenwärtigen Zustand. Man sieht bei der Sonde einen Teil des Ausgabebildes mit dem Overlay. In diesem Zustand ists absolut stabil. Das gleiche Bild auf dem Front Panel: flackerndes Overlay, flüssiges Kamerabild.

Das "Defer-Panel" hat mein ganzes Front Panel eingefroren und es nur noch bei Fenstergrößenmanipulation refreshed.
Bin mir aber nicht sicher ob ich das so richtig eingesetzt habe...

Fällt irgendwem noch irgendetwas falsches an der Schleife auf?

gruß Jizaz


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2009, 18:13 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2009 18:23 von rolfk.)
Beitrag #8

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Echtzeit-Bildausgabe ohne flackerndes Overlay
Also das Defer Panel Update muss man am Anfang einer umfangreichen, mehrstufigen Operation die mehrere FP Updates zur Folge hat einschalten und danach wieder ausschalten. Solange das aktiv ist macht LabVIEW gar keine FP Updates mehr.

Ich denke dass das Get Max Middle und das Draw VI langsam interessant wäre zu sehen um da mehr sagen zu können.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2009, 22:43
Beitrag #9

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
Echtzeit-Bildausgabe ohne flackerndes Overlay
Das Flackern hat meines Erachtens etwas mit dem Zugriff auf den Speicher der Grafikkarte zu tun, der zur Darstellung der Bilder notwendig ist.

Im angehängten VI kann man die Period ändern und das Image Indicator beginnt zu flackern oder hört wieder auf. Auch die Anzahl der Anzeigeelemente hat einen Einfluß (kostet ja Rechenzeit). So kann das Weglassen oder Hinzufügen des Intensitygraphs Flackern beseitigen.

Bei IMAQ Vision gibt es noch das VI IMAQ WindNonTearing was bei der Synchronisation der Monitorfrequenz und der IMAQ-Bild-Refreshrate hilft. Das kann aber nur in Verbindung mit der Darstellung in einem extra Fenster über IMAQ WinDraw etwas bewirken.

Lv86_img


Angehängte Datei(en)
Sonstige .vi  IMAQ_display.vi (Größe: 44,4 KB / Downloads: 260)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.08.2009, 12:11
Beitrag #10

Jizaz Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2009

2009 SP1
2008
de

78628
Deutschland
Echtzeit-Bildausgabe ohne flackerndes Overlay
Hallo!

Der Tip mit dem Deferpanel ist gut, hat den Effekt um einiges besser gemacht, allerdings hat das Overlay nach wie vor Probleme damit, wenn zusätzlich Schrift eingeblendet wird. Man sieht, dass die Zeichnung der Matritze (gelb) dann gegen Ende in der Ecke unten rechts etwas nachhängt. Obwohl beides an verschiedenen Stellen der Overlayberechnung implementiert wird.
Aber für meinen Geschmack läuft das dennoch flüssig genug, man kann immerhin schonmal ne Weile draufschaun ohne zu erblindenSmile

@ unicorn: Die Grafikkarte in meinem System ist leider nicht die beste, nur so ein OnBoard-mist, deshalb denke ich ebenfalls dass das ein Faktor ist. Allerdings wurde mein Problem durch das Extrafenster nur geringfügig besser (vllt sogar nur subjektiv). Prinzipiell dürften Kamera und PC recht gut harmonieren, das Livebild selbst ist ja, wie gesagt, sauber und blitzt nur hin und wieder auf, so wie es bei deinem Beispiel vorkommt. Bei mir hats dies aber ebenfalls nicht verbessern können.

Ich werde noch etwas rumprobieren müssen, komme aber die nächsten Tage nicht mehr dazu. Falls ichs nochmal in den Griff bekomme, werde ichs hier posten. Jedenfalls danke ich euch vielmals für eure Hilfe!

gruß Jizaz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Overlay auf anderes Bild übertragen? gottfried 3 4.579 11.06.2020 21:13
Letzter Beitrag: Martin.Henz
  Overlay ROI n00b 12 15.111 20.05.2014 10:33
Letzter Beitrag: b.p
  IMAQ Overlay multiple lines gottfried 1 4.899 04.01.2014 14:17
Letzter Beitrag: Kasi
  Overlay in ROI umwandeln Stefan F. 4 6.287 07.01.2011 17:22
Letzter Beitrag: Stefan F.
  Overlay Destructive E8fg7ag 5 6.486 07.01.2011 10:00
Letzter Beitrag: unicorn
  ein komplettes Overlay auf ein anderes Bild kopieren gottfried 6 6.766 04.01.2011 17:03
Letzter Beitrag: unicorn

Gehe zu: