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 

.NET Reference, Invoke Node - Wie damit umgehen



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!

07.08.2017, 14:10 (Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2017 15:11 von jg.)
Beitrag #1

thz89 Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Jul 2017

2016
2010
EN



.NET Reference, Invoke Node - Wie damit umgehen
Hi,

ich habe leider wieder eine Frage, für deren Beantwortung ich viel zu wenig Programmierer bin, um sie mir selber zusammen zu reimen.

Ich greife mit den Hersteller VIs ein Live-Bild einer IDS Kamera ab und betreibe ein bisschen Bildanalyse und Bildverarbeitung. Dazu habe ich die Bildausgabe des IDS-VI angezapft und meine Funktionen zwischen Bildausgabe und letzter IDS-Funktion gehängt. Das funktioniert grundsätzlich sehr gut, aber um die Analyse zu verbessern, will ich nun über N Bilder mitteln. Das funktioniert an dem Ort an dem ich meinen Kram im IDS-VI mache aber nicht, weil ich immer nur genau ein Bild von der Kamera übermittelt bekomme, mit dem ich dann Unfug treiben kann.

   

Mein Ansatz wäre jetzt, dass ich das Averaging-VI (VI siehe Anhang) auflöse und die for-Schleife um die "Memory Invoke-Node" oder sogar um die "Camera Invoke-Node" lege. Aus ersterer wird das u8Image ausgegeben und ich vermute, dass ich hier die Möglichkeit habe, mir die gewünschten N Bilder in die Zwischenablage zu speichern. Ich weiß allerdings nicht was es mit den Invoke-Nodes und der .NET-Reference auf sich hat (hab nur ein bissl gegooglet und eine kurze Zusammenfassung von Microsoft gelesen), ob ich richtig mit meinem Ansatz liege, und on-top, ob ich noch irgend etwas beachten muss. Vielleicht kann mir hier jemand helfen?


Angehängte Datei(en)
11.0 .vi  averaging.vi (Größe: 10,57 KB / Downloads: 10)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.08.2017, 14:21
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 14.795
Registriert seit: May 2009

09SP1, 11SP1, 17
1995
DE_EN

10×××
Deutschland
RE: .NET Reference, Invoke Node - Wie damit umgehen
Hallo thz,

Zitat:Mein Ansatz wäre jetzt, dass ich das Averaging-VI (VI siehe Anhang) auflöse und die for-Schleife um die "Memory Invoke-Node" oder sogar um die "Camera Invoke-Node" lege.
Mein Ansatz wäre, in diesem Averaging-VI etwas sinnvolles zu machen!
Momentan gibt man hier ein (in Worten: 1) Bild hinein und die Angabe, wieviele Bilder gemittelt werden sollen. Im VI wird dann dieses eine Bild x-mal aufaddiert und dann durch "x" geteilt - wo ist der Sinn dabei?

Zitat:Aus ersterer wird das u8Image ausgegeben und ich vermute, dass ich hier die Möglichkeit habe, mir die gewünschten N Bilder in die Zwischenablage zu speichern.
Da scheint das Bild herauszukommen. Du musst nur ein sinnvolles Averaging-VI verwenden, um über mehrere Bilder zu mitteln…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.08.2017, 16:05
Beitrag #3

thz89 Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Jul 2017

2016
2010
EN



RE: .NET Reference, Invoke Node - Wie damit umgehen
Hi Gerd,

danke. Ja, da hast du recht; und ich einen Denkfehler. Smile Wie würdest du denn die einzelnen Bilder zwischenspeichern?
Ich bin ursprünglich davon ausgegangen, dass die for-Schleife für jede Iteration ein neues Bild abfragt, was sie aber natürlich nicht macht - sie arbeitet ja erstmal alle Eingangsdaten ab, bevor sie von vorne beginnt.
Damit muss ich vor der Mittelung erstmal N Bilder ansammeln und zwischenspeichern. Spontan würde ich sagen, dass ich das auch in einer Schleife mache, aber hier habe ich ja wieder das Problem, dass ich nicht alle N Bilder auf einen Satz in die Schleife schieben kann.

