.jpg oder .gif Bild auswerten/ Bildverarbeitung

blimaa

Level-2
Beiträge
964
Reaktionspunkte
105
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Miteinander

Folgende Ausgangslage: Von einem bereits bestehenden Gerät bekomme ich ein Schwarz-Weiss jpg oder gif Bild (kann man wählen). Nun müsste ich dies auswerten können.
Nun zur Frage: Wer kennt eine Möglichkeit dieses Bild auszuwerten? Ich kenne die Kameras von Sick (2D und 3D) und ich stelle mir vor, dass es auch Programme auf einem IPC statt auf der Kamera selber gibt zum Auswerten.
Kennt jemand solche möglichkeiten?


Gruss blimaa
 
Das Thema Bilderkennung ist nicht trivial. Wenn Du nicht schon viel Erfahrung hast, oder sehr viel Zeit, würd ich das einkaufen...

Software findet Google zur genüge. Nur die Anwendung setzt schon einiges an Wissen voraus, was nicht heissen soll, das es u.U. für einfache Aufgaben auch einfache Lösungen geben könnte.

Die Frage ist also, was willst Du auswerten? In Echtzeit oder nur einmalig? Ist das ne Industrieanlage oder ne Uni-Projektarbeit? Wieviel Geld hast Du zur Verfügung? usw.

Gruß.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi
Es kommt ca. alle 10 Sek ein Bild. Es ist eine Industrieanwendung und definitiv kein Uni-Projekt.
Da wir noch in der Abklärungsphase sind, ist komplexität der Bilder und Budget noch nicht genau bekannt. Prinzipiell kann man sich das ganze wie eine Rissprüfung vorstellen.
Kennst du Softwaren oder Anbieter, welche du auch empfehlen kannst?

Gruss blimaa
 
Hi,

wir hatten vor ein paar Wochen nen Mitarbeiter von Keyence da, der hat uns die Bildverarbeitung mit Kameras von Keyence vorgestellt. Wir haben schon Bildsensoren von denen im Betrieb. Die sind recht einfach zu programmieren.

Tschö dentech
 
Hi
Es kommt ca. alle 10 Sek ein Bild. .... Prinzipiell kann man sich das ganze wie eine Rissprüfung vorstellen.
Kennst du Softwaren oder Anbieter, welche du auch empfehlen kannst?

wir hatten vor ein paar Wochen nen Mitarbeiter von Keyence da, der hat uns die Bildverarbeitung mit Kameras von Keyence vorgestellt. Wir haben schon Bildsensoren von denen im Betrieb. Die sind recht einfach zu programmieren.

Jo, die Meisten Anbieter die ich kenne bieten Komplettsysteme incl. Kamerasystem an, was auch Sinn mach, da die Qualität der Bilder auch entscheidend für die Güte der Erkennung ist. Wenn Ihr da unterschiedliche Systeme einsetzt, geht hinterher der Streit los, wer jetzt Schuld ist...

Gruß.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

Ja ein Komplettsystem mit Kamera wäre auch kein Problem, das habe ich schon ein paar mal gemacht :D
Das Problem ist jetzt, dass das Bild nicht von einer Kamera kommt, sondern von einem Röntgengerät.
Ich habe alle meine Applikationen mit SICK Kameras (2D und 3D) gemacht und dort ist die Verarbeitung alles auf der Kamera gleich selber.

Gruss blimaa
 
Moin moin,

ich werf hier mal VisionPro von Cognex in den Raum, damit kann man alles machen, auch einen Wrapper zu eigeneer Software.

Gruss,
michael
 
Naaaa da kommen wir der Sache näher, denke ich mal :)
Hast du erfahrung mit der VisionPro?


Gruss blimaa
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ,

beide Formate kannst du in C++ via Ole ::OleLoadPicture einladen und auf die Pixeldaten zugreifen.

Die PatSwitch Software kann bereits nicht nur Kameras erfassen sondern auch einzelne Bilder die in einem Verzeichnis vorliegen auswerten
ohne das man Compilieren müsste.

Wie das geht kann man sehen :

http://www.flexxvision.de/luascript.html


Gruß Karsten.
 
Ich selber verwende OpenCV in C++. Damit kann man unheimlich viel machen. Geht es bei dir um Konturerkennung oder Pixel zählen ab einen gewissen Schwellwert?
 
Hallo Mobi,

