LabVIEWForum.de
Skalierung Hintergundbild für Diagramm - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Skalierung Hintergundbild für Diagramm (/Thread-Skalierung-Hintergundbild-fuer-Diagramm)

Seiten: 1 2


Skalierung Hintergundbild für Diagramm - Zeratul - 26.11.2018 08:54

Einen schönen guten Tag,

Mein Projekt mit dem Picoscope ist schon weiter vorangeschritten (siehe Thema Beenden der Funktion) und ich möchte ein Paar aufgenommene Bilder gerne als Hintergrundbild für meine Diagramme nutzen. Die Bilder sollen als Hüllkurve dienen und das Arbeiten bzw. Messen erleichtern. Wie ich ein Bild als Hintergrund (Eigenschaftsknoten --> Plotbilder --> Hinten) für ein Diagramm verwende und wie ich die Bildkonstante mir erzeuge, hab ich mittlerweile schon rausgefunden. Aber mein Problem ist nun, das die Bilder viel zu groß sind und nicht auf den möglichen Anzeigebereich des Plots skalieren. Ich habe schon verschiedene Dinge versucht, die aber nicht zum gewünschten Ergebnis führten. Google und die Suche im Forum waren leider auch noch nicht von Erfolg gekrönt, da ich war wahrscheinlich nicht nach dem richtigen Suche und er mir viel Falsches anzeigt. (Suche: Bilder skalieren, Bilder skalieren Diagramm Hintergrund, usw.) Hat hier jemand vllt. eine Idee, wie ich mein Problem lösen könnte? Vielen Dank schon einmal für die Hilfe.

Gruß Mathias


RE: Skalierung Hintergundbild für Diagramm - GerdW - 26.11.2018 08:57

Hallo Mathias,

Tipps:
Es gibt da so Programme wie GIMP, Paintshop oder Photoshop, die können Bilder super skalieren.
Es gibt auch Programme, die sich über die Kommandozeilen aufrufen/bedienen lassen, wie ImageMagick.
Oder du schreibst dir eine eigene Skalier-Routine…
(Oder du zeichnest diese Hüllkurven selbst in einem 2DPictureIndicator.)


RE: Skalierung Hintergundbild für Diagramm - Ralfk84 - 26.11.2018 09:05

Hallo Mathias,

muss es unbedingt ein Bild sein oder kannst nicht zwei Plots nehmen? Mit der Option "Fill base line" kann man in Labview ja auch einen Bereich zwischen zwei definierten Kurven farblich füllen, und hat dann auch einen Hüllkurveneffekt.
Vlt. sind deine Bilder aber auch komplexer. Aber fragen kann man ja Smile.

Viele Grüße,
Ralf


RE: Skalierung Hintergundbild für Diagramm - Zeratul - 26.11.2018 09:29

Einen schönen guten Tag Gerdw, Ralfk84

Zwei Plots wollte ich nicht unbedingt nehmen, da ich hier mehrere Leiterplatten der gleich Sorte untersuchen müsste, bis ich die ganzen möglichen Abweichungen aufgrund von Bauteiltoleranzen, Lötpunkte und so weiter betrachte. Das Projekt und die Leitplatten befinden sich noch in der Entwicklung, deshalb gibt es bisher kaum Referenzdaten. Daher habe ich erstmal vorläufig eine Kurve aufgenommen, diese fett gemacht und wollte diese als Hüllkurve nutzen.

