AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Objektverfolgung

Ein Thema von Funk · begonnen am 25. Feb 2006 · letzter Beitrag vom 27. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
Funk

Registriert seit: 25. Feb 2006
11 Beiträge
 
#1

Objektverfolgung

  Alt 25. Feb 2006, 23:35
Hallo,
hier meine Problembeschreibung:
Ein Objekt (Insekt) liegt auf einer Platte und wird von einer WebCam durch ein Mikroskop betrachtet. Sobald sich das Objekt bewegt, soll die Platte so bewegt werden, dass sich das Objekt wieder im Fokus der Cam befindet.
Als erstes muss das Objekt erkannt werden
- die Lichtverhältnisse bleiben durch die Mikroskoplampe fast immer gleich
- das Objekt kann die gleiche Farbe wie die Platte haben
-->bin bei der Suche, auf einen Partikelfilter gekommen, habe aber keine Erfahrungen und meine Frage ist, hat jemand damit schon gearbeitet und kann mir einen Rat geben? Oder gibt es andere Lösungen, ein Objekt zu erkennen?

Danke im Voraus für eure Hilfe.
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Objektverfolgung

  Alt 25. Feb 2006, 23:58
Bitte überprüfe den Ort wo du dies erstellt hast...
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
25. Feb 2006, 23:58
Dieses Thema wurde von "Matze" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Multimedia" verschoben.
Das gehört nicht in die Code-Library.
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Objektverfolgung

  Alt 26. Feb 2006, 09:52
Herzlich willkommen in der Delphi-PRAXiS, Funk.

Die Objekterkennung und -Verfolgung ist ein Standardproblem der digitalen Bildverarbeitung. Die Bilder einer digitalen Kamera musst du als Zeitreihenbilder begreifen. Über die Bilddifferenz und eine Schwellwertbetrachtung kannst du dann einen - einfachheitshalber rechteckigen - Bildbereich identifizieren, der dem beobachteten Objekt zuzuordnen ist. Über die Verschiebung des Flächenschwerpunktes können dann die Schrittmotoren für die Nachführung des Objektes angesteuert werden.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Funk

Registriert seit: 25. Feb 2006
11 Beiträge
 
#5

Re: Objektverfolgung

  Alt 15. Mär 2006, 13:45
Bin jetzt gerade dabei zwei Bilder die ich von der Cam aufnehme, zu vergleichen. Ungleiche Pixels werden rot hinterlegt.

Delphi-Quellcode:
for y := 0 to TestImage.Picture.Bitmap.Height - 1 do
  begin
    P := TestImage.Picture.Bitmap.ScanLine[y];
    P2 := OrgImage.Picture.Bitmap.ScanLine[y];
    P3 := PrevImage.Picture.Bitmap.ScanLine[y];

    for x := 0 to TestImage.Picture.Bitmap.Width - 1 do
    begin
      if RGB(P^.rgbRed, P^.rgbGreen, P^.rgbBlue)-
        RGB(P2^.rgbRed, P2^.rgbGreen, P2^.rgbBlue) > Schwellenwert then
      begin
              P3^.rgbRed := $FF; // = RGB (255, 0, 0) = clRed
              P3^.rgbGreen := 0;
              P3^.rgbBlue := 0;
     end;
Mein Problem ist nun, sobald ich das Rauschen der Kamera reduzieren möchte und damit meinen Schwellenwert erhöhe, bekomme ich die Veränderung des Objekts nicht mehr markiert. Ich möchte ja nur die Veränderung des Objektes herausfinden.
Was mach ich falsch oder wie könnte ich das besser machen?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Objektverfolgung

  Alt 15. Mär 2006, 13:58
Hallo Funk,

dein Schwellenwert muss den Abstand berücksichtigen, nicht die Differenz. Wahrscheinlich bekommst du später bessere Ergebnisse wenn du mit ein-kanaligen Bildern rechnest.

Grüße vom marabu
  Mit Zitat antworten Zitat
Funk

Registriert seit: 25. Feb 2006
11 Beiträge
 
#7

Re: Objektverfolgung

  Alt 15. Mär 2006, 14:34
Hallo und vielen Dank!
Doch was sind 1 Kanalige Bilder? schwarz-weiß?
Kannst du mir bitte etwas genauer erklären was du mit "Abstand" meinst?

Gruß Funk
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Objektverfolgung

  Alt 15. Mär 2006, 18:13
Das hast du schon richtig verstanden - 1-kanalige Bilder sind Grauton-Bilder. Es ist besser mit dem Abstand abs() zweier Grauwerte zu arbeiten, als mit der Differenz, bei der du negative Eregbnisse erhalten kannst. Ich hoffe, dass der Objektträger homogen ausgeleuchtet ist, sonst kannst du das Binärbild schlecht über einen statischen Schwellwert berechnen.

Freundliche Grüße

marabu
  Mit Zitat antworten Zitat
Funk

Registriert seit: 25. Feb 2006
11 Beiträge
 
#9

Re: Objektverfolgung

  Alt 15. Mär 2006, 18:50
Hey super, Danke!!!
Jetzt müsste ich noch die Position der Veränderung heruasfinden. Falls du eine Idee hast, wäre ich dankbar.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Objektverfolgung

  Alt 15. Mär 2006, 20:13
Ich könnte mir vorstellen, dass eine Quantisierung des Bildes mit empirisch ermittelter Granularität am ehesten zum Ziel führt. Dabei halbierst du schrittweise die Auflösung und bildest Superpixel (2*2, 4*4, 8*8, 16*16, ...). Für diese berechnest du den mittleren Grauwert. Wenn du eine geeignete Auflösung ermittelt hast, dann kannst du von dem resultierenden Grauton-Bild ein Binärbild erstellen, aus dem du dann das bounding rectangle für das observierte Objekt berechnen kannst. Der Schnittpunkt der Diagonalen könnte der Zielpunkt für die Neuausrichtung des Objektivs sein. Andere Verfahren sind denkbar.

marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:27 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