IMAQdx - Videoverarbeitung - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Module (/Forum-LabVIEW-Module) +---- Forum: LabVIEW Vision (/Forum-LabVIEW-Vision) +---- Thema: IMAQdx - Videoverarbeitung (/Thread-IMAQdx-Videoverarbeitung) |
IMAQdx - Videoverarbeitung - fabqu - 28.12.2011 13:05 Hi @all! Habe gerade ein echt nettes Projekt mit LabView auf die Beine gestellt. Möchte es nun aber um meine kleine Farb-Funk-USB-Kamera erweitern. Das klappt soweit auch schon, habe mal unten stehendes VI genommen (ist so ziemlich das gleiche aus einem der Beispiele). Meine erste Frage zu diesem Projekt: wie kann ich es "zoomen", sodass das gesamte Bild dargestellt wird, ohne dass man im Bild scrollen muss? So wie es jetzt läuft, hat man eben nur einen kleinen Bildausschnitt, etwa ein viertel, den Rest muss man her-scrollen. Jedoch jann ich meine Anzeige aus Platzgründen nur schlecht vergrößern. Weitere Fragen (wie nehme ich z.B. jedes 10 Videobild zur Verarbeitung raus, wie kann man es z.B. nach Maxima absuchen, ...) kämen dann später Danke euch allen! Fabian RE: IMAQdx - Videoverarbeitung - fabqu - 29.12.2011 11:14 Hmmm... Da tut sich wohl nix!?!?! Dann eben eine andere Frage: Ich kann ja mit dem "Image Display"-VI aus der "Vision"-Gruppe das Bild darstellen und ROI's (Region of Interest) zeichnen (Rechteck, Kreis, Linie, Punkt, Polygon, etc). Aber wo in meinem Blockdiagramm kann ich denn das dann auslesen? Ps: Obige Fragestellung bleibt nach wie vor! Lg, Fabian RE: IMAQdx - Videoverarbeitung - Falk - 30.12.2011 23:23 Hallo Fabian! Zu deiner letzten Frage: Schau mal in der Property-Nodes des Image-Displays nach "ROI" oder so ähnlich. Schöne Grüße Falk RE: IMAQdx - Videoverarbeitung - fabqu - 31.12.2011 17:54 Leider weiß ich nicht genau, was du meinst. Habe unten mal die Auswahlmöglichkeiten reingestellt Grüße Ach ja, und guten Rutsch euch allen RE: IMAQdx - Videoverarbeitung - unicorn - 02.01.2012 22:20 Im Blockdiagramm müsste Du einen Eigenschaftsknoten zu dem Image-Anzeigeelement erstellen. Hier kann man über die Eigenschaft "ROI" die aktuellen ROI holen. Hier gibt es auch die Eigenschaft "Zoom to Fit Mode", die man auf True setzen kann. Dann sollte das Bild laut Hilfe skaliert werden, so dass alles gezeigt wird. Man kann sich mit Ctrl + H das Hilfefenster anzeigen, dann einfach mal die Eigenschaften eines Eigenschaftsknoten durchgehen und die angezeigte zugehörige Beschreibung durchlesen. So findet sich vieles... und manchmal noch schneller als eine Forumsantwort ;-) RE: IMAQdx - Videoverarbeitung - fabqu - 03.01.2012 10:43 Hi unicorn, danke vielmals. Habe es jetzt dank deiner Hilfe soweit, dass ich das Bild voll sehe. Außerdem habe ich jetzt das Bild in grayscale gesetzt und mache einen "global report", so erhalte ich den Mean Value der Helligkeit, sowie den Maximumwert (ist irgendwie fast immer auf 255) und den Minimumwert (stets zwischen 4 und 7). Meine Frage: Was kann ich denn jetzt damit machen? ROI ist vielleicht nicht so wichtig, ich würde jetzt gerne das gesamte Bild auf ein Tamplate durchsuchen. Geht das überhaupt bei einem Video? In den Beispielprogrammen (mit denen ich leider nicht gut zurecht komme) wird es ja nur mit Bildern gemacht. Oder doch mit ROI: Wie kann ich dann z.B. eine Linie beobachten? Ich müsste also irgendwie herausbekommen, ob die Linie im ROI rechts, links, oben oder unten verläuft. Bräuchte also noch mal eure Hilfe :| Danke Euch!!! Fabian ps: unten mal, wie weit ich jetzt bin... RE: IMAQdx - Videoverarbeitung - b.p - 03.01.2012 12:04 Ich fürchte, dass das noch ne schwerere Angelegenheit wird, ich weiß ja nicht, was für Bildverarbeitung du machen willst (ein Objekt zu verfolgen kann sehr schwer sein, oder sehr einfach, dazu braucht man Probebilder) Und Videoverarbeitung ist eben oft noch eine Komplexitätsstufe, für die es (zumindest in IMAQ) keine vorprogrammierten Lösungen gibt. Da verwendet man dann, was auch immer man an Algorithmen aus den Bildern brauchen kann und bastelt sich seine eigenen Algorithmen. Obwohl ich davon ausgehe, dass du mit Videoverarbeitung in Wirklichkeit so etwas wie Bildverarbeitung von einem Stream mit Weiterverwendung von ein bisschen gewonnener Information meinst. Ich rate dir, dass du dir den Vision Assistant anschaust und dein Problem erst mal für eine Bildserie löst. Das heißt, du nimmst eine Serie an Probebildern im VA auf, machst welche Vorverarbeitung auch immer und suchst dann mit Pattern Matching /Geometric SHape Matching /.. was auch immer dein Template. Wenn du das konsistent (also bei vielen, repräsentativen Probebildern) schaffst, lässt du dir dies in ein LabVIEW-vi erzeugen. Und dann reden wir weiter. Gruß, Birgit RE: IMAQdx - Videoverarbeitung - fabqu - 03.01.2012 12:15 Ja, irgendwie glaube ich das langsam auch. Aber es kann doch nicht ganz so schwer sein, sich jedes x-te Bild aus dem Stream zu nehmen, und auf ein Template-Bild zu vergleichen, oder??? Grüße RE: IMAQdx - Videoverarbeitung - b.p - 03.01.2012 13:34 Jedes x-te Bild rausnehmen: Funktion Quotient und Rest + Case-Struktur. Dauert eine Minute. Ein Template-Bild suchen: Hmm. Kann sehr schwer sein. Ich habe auch schon 2 Monate am Stück an einer einzigen solchen Aufgabe gearbeitet (und das Ding wird mich noch 1 Monat kosten oder so). Oder auch nur zwei Stunden an einer anderen. Ist aber auch mein Job. :-) Im Moment verwendest du Begriffe und Ideen , die teilweise ganz unterschiedliche Problemstellungen beschreiben und unklar sind. So zum Beispiel verstehe ich solche Begriffe: Template-Bild vergleichen: Du hast ein existierendes Bild, zB die Webcamaufnahme eines leeren Büros. Du willst laufende Bilder mit diesem vergleichen, dh, sind sie, abgesehen von von dir festgelegten Toleranzen (zB im Bereich Helligkeit, Verschiebung, Verzerrung), gleich? Template-Bild suchen: Du hast zB das Musterbild einer Euro-Münze. Die Webcam liefert die einen Haufen an Münzen - du schaust, ob du den 1 Euro findest, und wo? Linienorientierung erkennen: Du nimmst das Live-Bild der Webcam und betrachtest das, was dein Liniendetektionsalgorithmus als Linien verstehst. Dann rechnest du in einem bestimmten Bereich die Winkel aus. Ohne zu verstehen, was du willst, kann ich dir keine Hinweise geben. RE: IMAQdx - Videoverarbeitung - fabqu - 03.01.2012 13:49 Zitat:Jedes x-te Bild rausnehmen: Funktion Quotient und Rest + Case-Struktur. Dauert eine Minute. Sorry ich bin in den ganzen VISION-Sachen noch total unerfahren. Was soll ich denn Teilen? Den Buffer? und wie kann ich dann das z.B. x/10-te Bild aus dem Video nehmen? Zu dem anderen: Ich habe zwei Problemstellungen: 1.) Ich muss Bilder eines Mikroskops ansehen (siehe Beitrag) und auf ein Template-Foto untersuchen. Das zu untersuchende Bild und das Tamplate kann ich ja mal anhängen. Man sieht eine Kupferoberfläche mit einige CO-Molekülen (die drei in einer Reihe oben, etwas links von der Mitte) und leider auch anderen Molekülen. Wie gesagt, das ist noch "einfach", da nur starre Bilder, ich muss nur x- und y-Koordinaten extrahieren. Hier ist, wie im Beitrag erwähnt, das größte Problem schon alleine das Darstellen des Bildes (es kommt im sxm-Dateiformat, wodurch die originalen x- und y-Koordinaten erhalten bleiben). 2.) Ich muss - eigentlich als Vorbereitung auf Problem 1.) - das Videobild einer kleinen USB-Cam auf Gegenstände untersuchen. Sagen wir einfach mal auf einen Barcode (weils da schon so nette VIs gibt) oder auf ein eigenes Foto, wie z.B. das Foto einer Hand oder, wie du sagtest, einer Euro-Münze. Problem 1.) könnte man auch mit Minima-Suche lösen, was ich aber - da verschiedenartige Moleküle vorhanden sind - für schwierig halte. Liebe Grüße und Danke!!!! Fabian |