' schrieb:Hallo Andreas, Hallo Rolf, liebe Forumsbenutzer,
vielen Dank für eure Antworten.
Im Anhang befindet sich jetzt ein original Testbild (nicht sehr sauber aber zum Ausrichten u Testen vollkommen ausreichend). Ich habe 1 Sekunde belichtet. Genau das Gleiche habe ich mit dem VI aus dem Anhang gemacht (Bild ist ebenfalls angehängt).
Das Bild aus der original Software (die auf die gleiche .dll zugreift) muss ich mit folgenden Parametern in ein Bildbearbeitunsprogramm importieren:
Bits: 16 Bit
Word: PC
Sign: unsigned
Header size (bytes to skip): 16
End of Line (byte to skip): 0
X Resolution: 290
Y Resolution: 376
Vielleicht hilft das ja weiter.
Die Size Funktion gibt die Größe des zu reservierenden Speichers als Zahl der Speichereinheiten (Byte bzw. Word) zurück, aber nicht die Speichergröße.
Was ist an der Darstellung über einen intensity Graph nicht ok? Gibt es für diesen Fall bessere Möglichkeiten?
Vielen Dank.
Viele Grüße, Silvio
Hallo Silvio,
das erste, was mir aufgefallen ist: Du hast keinen Speicher für die Daten, die Du abholen willst, reserviert. Du übergibst der dll-Funktion den Zeiger auf die Adresse im Speicher, wo die dll die Daten ablegen soll und wovon Dein VI die Daten lädt. Wenn Du diesen Speicherbereich zuvor nicht für Deine Applikation reservieren läßt, schreibt die Funktion die Daten irgendwo im Speicher hin und das führt in der Regel zum Crash. Entweder kommt eine LV-Fehlermeldung und die Ausführung des VIs wird abgebrochen oder es erscheint ein Fenster "LabVIEW hat einen Fehler verursacht und muß beendet werden"
Den Speicher reservierst Du, indem Du ein Feld anlegst, das so viele Elemente hat, wie Du Bildpunkte erhältst und zwar in dem Datenformat, wie die Funktion Dir liefert.
Vom Intensitätsgraph habe ich nicht so viel Ahnung, finde es nur ungewöhnlich. Dafür gibt es Bild-Elemente. Da Du eine Evaluierungsversion von LV verwendest, kann es sein, daß Du diese Bild-Funktionen nicht nutzen kannst, denn die gibt es auch nicht im Basis-Paket. Streng genommen sollte es auch mit einem Intensitätsgraphen funktionieren, hab's aber noch nicht ausprobiert.
Ich habe ein Bild-Element genommen und die entsprechende Funktion zum zeichnen. Hierfür mußte ich allerdings aus den 16-Bit-Werten 8-Bit-Werte machen und in Graustufen im RGB-Format wandeln. Ich weiß nicht, ob da etwas brauchbares, weil ich nicht weiß, ob die Kamera volle 16 Bit ausnutzt. Sonst mußt Du die Werte der Bildpunkte um ein paar Stellen nach rechts shiften.
MX916_get_data2.vi (Größe: 14,22 KB / Downloads: 328)
LV8.5
Gruß Andreas