Hallo zusammen,
ich bin gerade dabei ein bisschen die "Bildverarbeitung" anzuschauen.
Hat jem. einen Tipp für mich, wie ich die Mitte einer Grafik in einem (erstmal zweifarbigen Bild) finden kann?
Fiktives Beispiel: Ich habe ein Bild in weiss, in welchem sich beispielsweise ein schwarzer Kreis befindet.
Kannst du bitte in Zukunft [Hinweis] Wie poste ich richtig? Punkt 3 beachten und einen aussagekräftigen Titel wählen? "Mitte einer Grafik" ist absolut nichtssagend. Niemand schnallt das, wenn er das in der Suche als Ergebnis sieht. Habs korrigiert. Wenn du einen besseren Titel hast, editier ihn bitte.
Zum Verständnis...
Du möchtest in deinem Beispiel die Mitte des schwarzen Kreises finden und dieser kann sich irgendwo auf dem weißen Hintergrund befinden?
Gruß,
wax
Je nachdem wo du deine Grafik vorliegen hast kannst du einfach über .Width /2 und .Height /2 die Info auslesen.
MfG
Je nachdem wo du deine Grafik vorliegen hast
Ich nehme mal an, genau dort wird das Problem liegen. Aber mit den wenigen Informationen kann man da eigentlich nur ganz allgemein auf das Stichwort Objekterkennung verweisen.
Christian
Weeks of programming can save you hours of planning
Hallo zusammen,
ergänzend: Ich habe ein weisses Bild (fiktive Abmessung 200x200px) und (irgendwo) einen Kreis mit einem beliebigen Radius.
Ich werde mir nun auf jeden Fall mal die Objekterkennung anschauen.
Wenn dein Bild wirklich nur Binär ist und keine weiteren Graustufen enthält solltest du über eine Hough-Transformation für Kreise nachdenken. Hough-Transformation
Dabei kannst du auf bestehende Libraries wie Aforge zurückgreifen (http://www.aforgenet.com/framework/docs/html/9b9aedc2-0048-acc8-4d35-0e41788d69da.htm)
Ein weiteres Werkzeug hast du mit EmguCV (http://www.emgu.com/wiki/files/1.4.0.0/html/6f78c3d8-fb1a-5983-2862-549c49019d49.htm). Dabei handelt es sich um einen .NET Wrapper für OpenCV und OpenCV ist eine der mächtigsten und umfangreichsten freien Bildverarbeitungsbibliotheken.
Die Frage ist ein bißchen zu allgemein.
Was ist "die Mitte" ?
Und wenns mal zwei Kreise sind ? Oder gar Buchstaben ?
Was für Grafiken können das sein ?
Oder gehts eigentlich um den Schwerpunkt ?
Ich habe ein weisses Bild (fiktive Abmessung 200x200px) und (irgendwo) einen Kreis mit einem beliebigen Radius.
In dem Fall ist der Algorithmus relativ einfach und in wenigen Codezeilen umsetzbar. Du brauchst nur in einer Schleife durch alle Pixel gehen und feststellen, ob der Pixel weiß oder schwarz ist. Dann merkst du dir den obersten, untersten, linkesten und rechtesten schwarzen Pixel. Die Mitte kannst du dann aus diesen vier Werten berechnen.
Christian
Weeks of programming can save you hours of planning