AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Winkelerkennung mit Webcam für Bauelemente

Ein Thema von hedie · begonnen am 21. Jan 2012 · letzter Beitrag vom 24. Jan 2012
Antwort Antwort
Seite 1 von 2  1 2   
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#1

Winkelerkennung mit Webcam für Bauelemente

  Alt 21. Jan 2012, 16:09
Guten Tag zusammen

Ich habe eine frage, ist es mit verhältnismässig geringem Aufwand möglich, den Winkel bzw. die Ausrichtung eines Objektes mit einer Webcam zu erkennen?

Es geht darum, die Ausrichtung eines Bauteils mittels Webcam zu erkennen.

Das einzige was im Bild scharf dargestellt ist, ist das Bauteil. Alles andere ist verschwommen...

Gibt es dazu bereits irgendwelche Libs oder DLL's um Objekte innerhalb eines Bildes erkennen zu können?


Danke schonmal für eure Tipps

Gruss
Claudio
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

AW: Winkelerkennung mit Webcam für Bauelemente

  Alt 21. Jan 2012, 16:34
Falls der Preis keine Rolle spielt: Halcon

Damit geht sowas: http://www.halcon.de/halcon/applicat...h-01-large.gif
(Nachdem die 3D Daten zur Verfügung stehen)
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#3

AW: Winkelerkennung mit Webcam für Bauelemente

  Alt 21. Jan 2012, 19:54
Danke für deine Antwort

Nun weiss ich wenigstens dass es irgendwie geht hehe

Der Preis spielt natürlich schon eine wesentliche rolle... Am liebsten kostenlos


Es geht mir hier nicht um Präzisionsmessungen sondern mehr darum das Bauteil so genau wie mit einfachen mitteln möglich auszurichten...
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

AW: Winkelerkennung mit Webcam für Bauelemente

  Alt 21. Jan 2012, 22:35
welche form hat das objekt? ist das problem zweidimensional?
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#5

AW: Winkelerkennung mit Webcam für Bauelemente

  Alt 21. Jan 2012, 23:14
Ja das problem ist lediglich 2 dimensional
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

AW: Winkelerkennung mit Webcam für Bauelemente

  Alt 22. Jan 2012, 11:03
Also ich habe da mal Code geschrieben, um die Ausrichtung eines Rechtecks zu bestimmen. Heraus kam dann der Winkel in dem das Rechteck steht.

Das ganze habe ich über eine Hauptachsentransformation realisiert, aber es kann gut sein dass es da noch einfachere Lösungen gibt ....
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#7

AW: Winkelerkennung mit Webcam für Bauelemente

  Alt 23. Jan 2012, 17:13
Kannst du mir da noch ein paar Tipps geben?
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#8

AW: Winkelerkennung mit Webcam für Bauelemente

  Alt 23. Jan 2012, 19:46
Das Programm ist in C# geschrieben, hier mal der wesentliche Code:
PHP-Quellcode:
        private void CalcAngle(ref CalcInfo img)
        {
            // Flächenmomente ermitteln
            double Ixy = 0,
                Ixx = 0,
                Iyy = 0;

            for (int y = 0; y < img.Height; y++)
            {
                for (int x = 0; x < img.Width; x++)
                {
                    // Über alle Pixel des Bildes iterieren
                    if (img.rgbValues[y * img.Width + x] == img.color) // Falls der Pixel zum Objekt gehört
                    {
                        // Momente 2. Ordnung
                        Ixx += (y - img.CenterY) * (y - img.CenterY); // CenterXY beschreibt den Flächenmittelpunkt
                        Iyy += (x - img.CenterX) * (x - img.CenterX);
                        Ixy += (x - img.CenterX) * (y - img.CenterY);
                    }
                }
            }

            // Winkel berechnen
            double phi = Math.Atan2(2 * Ixy, Iyy - Ixx);
            img.Angle = -0.5 * phi;
        }
Vorher muss noch der Schwerpunkt berechnet werden. Der Winkel der errechnet wird, beschreibt die Neigung der ersten Hauptachse ("Längsachse") zur Waagerechten.

Zur Lage der Hauptachsen: http://de.wikipedia.org/wiki/Flächenträgheitsmoment
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.717 Beiträge
 
Delphi 6 Enterprise
 
#9

AW: Winkelerkennung mit Webcam für Bauelemente

  Alt 24. Jan 2012, 10:12
Ich hab neulich per Zufall ein (war es Youtube?)-Video gesehen. Da wurde Spielkonsolenzubehör (Eye-Toy oder das WII-Pandon) für sowas benutzt. Finde das aber gerade nicht.
Ralph
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.068 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

AW: Winkelerkennung mit Webcam für Bauelemente

  Alt 24. Jan 2012, 12:38
das Bild mittels KantenFilter bearbeiten, dann kann man Hough Transformation auf das Kantenbild anwenden, man erhält bei Liniendetection den Winkel als Parameter

auf Sourge forge habe ich eine Demo, was fehlt im Demo Code:

gibt es viele Kanten im Bild , muss man man die relevanten aussortieren, Stichwort "NON MAXIMA SUPRESSION"

Ist bei Kaufsoftware natürlich dabei - noch nicht aber auf source forge

Geändert von bernhard_LA (24. Jan 2012 um 12:47 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf