Bildvergleich
Zeigt doch mal zwei Demo-Bilder, welche du vergleichen möchtest.
Von irgendwas muss man ausgehen können.
Wenn die Kamera fix montiert ist und die Lichtverhältnisse immer gleich sind, erleichtert das schon einiges. Da kann man sich schon mal das Skalieren und den Helligkeitsausgleich etc sparen.
Wenn man dann noch sicher von einer z.B. Unterkante der Platine ausgehen kann, welche sich klar vom Hintergrund abhebt, kann man beginnen den Rotationswinkel festzustellen und zu drehen
Dann würde ich evtl Farbmittelwerte von Blöcken (z.B. 10 x 10 Pixel) vergleichen statt einzelne Pixel.
Von irgendwas muss man ausgehen können.
Wenn die Kamera fix montiert ist und die Lichtverhältnisse immer gleich sind, erleichtert das schon einiges. Da kann man sich schon mal das Skalieren und den Helligkeitsausgleich etc sparen.
Wenn man dann noch sicher von einer z.B. Unterkante der Platine ausgehen kann, welche sich klar vom Hintergrund abhebt, kann man beginnen den Rotationswinkel festzustellen und zu drehen
Dann würde ich evtl Farbmittelwerte von Blöcken (z.B. 10 x 10 Pixel) vergleichen statt einzelne Pixel.
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Ich hab noch keine Bilder, hab ich erst Morgen wenn ich weider auf arbeit bin die Idee ist mir gestern Abend spontan ma gekommen. Aber ich denk ich bekomms hin ich setz mich jetzt mal ran mit n paar Bildern ausm netz und spiel mal n bissle mal sehn was man hinbekommt...
Prinzipiell kann man aber mit jedem Bild spielen. Die Lichtverhältnisse sind ungefähr gleich und ich wollt ne weiße Unterlage machen. Das sollte alles recht erträglich werden...
Prinzipiell kann man aber mit jedem Bild spielen. Die Lichtverhältnisse sind ungefähr gleich und ich wollt ne weiße Unterlage machen. Das sollte alles recht erträglich werden...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Ich hab jetzt von jeder Seite ne reihe Punkte und suche gerade nach eingebauten 2d Funktionen fürs skalarprodukt oder besser gleich ne dotprodct funktion, damit bilde ich dann den winkelmittelwert aller punkte auf einer seite von der mitte aus und habe so 4 Linien drumrumgelegt. An den schnittpunkten werden die zugeschnitten und ich hab einfach 4 punkte die die Konturen der leiterplatte kennzeichnen. Anhand der längen der "linien" sollte man in der lage sein rauszubekommen wie rum die leiterplatte jetzt liegt (hoff ich).
Aber ich find keine funktionen dafür in der VectorMath von GLScene sind welche drin aber alles für 3d vektoren und ich wollt eigentlich schon 2d routinen nehmen gut ich kann auch eine richtung 0 lassen aber ...
Aber ich find keine funktionen dafür in der VectorMath von GLScene sind welche drin aber alles für 3d vektoren und ich wollt eigentlich schon 2d routinen nehmen gut ich kann auch eine richtung 0 lassen aber ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
So, kann mal ein erstes Resümee ziehen. 2 Sachen sind von entscheidender Wichtigkeit für die Güte des Resultates. Die Position und die Beleuchtung des Objektes. Ich hab es erstmal mit Anschlägen probiert funktioniert auch recht gut nur das dabei auch nur das kleinste kippeln durch Bauteile auf der Unterseite oder ähnliches sich schon weider auswirkt. Das grösste Problem hab ich bei den Leiterplatten mit Reflektionen des Umgebungslichtes.
Aber sonst ...
Aber sonst ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Mhm, damit kann man soweit ich weiss einzelne Wellenlängen filtern (bin in Optik nicht ganz so bewandert) was nützt es mir aber einzelne farben auszufiltern ? Die Reflektionen sind doch Helligkeitsänderungen ?!
Ich hab versucht die graustufenanteile zu entfernen indem ich die dunkelste farbe eines Punktes genommen habe und diese von allen drein subtrahiert. Im Ergebnis waren aber immernoch die Reflektionen erkennbar.
Ich hab versucht die graustufenanteile zu entfernen indem ich die dunkelste farbe eines Punktes genommen habe und diese von allen drein subtrahiert. Im Ergebnis waren aber immernoch die Reflektionen erkennbar.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Diffusoren und die Lichtquelle aufteilen. Für eine gleichmässige Beleuchtung gibt es auch Dome. Google mal bei 'Büchner Beleuchtungen'.Das grösste Problem hab ich bei den Leiterplatten mit Reflektionen des Umgebungslichtes.
Es gibt auch algos für 'anti blooming' in Software wenn die CCD Chips übersteuern und keine entsprechen Gates haben..
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Mit dem Grundrauschen der Kamera hab ich erstaunlicherweise kaum zu kämpfen.
Ein unbehandelter vergleich vom selben Motiv endet in einem ganz leicht grauen schleier. Selbst bei meiner 15 eur Webcam. Ich Quadriere einfach das Vergleichsergebnis und teile es weider. Damit eleminiere ich diese Störungen komplett. Trotsdem schöner Hinweis Danke.
Wenn noch jemand ne idee hat, wie ich die Reflektionen rausrechnen kann bin ich ganz ohr...
Die Beleuchtungssituation zu verbessern schwebt mir natürlich vor auf der anderen Seite will ich aber rausholen was per Software geht ...
Ein unbehandelter vergleich vom selben Motiv endet in einem ganz leicht grauen schleier. Selbst bei meiner 15 eur Webcam. Ich Quadriere einfach das Vergleichsergebnis und teile es weider. Damit eleminiere ich diese Störungen komplett. Trotsdem schöner Hinweis Danke.
Wenn noch jemand ne idee hat, wie ich die Reflektionen rausrechnen kann bin ich ganz ohr...
Die Beleuchtungssituation zu verbessern schwebt mir natürlich vor auf der anderen Seite will ich aber rausholen was per Software geht ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Wie beleuchtest du jetzt genau ?Christian hat geschrieben: Wenn noch jemand ne idee hat, wie ich die Reflektionen rausrechnen kann bin ich ganz ohr...
Die Beleuchtungssituation zu verbessern schwebt mir natürlich vor auf der anderen Seite will ich aber rausholen was per Software geht ...
*) Du kannst versuchen indirekt über weissen Zeichenkarton zu gehen, ev. mit mehr als einer Beleuchtung.
*) Milchige Folie/Glas vor der Beleuchtung
*) Sternenhimmel = viele weisse LEDs ev. mit großen Öffnungwinkel
*) Kombination von oben
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).