Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bilder analysieren (https://www.delphipraxis.net/177963-bilder-analysieren.html)

Dragon27 8. Dez 2013 15:04

Bilder analysieren
 
Hallo zusammen,

ich würde gerne Bilder "analysieren". Beispielsweise bei einer Produktion durch eine Kamera fehler am Produkt zu erkennen.
Im Moment habe ich keinen konkreten Anwendungsfall, aber mich würde interessieren wie man soetwas macht?

Wo fange ich da an? Gibt es dafür Komponenten?

Danke!

Perlsau 8. Dez 2013 15:15

AW: Bilder analysieren
 
Deine Frage ist derart allgemein gehalten, daß man sie praktisch nicht beantworten kann, ohne ein dickes Buch darüber zu schreiben. Ich würde dich daher auf Google verweisen, wo du dir entsprechende Ansätze und Anregungen holen kannst.

hstreicher 8. Dez 2013 15:34

AW: Bilder analysieren
 
Ganz einfach :)

du nimmst z.b. so eine Maschine
http://www.mts-mengen.de/warenschau
(hab nix mit denen zu tun, war nur der erste Link beim grossen G)

und da stellst du einen Menschen hin der die Stoffe die über den Leuchttisch laufen ansieht :) und die Fehler markiert,

Dass soll heißen dass das auch im 21. Jahrhundert noch keine umfassend brauchbaren Lösungen gibt

Unx 8. Dez 2013 15:36

AW: Bilder analysieren
 
Stichwort: OpenCV

Dragon27 8. Dez 2013 15:47

AW: Bilder analysieren
 
Erstmal danke für Eure Antworten!

Mir ist bekannt, dass die Bilderkennung nicht 100% genau ist. Wie oben beschrieben interessiere ich mich dafür, leider ohne konkreten Anwendungsfall.
Ich kann mir nicht vorstellen wie genau man hier vorgeht? Werden Pixel analysiert? Vektoren berechnet?

OpenCV schaue ich mir gerne an ;) Danke!

Schöne Grüße

Perlsau 8. Dez 2013 16:00

AW: Bilder analysieren
 
Es gibt kein genaues Vorgehen ohne Anwendungsfall.

Für OpenCV existiert bei GitHub eine Delphi-Migration. Das Original wurde für C und C++ entwickelt. Einsteiger-Infos würde ich erstmal dort beziehen. Ob dir diese Infos jedoch weiterhelfen, zu verstehen, wie man kameragestütztes Qualitätsmanagement implementiert, ist fraglich, denn du wolltest ja keine Anwendung schreiben, sondern dich lediglich über Grundlagen und Ansätze informieren, wenn ich das richtig verstanden habe.

jfheins 8. Dez 2013 16:02

AW: Bilder analysieren
 
Zitat:

Zitat von hstreicher (Beitrag 1238993)
Dass soll heißen dass das auch im 21. Jahrhundert noch keine umfassend brauchbaren Lösungen gibt

Naja, das kommt immer auf den Anwendungsfall an.

Neben OpenCV und MATLAB kommt mir auch noch MVTec Halcon in den Sinn. Letzteres finde ich persönlich unschön zu programmieren, kann aber eine ganze Menge. MATLAB ist natürlich der "Holzhammer" (auch näher an einer gewohnten Programmiersprache), bringt aber auch schon viel in Sachen Bildanalyse mit.

Es kommt auch drauf an, wie Nah am "Stand der Forschung" du bist. Bist du sehr nah dran, gibt es -- wenn überhaupt -- eine OpenCV Lösung. Eher ein Paper und einen spärlich kommentierten Quelltext, der gerade so funktioniert. Willst du nur Kanten erkennen hast du eine riesige Auswahl an Algorithmen und kannst den besten heraussuchen.

Allgemein lässt sich da nicht viel sagen. Es kommt immer auf den konkreten Anwendungsfall an. Und natürlich darauf, wie viel Gehirnschmalz schon bei der Aufnahme der Bilder eingeflossen ist. Ich habe letztes Jahr eine Software programmiert, die in einer Videosequenz eines Schweißprozesses die Spritzer verfolgt und zählt. Ging, war aber nicht einfach mal so getan :wink:

Medium 9. Dez 2013 00:10

AW: Bilder analysieren
 
Zitat:

Zitat von Dragon27 (Beitrag 1238995)
Werden Pixel analysiert? Vektoren berechnet?

So wie du fragst, fehlen dir einige Mathe-Grundlagen und Standardoperationen der Bildverarbeitung, um hier sinnvoll fachliche Dinge an deinen Kopf werfen zu können. Das, und die allgemeine Natur deiner Frage machen eine zufriedenstellende Antwort kaum möglich. Aber ja, es kommen im Allgemeinen hauptsächlich Per-Pixel-Operationen, als auch Vektorbasierte Rechnungen zum Einsatz. Nicht selten gehen die auch Hand in Hand bei konkreten Lösungen.

Das wichtigste ist erstmal herauszufinden, um was für Objekte es sich nachher handeln wird. Dann deren Vielfalt, und die erreichbare Qualität der Ausgangsbilder. (Helligkeitsschwankungen, Kameraauflösung, Durchlaufgeschwindigkeit, Farbvariation, Ausrichtung konstant oder nicht, etc. pp.). Dann muss ganz genau definiert werden, was Produktfehler sind, wie diese aussehen könnten, und natürlich ein "perfektes" Referenzprodukt. Zudem noch in welchem Maße Abweichungen noch als Variation, und ab wann als Fehler zählen. Wenn das alles geklärt ist, muss man sich ganz scharf überlegen, wie man vom Vergleichsbild ausgehend seine Bildverarbeitung dazu bringen kann, aussagekräftige Maßzahlen zu produzieren. Eventuell muss man auch die Art der Fehler klassifizieren (Farbvarianz, fehlende Teile, Deformierung, blabla), wonach sich ebenfalls sehr stark richtet, wo man hier mit der Analyse ansetzt.
Hier geht die Spanne von einem simplen Pixel-für-Pixel Vergleich, über Vektorisierung und vielleicht gar Fourierdeskriptoren, bis hin zu ausgewachsener Objekterkennung und Neuronalen Netzen. Die Spanne an Komplexität ist gewaltig, und was am Ende gute Ergebnisse bringt, ist vor allen Dingen mit unzähligen Tests und Referenzläufen erst zu ermitteln. Aber ohne konkretes Vorhaben kann man kaum mehr sagen, und manche Wünsche sind potenziell sogar überhaupt nicht praktikabel lösbar (u.U. auch ganz und gar nicht). Auch die nötige Rechenpower kann von SoC bis Rechenzentrum liegen. Standardmethoden, die man immer und überall braucht, gibt es eigentlich kaum. Bestenfalls ein Toolset aus diversen Modellen, die aber immer für den Einzelfall angepasst umgesetzt und kombiniert werden wollen. Darunter fallen auch Vorverarbeitungsschritte wie Lagekorrekturen, Beleuchtungskorrekturen, Filterung, Scaling, Cropping, Farbraumänderungen, uuuuund was es so alles da gibt.

Ich habe Zweifel, dass du aus diesem Thread hier den erhofften Informationswert ziehen wirst :?

bernhard_LA 12. Dez 2013 14:41

AW: Bilder analysieren
 
wenn es um das Thema lernen von Bildverarbeitungs Alorithmen geht hier 2 Delphi Links :


a) Bild im Bild erkennen über Cross Correlation Alogo

http://sourceforge.net/projects/nccfastncc/

b) Kreise in einem Bild erkennen über Hough Transformationen

http://sourceforge.net/projects/houghtransforma/


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz