AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Objekterkennung...Sobel...und wie weiter?

Ein Thema von noisy_master · begonnen am 8. Okt 2014 · letzter Beitrag vom 8. Okt 2014
Antwort Antwort
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
255 Beiträge
 
Delphi XE5 Professional
 
#1

Objekterkennung...Sobel...und wie weiter?

  Alt 8. Okt 2014, 07:48
Hallo Gemeinde,

ich habe mal wieder ein Problem bei dem ich mir gerne von euch helfen lassen würde:

ich muss in einem Image einige Seitenmarker(z.B. Kreuze, Ecken oder ähnliches) finden. Das Bild habe ich in ein schwarz-weiss Bild gewandelt, einen Sobel drüberlaufen lassen, und bekomme ein hervorragendes Kantenbild. Soweit, sogut. Nun müsste ich darin die besagten Marker finden.

Allerdings kann das Bild auch leicht gedreht sein. Das heisst, ich bräuchte sowas wie z.B. SIFT. Ich weiss auch, dass es ein Delphi-Port von OpenCV gibt, aber ich wollte nicht gleich mit Kanonen auf Spatzen schiessen(wobei SIFT/SURF aber auch ungünstig sind da nicht patentfrei).

Ausserdem sind diese Algorithmen "unendlich langsam"...

Hat jemand eine Idee für pattern-matching-"light", da die Objekte, die zu finden sind "bekannt" sind und die Positionen auch nicht allzu stark variieren.

Danke euch allen jetzt schonmal für eure Anregungen und Ideen!

P.S.: Die Marker müssen nicht immer unbedingt an den "äussersten Ecken" liegen. Es können auch andere Elemente der Seite näher an den Ecken liegen
Dirk

Geändert von noisy_master ( 8. Okt 2014 um 07:50 Uhr) Grund: Erläuterung zu Markern ergänzt
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#2

AW: Objekterkennung...Sobel...und wie weiter?

  Alt 8. Okt 2014, 07:59
Sind es (weitgehend) linienförmige Marker? Dann versuche es mal mit einem Zeilen/Spalten Scan, d.h. Du schaust Dir immer nur eine Pixelzeile an und vergleichst diese mit der vorherigen (also der darüber z.B.). Über entsprechende Vergleiche kannst Du die Steigung einer Linie ausrechnen bzw. zunächst einmal eine Linie erkennen, da die Änderung, also der Versatz der Pixel an der Stelle für einen bestimmten Bereich immer 'konstant' ist.

Durch einen Sweep über die ersten z.B. 100 pixel sollte man die Kandidaten schon ziemlich eingrenzen können (sofern es Linien sind). Kreuze kann man dadurch auch finden, indem man aus dem Zeilen-Sweep einen Spalten-Sweep macht, und die erkannten Linien dann vergleicht. Ein Kreuz sind dann vielleicht zwei Linien mit reziproken Steigungen an so ziemlich der gleichen Stelle.

Klingt vielleicht ein wenig wirr, aber das liegt dann an mir.
  Mit Zitat antworten Zitat
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
255 Beiträge
 
Delphi XE5 Professional
 
#3

AW: Objekterkennung...Sobel...und wie weiter?

  Alt 8. Okt 2014, 08:11
[QUOTE=Dejan Vu;1275204]Sind es (weitgehend) linienförmige Marker? /QUOTE]

Nein, leider nicht. Ich habe mal 2 Beispiele für die Marker angehängt(corner.png und cross.png) leider können auch solche Genossen wie edit.png auftauchen. Die will ich aber gar nicht finden(zumindest derzeit nicht). Diese sollten aber auch nicht das Problem sein, da sie deutlich weiter "innen liegen"
Miniaturansicht angehängter Grafiken
corner.png   edit.png   cross.png  
Dirk
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#4

AW: Objekterkennung...Sobel...und wie weiter?

  Alt 8. Okt 2014, 08:30
Nimm mal den Betrag vom Sobel-Ergebnis, dann werden die Strukturen schon mal noch etwas deutlicher. Und zum finden von Linien könnte sich eine Hough-Transformation anbieten. Selber gemacht habe ich das noch nicht, aber ich meine hier in der DP schon mal öfter darüber gelesen zu haben. Da sollte sich also etwas finden lassen. (Es gibt imho sogar eine Abwandlung davon, die kreisförmige Strukturerkennung ermöglicht.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
255 Beiträge
 
Delphi XE5 Professional
 
#5

AW: Objekterkennung...Sobel...und wie weiter?

  Alt 8. Okt 2014, 08:55
Und zum finden von Linien könnte sich eine Hough-Transformation anbieten. .....(Es gibt imho sogar eine Abwandlung davon, die kreisförmige Strukturerkennung ermöglicht.)
Ich hoffte eigentlich um Hough herumzukommen, da auch dieser recht zeitaufwendig ist....Mit den Kreisen hast du übrigens recht: geht definitiv mit Hough!
Dirk
  Mit Zitat antworten Zitat
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 15:16 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