es zeigt sich im wesentlichen das ein großer Teil der Messaufgaben mit einen immer gleichen Reportuar an Funktionen lösbar ist.
PatSwitch veröffentlicht diese Methoden in einer zur Laufzeit veränderlichen klartext Scriptsprache (LUA).

Der zweite Teile einer Messaufgabe besteht in der Kommunikation mit der Maschinensteuerung, auch das ist immer sehr ähnlich, unterstütze
Steuerungen sind in PatSwitch SPS (DirectWrite to DB) Wago Feldbussystem (ModBusprotokoll) sowie TCP/RS232/Microcontroller.

Es ist frei Downloadbar zum ausprobieren. http://www.flexxvision.de/download-patswitch.html
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Komplettsysteme sind immer besser....klar.
Wir setzen z.B. Scorpion 9 von Tordivel ein. Dort ist es halt nicht LUA sondern Python.
Aber viele Wege führen ja bekanntlich nach Rom.

Und welche Bibliothek steckt bei euch dahinter?
 
Hallo Mobi,

ja richtig, der Entwickler an der Maschinensteuerung will nicht immer für jedes Projekt alles wieder neu aufbauen, daher entscheiden nur noch die "losen" Lua-Scripte
über die Prozesseigenschaften der Bildauswertung und der Kommunikation. Das bringt auch Fehlerausschluss und Prozesssicherheit, weil immer das selbe Gerüst
zum Einsatz kommt.

Wir machen Bildauswertung seit den den 80zigern und alle maßgeblichen Softwarekernteile sind Eigenentwicklungen die teilweise in Assembler hergestellt sind, und heutzutage die
Shadowprozessoren der Grafikkarte mit ausnutzen um maximale Performance zu erhalten. Somit kann ohne weiteres eine komplexe Erkennung mit 65[Hz] verarbeitet werden
pro Kamerakanal und Ansichtsfenster. Ohne Fensteransicht geht das in den [Khz] Bereich.
 
Zuletzt bearbeitet:
Auf Prozessorebene zu arbeiten ist natürlich ist natürlich das Nonplusultra. Aber Shadow kenn ich nicht, wenn dann Shader. ;)
Verwendet ihr trotzdem Multithreading? Ich bin dabei eine Software zu schreiben wo die einzelnen Bestandteile in extra Threads ausgelagert werden. Weil bei unserem Rechner auf der Arbeit, der dafür genutzt wird, wird die gesamte Prozessorleistung für die Prüfungen von 12 Bildern genutzt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Mobi,

Shadow, ja Shader via OpenGL, und auch via CUDA (dann Nvidea abhängig) (Nutzen wir für Labeling). Leider ist es so, das ein Messbild wenn es nicht sehr groß ist, z.B. ab 8192x4096 (LineScanCam) es keine segnifikanten Vorteile ergibt, wenn das Bild in Arbeitszonen zerlegt wird auf dem die Prozessoren gleichzeitig zugreifen. Der Speicher muss dann sehr oft Gelockt werden, was einen großen Verarbeitungsoverhead ausmacht das zur Folge hat, das es dann langsamer geht. Das macht erst Sinn wenn die Bildteile unterschiedlich verarbeitet werden können.

Hier setzt PatSwitch an, es zeigt sich das ein Bild verschiedene Arbeitsbereiche aufweist (Patterns) die nicht pixelschlüssig zusammen hängen.
Jedes FieldOfInterest(FOI) kann also als Thread verarbeitet werden. PatSwitch verwendet Multiprozessing bereits bei der Aquirierung der Bilder über die verschiedensten Kamerasysteme.
Die Datenbeschaffung und Transformation der Eingangsbilder übernimmt ein Thread. Letzlich ist es so, das PatSwitch auf dem VisionRechner durch die
Trigger -Verarbeitung zumeist ohne CPU -Last läuft, erst ab 30[Hz] macht sich überhaupt eine Prozessorlast in der Windows Prozessanzeige bemerkbar.

PatSwitch kann als Client mehrmals ausgeführt werden und läuft minimiert in der Taskbar. Für jede Kamera wird ein Client gestartet, dies ermöglicht hoch performe Auswertungen.
Die Ergebnisbilder können alternativ/optional über den integrierten WebServer eingesehen werden. Dieser startet auf Wunsch für jeden Client auf einem frei wählbaren Port.

http://flexxvision.de/media/images/Bild5-06.jpg
 
Zuletzt bearbeitet:
Zurück
Oben