Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Mitte einer Grafik in einem Bild feststellen
g0su
myCSharp.de - Member



Dabei seit:
Beiträge: 45

Themenstarter:

Mitte einer Grafik in einem Bild feststellen

beantworten | zitieren | melden

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.

Moderationshinweis von Coffeebean (27.08.2015 - 20:45:42):

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.

private Nachricht | Beiträge des Benutzers
Wax
myCSharp.de - Member

Avatar #avatar-2276.jpg


Dabei seit:
Beiträge: 745
Herkunft: Dortmund

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Proxymaster500
myCSharp.de - Member



Dabei seit:
Beiträge: 4

beantworten | zitieren | melden

Je nachdem wo du deine Grafik vorliegen hast kannst du einfach über .Width /2 und .Height /2 die Info auslesen.

MfG
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5991
Herkunft: Leipzig

beantworten | zitieren | melden

Zitat von Proxymaster500
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
private Nachricht | Beiträge des Benutzers
g0su
myCSharp.de - Member



Dabei seit:
Beiträge: 45

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Toxo
myCSharp.de - Member



Dabei seit:
Beiträge: 66

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
ismirschlecht
myCSharp.de - Member



Dabei seit:
Beiträge: 47

beantworten | zitieren | melden

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 ?
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5991
Herkunft: Leipzig

beantworten | zitieren | melden

Zitat von g0su
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
private Nachricht | Beiträge des Benutzers