Die Programme GIMP usw. kenne ich. Ich dachte nur, dass ich die Skalierung innerhalb von Labview regeln kann. Wenn ich es über diese Programme mache, wäre eine Lösung, die Höhe und Breite des Diagramm (Eigenschaftsknoten) auszulesen und die Bilder entsprechend zu skalieren. Die Idee von dir, Gerdw, mit den 2DPictureIndicator ist aber auch gut. Hierzu habe ich ein Beispiel von Labview gefunden ( https://forums.ni.com/t5/Example-Programs/Resize-Image-to-a-Container-Using-LabVIEW/ta-p/3492864 ). Ich versuche erstmal das Bild hiermit zu skalieren und wenn ich eine Lösung gefunden hab, stelle ich sie natürlich rein. Ansonsten würde ich die anderen beschriebene Variante nutzen.

Vielen Dank schon einmal für die Hilfe.

Gruß Mathias


RE: Skalierung Hintergundbild für Diagramm - jg - 26.11.2018 09:45

Ich wäre auch für zusätzliche Plots, die die Hüllkurve darstellen.

Vorteile:
Das ist schneller abänderbar und die Plots Skalieren mit, wenn du Achsenskalierungen bei z.B. Zoomoperationen änderst.

Gruß, Jens


RE: Skalierung Hintergundbild für Diagramm - Zeratul - 26.11.2018 10:09

Einen schönen guten Tag Jens,

Danke für die Antwort. So wie du es begründest, sind das wirklich große Vorteile. Längerfristig kann ich dies innerhalb meines Programmes vorsehen. Als zwischenzeitliche Lösung würde ich aber erstmal das Skalieren präferieren, damit die Prüfer grob wissen, wonach sie sich richten müssen. Im Regelfall sollen diese auch nicht die Achsenskalierung oder so ändern. Ziel des Projektes ist, innerhalb des Automatikmodus einen passenden Wert und eine passende Einteilung vorzugeben. Falls dies nicht passt, kann man jedes Signal auch noch in einem separaten Fenster plus separaten Diagramms (ohne Hüllkurve) erfassen.

Gruß Mathias


RE: Skalierung Hintergundbild für Diagramm - Ralfk84 - 26.11.2018 10:28

(26.11.2018 09:29 )Zeratul schrieb:  Zwei Plots wollte ich nicht unbedingt nehmen, da ich hier mehrere Leiterplatten der gleich Sorte untersuchen müsste, bis ich die ganzen möglichen Abweichungen aufgrund von Bauteiltoleranzen, Lötpunkte und so weiter betrachte. Das Projekt und die Leitplatten befinden sich noch in der Entwicklung, deshalb gibt es bisher kaum Referenzdaten. Daher habe ich erstmal vorläufig eine Kurve aufgenommen, diese fett gemacht und wollte diese als Hüllkurve nutzen.

Hallo Zeratool,

wenn du schonmal eine vorläufige Kurve hast, diese fett machst und als Hüllkurve nimmst: dann kannst du diese doch auch für die "Hüllkurve" nutzen. Einfach deinen aktuellen Toleranzwert auf die vorhandene Kurve einmal aufaddieren bzw. einmal subtrahieren und diese beiden Kurven (=Arrays) als Plots verwenden, und dort die Füllfunktion zwischen zwei Plots nehmen. Und schon hast du deine Hüllkurve. Das als sub-VI, welches aus einer vorgegebenen Referenzkurve diese beiden Plots erzeugt und vorhält (beispielsweise als FGV in deinem Programm).
Wäre das eine Idee?

Viele Grüße,
Ralf


RE: Skalierung Hintergundbild für Diagramm - Zeratul - 26.11.2018 10:47

Einen schönen guten Tag Ralf,

Ja, das wäre ne Idee. Dann werde ich nochmal messen gehen, da ich bisher nur die Plots als Bilder abgespeichert habe. Dies wird aber wahrscheinlich erst Mittwoch. Bin morgen unterwegs. Danke für den Vorschlag.

Gruß Mathias


RE: Skalierung Hintergundbild für Diagramm - Zeratul - 26.11.2018 11:41

Einen schönen guten Tag,

Ich habe die Variante 2DPictureIndicator mit dem Beispiel von NI getestet und fand sie für mich nicht zufriedenstellend. Die Skalierung hatte nicht auf die ganze Breite funktioniert. Ein kleines Stück hatte immer gefehlt. Daher ist für mich die beste Lösung die Variante von Ralfk84. Ich würde diese als Lösung markieren. Wie ich meine Lösung aufgebaut habe, würde ich die nächsten Tag noch in diesem Thema online stellen. Danke an alle die mir geholfen haben.

Gruß Mathias


RE: Skalierung Hintergundbild für Diagramm - Zeratul - 29.11.2018 16:23

Einen schönen guten Tag,

Leider wird das mit dem Erstellen bei mir so schnell nichts, da ein anderes Projekt (nicht LabView) auf Arbeit höhere Priorität hat und terminlich dringender ist und bis auf das, alles andere funktioniert. Tut mir leid aber ich werde es nach dem Projekt einpflegen und dann hier noch reinstellen. Ich häng dies als Edit an diesen Post ran. Trotzdem danke an alle, die mir geholfen haben. Ich erläutere aber schon einmal, wie meine Lösung, die ich aufbauen werde, aussehen wird. Ich hoffe, ihr seid mir erstmal nicht böse.

Lösung: Ich werde als erstes die Daten, welche mir das Picoscope zur Verfügung stellt und welche ich im Diagramm darstelle, abgreifen und in eine Tabelle schreiben (Datei-I/O --> Tabelle schreiben). Da ich die Daten innerhalb der Datei gleichzeitig sichern möchte. Gleichzeitg erstelle mir eine dauerhafte Array-Konstante. Diese Array-Konstante nutze ich zwei mal, einmal wird zu den Werten 0,1V addiert und einmal subtrahiert. Diese Daten werden gebündelt mit meinem eigentlich Graphen und im Diagramm dargestellt. Der Bereich zwischen den beiden Hüllkurven wird wie von Ralfk84 beschrieben, wahrscheinlich ausgemalt. Dies muss ich mir aber noch einmal überlegen. Falls nicht, nehme ich einfach eine Signalfarbe und so lang die anderen Kurveninnerhalb dieser liegen, ist alles i. O..
Die Erstellung der Array Konstante mit Werten und das Erstellen der Tabelle ist nur beim ersten Mal notwendig und dient als Grundmessung. Die Erstellung der Tabelle wird danach entfernt und die vorhandene Array Konstante dauerhaft, wie oben beschrieben, verwendet.

Gruß Mathias