lg,
Thorsten



(07.08.2017 14:21 )GerdW schrieb:  Hallo thz,

Zitat:Mein Ansatz wäre jetzt, dass ich das Averaging-VI (VI siehe Anhang) auflöse und die for-Schleife um die "Memory Invoke-Node" oder sogar um die "Camera Invoke-Node" lege.
Mein Ansatz wäre, in diesem Averaging-VI etwas sinnvolles zu machen!
Momentan gibt man hier ein (in Worten: 1) Bild hinein und die Angabe, wieviele Bilder gemittelt werden sollen. Im VI wird dann dieses eine Bild x-mal aufaddiert und dann durch "x" geteilt - wo ist der Sinn dabei?

Zitat:Aus ersterer wird das u8Image ausgegeben und ich vermute, dass ich hier die Möglichkeit habe, mir die gewünschten N Bilder in die Zwischenablage zu speichern.
Da scheint das Bild herauszukommen. Du musst nur ein sinnvolles Averaging-VI verwenden, um über mehrere Bilder zu mitteln…
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.08.2017, 16:48
Beitrag #4

jg Offline
CLD & CLED
LVF-Team

Beiträge: 14.951
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: .NET Reference, Invoke Node - Wie damit umgehen
Du musst nicht unbedingt alle Bilder erst sammeln. Das hängt von der Art deiner Mittelung ab. Bsp.: Beim klassischen Mittelwert ist es egal, ob du über ALLE Datenpunkte mittelst, oder erst über jeweils gleich große Datenpakete mittelst, und davon nochmals einen Mittelwert bildest.

Oder anders:

Code:
(a+b+c+d)/4 = [ (a+b)/2 + (c+d)/2 ] / 2

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.08.2017, 11:56
Beitrag #5

thz89 Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Jul 2017

2016
2010
EN



RE: .NET Reference, Invoke Node - Wie damit umgehen
Aber wie bekomme ich denn aufeinanderfolgende Bilder in LabVIEW miteinander verrechnet? Ich kann natürlich jedes Bild des Video-Signals mit dem Mittelungsfaktor gewichten, aber wenn ich dann aufsummieren will, brauche ich ja auch wieder N zwischengespeicherte Bilder/Arrays; als Input habe ich aber immer nur ein einziges Bild.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.08.2017, 12:03
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 14.795
Registriert seit: May 2009

09SP1, 11SP1, 17
1995
DE_EN

10×××
Deutschland
RE: .NET Reference, Invoke Node - Wie damit umgehen
Hallo thz,

um sich Daten zu merken gibt es Schieberegister/FeedbackNodes!
Die muss man nur sinnvoll im subVI einsetzen… Big Grin

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.08.2017, 08:39
Beitrag #7

thz89 Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Jul 2017

2016
2010
EN



RE: .NET Reference, Invoke Node - Wie damit umgehen
Also ich schätze, ich habe jetzt den Ort gefunden, an dem ich das Shieberegister setzen muss. Und zwar auf die äußerste While-Schleife des Kamera-Programms, die mir aus einem Bild ein Video macht.
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
  Wann setze ich Reference, Local Variable und Property Node ein galilio 6 1.976 18.03.2016 01:08
Letzter Beitrag: Trinitatis
  Wertemitgabe Strictly typed VI reference NoWay 6 1.512 18.05.2015 15:48
Letzter Beitrag: jg
  Pane-References by VI-Reference D_Sev 1 756 16.11.2014 23:00
Letzter Beitrag: Lucki
  Cluster reference an subpanel übergeben Mazubi 3 2.410 09.09.2013 11:37
Letzter Beitrag: GerdW
  Aus Datei lesen und damit weiterarbeiten max.milt 40 8.854 31.07.2013 14:08
Letzter Beitrag: max.milt
  Write Trace Reference 0 Arno_Nym 3 1.091 25.04.2013 06:24
Letzter Beitrag: Arno_Nym

Gehe zu: