Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Geometrische Formen erkennen mit Scratch » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 6 Beiträge
eulerscheZahl

Ich habe schon eine kurez Recherche zu Scratch gemacht, vor meiner 2. Antwort.
Du sagtest, du hast Linien gegeben. Kannst du die Längen addieren und so den Umfang berechnen? Wie sieht es mit dem Flächeninhalt aus?
Osah Rundheit

Ok, aber wie finde ich die Kenngrössen wie die Rundheit
Und außerdem (allerdings dies für die Schule) soll ich Algorithmen im Form eines Flussdiagrammes schreiben und ich finde es passend dann dies hierfür zu machen. Allerdings weiß ich nicht viel drüber
Ich könnte dir einen Start geben mit deinem Beispiel wenn ich das mit der Rundheit wissen würde
Man kann sich auch Scratch online anschwärzen um einen Einblick von der Programmiersprache zu bekommen (Google: Scratch)
eulerscheZahl

Theoretisch ja, Scratch ist nämlich turingvollständig.
Ob es einfach ist, ist eine andere Frage. Ich gebe zu, selbst nie mit Scratch gearbeitet zu haben.

Hast du denn schon eine saubere Zerlegung in Linien? Weißt du, wo Ecken sind? Wie sauber ist das Eingabematerial (sind vielleicht Wackler drin, weil mit der Maus gezeichnet)?
Wenn nicht, sind genannte Algorithmen denke ich das Einfachste - mit Scratch würde ich sie trotzdem nicht umsetzen.
Osah Sicher ?

Hallo,

Sind Sie sich sicher, dass dies alles mit Scratch bzw. einem eher unorofessionellen Programm geht.
Ich glaube es wäre besser , wenn man einfache Algorithmen hat.
Außerdem wäre es hilfreich, wenn Sie mir einige Lösungsvarianten geben würden.
Meine Ideen:
a) Siehe oben
b) mit Hilfe von "Scanlinien" Höhe und Breite der Fugur erkennen und dann mit Hilfe dieser Werte die Form bestimmen


PS: Ich möchte nur die geometrischen Formen zwischen Dreieck,Rechteck,Kreis und Haus (keine geometrische Form) unterscheiden.
eulerscheZahl

Es gibt Kenngrößen wie die "Rundheit" - dazu musst du Umfang und Fläche ins Verhältnis setzen.
Die Fläche kriegst du durch Pixel zählen, die innerhalb des Objekts liegen. Den Umfang, indem du am Rand entlangläufst und die Pixel dort zählst.
Wenn das nicht reicht, schau dir die Hu Momente an. Damit wird auch ein gedrehtes Dreieck erkannt. Wenn die Winkel variieren, wird es aber schwer werden.
Falls du das Objekt noch nicht sauber extrahiert hast: Kantenerkennung mit Canny
Osah Geometrische Formen erkennen mit Scratch

Meine Frage:
Hallo,

Ich beschäftige mich seit einigen Zeiten mit Scratch (das ist etwas wie z.B. Java für Kinder). Nun habe ich mich gefragt, ob man Algorithmen entwickeln kann, um z.B. ein Dreick von einem Recht/Kreis unterscheiden kann ?
Was für Algorithmen würde ich brauchen. Ich habe auch schon einige Algorithmen ausprobiert .

Meine Ideen:
Idee: 4 Scanlinien entwickeln die dann den Mittelpunkt der Figuren bestimmen und anhand dieses Mittelpunktes irgendwie bestimmen ob es ein Dreick/Kreis/Rechteck/keine geometrische Form ist.