LabVIEWForum.de
Bilderordner komplett einlesen und bearbeiten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW Vision (/Forum-LabVIEW-Vision)
+---- Thema: Bilderordner komplett einlesen und bearbeiten (/Thread-Bilderordner-komplett-einlesen-und-bearbeiten)

Seiten: 1 2


Bilderordner komplett einlesen und bearbeiten - PatrickT87 - 23.08.2011 09:58

Hey Leute,

ich arbeite an einer Bildbearbeitung und habe von meinem Vorgesetzten die Aufgabe bekommen, mehrere 8-Bit Bilder eines Ordners automatisch einzulesen und diese mit der schon erstellten Kantenerkennung zu bearbeiten.
Ich habe mich dafür hier schon im Forum nach Hilfe umgesehen und auch schon ein paar Anhaltspunkte gefunden, aber es funktioniert noch nicht.
Ich bekomme eine Fehlermeldung und habe keine Ahnung, was ich in diesem Fall machen muss, um diesen Fehler zu beheben.

Es wäre nett, wenn ihr mir helfen könntet und mir sagen könntet was ich falsch gemacht habe.
Hierfür hab ich euch das bisherige Programm und ein Bild mit der Fehlermeldung hochgeladen.

Danke schonmal im Voraus für eure Mühe und Hilfe.

MFG Patrick


RE: Bilderordner komplett einlesen und bearbeiten - Y-P - 23.08.2011 10:10

Der User im folgenden Beitrag meint, dass es evtl. an seinem Firmennetz lag.
http://forums.ni.com/t5/Machine-Vision/writePNGfile-error-1074395995-file-not-found-on-saving-big/td-p/1624532
Ansonsten sehe ich in Deinem Screenshot nicht wirklich viel. Baust Du Deinen Pfad richtig zusammen?

Gruß Markus


RE: Bilderordner komplett einlesen und bearbeiten - PatrickT87 - 23.08.2011 11:57

Ich bin leider auch noch recht unerfahren im Umgang mit Labview. Ehrlich gesagt glaub ich nicht, dass es an unserem Uni- Netzwerk liegt. Ansonsten funktioniert das Programm auch mit der Kantenerkennung optimal. Das Programm zeigt mir zumindest so keine Fehler an. Ich bekomm halt nur nach dem Starten den Fehler 1074395997 bei IMAQ ReadFile: Ungültige Parameter.

Ich will damit ja nur einfache jpg- Dateien lesen.
Wäre super, wenn mir da jemand helfen könnte.


RE: Bilderordner komplett einlesen und bearbeiten - Y-P - 23.08.2011 12:26

Vielleicht erstellst Du ja Deinen Pfad falsch. Hast Du das schon überprüft?

Gruß Markus


RE: Bilderordner komplett einlesen und bearbeiten - NWOmason - 24.08.2011 07:42

Wieviele Dateien sollen den geladen werden?
Wie hoch ist die Schleifenanzahl?
Ab welchem Durchlauf tritt der Fehler auf?
Sind nicht genügend Dateien vorhanden, da der Pfad ja dynamisch zusammengebaut wird?
Einfach mal ein paar Sonden an die Pfade anhängen und das ganze Debuggen!

Beste Grüße,
NWO


RE: Bilderordner komplett einlesen und bearbeiten - kaiman - 25.08.2011 07:39

Moin Patrick,

Erstmal ein paar Anmerkungen zu deinem VI.
Deinem Screenshot nach überschreibst du erstmal dein eines Bild was du angelegt hast, d.h. du wirst immer nur dein zuletzt geöffnetes Bild bearbeiten. Die Bilder in LV liegen immer nur als Referenz auf einen Speicherbereich vor. Mir ist grad nicht ganz klar, ob du die Bilder nacheinander oder gleichzeitig bearbeiten willst. Wenn du parallel arbeiten willst, musst du für jedes Bild ein extra Bilderstellen (mit IMAQ Create). Wenn die Bilder nacheinader bearbeitet werden sollen, würde ich die ganze Verarbeitung in eine for-Schleife packen, lediglich das anlegen des Bildes sollte außerhalb erfolgen. Wenn ich mehrere Bilder nacheinder einlesen möchte mach ich das immer über "List Folder", da kannst du auch eine Maske anbinden, damit nur die Dateien aufgelistet werden, die dich auch interessieren. Die Funktion erzeugt dir dann ein Array mit allen Dateien/Ordnern, die deiner Maske entsprechen. Das Array kannst du dann per Autoindexing in deine Schleife führen und die Dateien dann auslesen. So sollten auch nur wirklich vorhandene Dateien geöffnet werden.

Schön Gruß,
Kai


RE: Bilderordner komplett einlesen und bearbeiten - PatrickT87 - 13.09.2011 09:26

Hallo,

danke erstmal für eure guten Vorschläge und Nachfragen zu meinem Programm. Ich hab bisher nicht geantwortet, weil mir zwischenzeitig andere Aufgaben aufgetragen wurden.

Um erstmal ein paar Fragen zu beantworten, kann ich noch nicht 100% sagen wie viele Bilder eingelesen werden. Als Testlauf sollten aber erstmal 5 Bilder aus einem Ordner eingelesen werden. Es kann natürlich auch sein, dass es hinterher 50 bis 100 sein müssen. Ist das eigentlich gut realisierbar oder gibt es da Probleme mit dem Arbeitsspeicher?

Kaiman, wenn ich dich richtig verstehe, muss ich die komplette Edge Detection in die For-Schleife packen, damit mir die Werte der verschiedenen Bilder gespeichert werden. Die Bilder sollen auch nacheinander bearbeitet werden, deshalb ist eine For-Schleife wohl auch das sinnvollste.
Kannst du mir mal ein Beispiel geben, wie ich das mit dem "List Folder" mache? Das wäre super Wink.

MFG

Patrick


RE: Bilderordner komplett einlesen und bearbeiten - kaiman - 13.09.2011 09:49

Moin,

ich hab dir mal ein Beispiel erstellt...
Die Bildanzahl ist kein Problem, da die Bilder ja nacheinander geladen werden - denke ich zumindest.

Gruß, Kai


RE: Bilderordner komplett einlesen und bearbeiten - PatrickT87 - 14.09.2011 10:10

Hey Kai,

danke schon mal für den Tipp. Ich hab das jetzt mal versucht in mein Programm zu integrieren. Allerdings wird mir dann angezeigt, dass meine geladene Datei keine Resourcendatei ist. Es funktioniert auch noch nicht so richtig, dass die verschiedenen Bilder aus einem Ordner eingelesen werden und die Kantenkoordinaten angegeben werden. Ich hab hier nochmal mein Programm hochgeladen und ich hoffe, dass mir jemand auf die Sprünge helfen kann, warum es nicht funktioniert bzw. wie ich es besser machen kann, um die verschiedenen Bilder aus einem Ordner einzulesen und sie durch die Kantenerkennung laufen zu lassen.

MFG

Patrick


RE: Bilderordner komplett einlesen und bearbeiten - snuz - 14.09.2011 11:33

Hi PatrickT87,

warum der Fehler entsteht, kann ich dir nicht sagen, aber die Funktion die Du da nimmst gibt den Start Pfad einfach nur weiter, unverändert. Mit der Funktion die Du bei mir im Bild siehst, geht es, diese Funktion erstellte ein Array gefüllt mit den Dateien-Pfaden die in diesem Ordner sind.

Gruß snuz