Mit welcher Programmiersprache/n lässt sich sowas realisieren?



  • Hallo,

    ich möchte für meinen Infokurs ein Programm schreiben, welches mathematische Figuren erkennt und vergleicht. Also ein Dreieck, Kreis etc...

    Nun weiß ich aber leider nicht, mit welcher Programmiersprache ich dies umsetzen soll.

    Daher die Frage: Mit welcher Programmiersprache lässt sich sowas realisieren?

    Vielen Dank schon mal im voraus für eure Hilfe!



  • Inwiefern soll es denn mathematische Figuren erkennen? Bekommst du Formeln als Input? Eckpunkte? Oder soll deine Applikation diese Figuren in einem Bild oder einem Video erkennen?

    Auch solltest du "vergleicht" deutlicher ausführen!

    MfG SideWinder



  • C oder C++. Denn dafür gibt es OpenCV.



  • Mit allen.



  • Auch die nicht-funktionalen Anforderungen wären gut zu wissen.
    D.h. wie schnell soll es gehen, auf welcher Plattform soll es laufen etc.
    Und willst du sowieso alles selbst programmieren, oder willst du es einfach nur schnell implementiert bekommen, also soweit wie möglich fertige Komponenten einsettzen.

    Falls letzteres ist der Tip OpenCV schonmal nicht verkehrt.



  • @ SideWinder
    Inwiefern soll es denn mathematische Figuren erkennen? Bekommst du Formeln als Input? Eckpunkte? Oder soll deine Applikation diese Figuren in einem Bild oder einem Video erkennen?

    Die Applikation soll Figuren aus einen Bild erkennen.
    Auch solltest du "vergleicht" deutlicher ausführen!

    Z.B. soll es die Größe, Symmetrie und Farbe erkennen. Am Schluss soll es sagen, zu wie viel Prozent es mit einer anderen mathematischen Figur übereinstimmt.

    @hustbaer
    Auch die nicht-funktionalen Anforderungen wären gut zu wissen.
    D.h. wie schnell soll es gehen, auf welcher Plattform soll es laufen etc.

    Es sollte auf einen iPhone funktionieren und auf meinen Webserver. (was meinst du mit „wie schnell soll es gehen“?) >>meinst du damit denn Arbeitsaufwand? Der sollte sich zwar in Grenzen halten, aber nicht ausschlaggebend für die Funktionalität sein. Oder meintest du wie schnell das Programm arbeiten soll? >>es sollte maximal ein paar Sekunden für die Verarbeitung brauchen (2-3sek.), je nach Rechenleistung.
    Und willst du sowieso alles selbst programmieren, oder willst du es einfach nur schnell implementiert bekommen, also soweit wie möglich fertige Komponenten einsettzen. #

    alles selbst Programmieren.

    Falls letzteres ist der Tip OpenCV schonmal nicht verkehrt.

    Vielen Dank für eure Antworten!



  • Na dann kannst du ja dich nochmal in ca. 10 Jahren melden, wenn du dann fertig bist (inklusive eines kompletten Studiums der "Pattern Recognition")...



  • @webweb:
    Ähm.
    Dann mach mal.
    Wenn's für's iPhone sein soll hast du eh nicht so viele Möglichkeiten. Zieh dir Xcode, wirf an und mach ein schönes Objective C++ Projekt.

    Obwohl ich sagen muss, dass ich auch den Eindruck habe, dass du dir die Sache viel einfacher vorstellst als sie ist.



  • @Th69
    ist es tatsächlich so extrem aufwendig, solch ein Programm zu programmieren?
    Wie würdest du (als Schüler im Info-Leistungskurs) an die Sache rangehen?
    Was sind die Grundlagen die man kennen muss?

    Vielen Dank für eure Antworten!!



  • Du hast zwar nicht mich gefragt, aber...

    Wie würdest du (als Schüler im Info-Leistungskurs) an die Sache rangehen?

    Einfach anfangen!

    Wie schon gesagt: du brauchst Xcode, was leider einen Mac voraussetzt. Der erste Schritt wäre dann vermutlich ein Programm zu schreiben das die Kamera auslesen kann. Ohne dass ein Bild reinkommt wirst du es schwer analysieren können. Wenn du das fertig hast, kann man weiter sehen.



  • Würde OpenCV auf Iphone laufen?



  • xBlackKnightx schrieb:

    verträgt iphone kein c++? Es geht um OpenCV

    Ich glaube, das iPhone will nur Objective-C. Die PSP frisst aber C++ 😃 .



  • Die Schnittstelle(n) zu iOS sind Objective-C. Den Rest kann man in C++ machen. Gibt ja auch Objective-C++.



  • webweb schrieb:

    @Th69
    ist es tatsächlich so extrem aufwendig, solch ein Programm zu programmieren?
    Wie würdest du (als Schüler im Info-Leistungskurs) an die Sache rangehen?
    Was sind die Grundlagen die man kennen muss?

    Hast du dir das Projekt ausgesucht oder von einem Lehrer aufgedrückt bekommen?



  • ja hui schrieb:

    ja hui schrieb:

    Hast du dir das Projekt ausgesucht oder von einem Lehrer aufgedrückt bekommen?

    ...selbst ausgesucht.



  • webweb schrieb:

    Was sind die Grundlagen die man kennen muss?

    http://www.google.de/search?q=Bilderkennung

    Ansonsten sind "Image Vision" oder ganz allgemein "Pattern Recognition" (letzteres ist ein ziemlich weites Gebiet) die Schlagwoerter deiner Wahl.

    Aber fuer 'nen Schueler ist das dein Projekt sehr aufwaendig, da du einiges an Mathe beherrschen musst. Wenn du dich dann auch noch aufs iPhone beschraenkst, must du auch noch Objective-C lernen, und ganz allgemein lernen wie man Programme fuers iPhone schreibt. Ich wuerd die Anforderungen etwas zurueck schraufen: das Programm sollt auf stinknormalen PCs laufen (dann kannst 'ne Programmiersprache nehmen, die du schon beherrscht) und kriegt als Input einfach ein Bild in einem leicht-lesbaren Programm (dann musst du nicht lernen wie man Bilder von der Kamera ausliest etc.).

    Viel Glueck! 🙂



  • webweb schrieb:

    ja hui schrieb:

    ja hui schrieb:

    Hast du dir das Projekt ausgesucht oder von einem Lehrer aufgedrückt bekommen?

    ...selbst ausgesucht.

    Hmm, eventuell das Projekt nochmals überdenken. Nicht, weil es nicht unmöglich ist, aber pattern recognition ist ein Bereich in dem Computer dem Menschen grundsätzlich unterlegen sind (bzw. es ist schwer das einem Computer vernünftig beizubringen).
    Ausserdem ist es ein riesen Feld mit tonnenweise Algorithmen, ausserdem ist die meiste Literatur (Artikel/Bücher) auf einem sehr hohen Niveau geschrieben und nicht für Schüler aufbereitet. Nicht unbedingt Ideal für so ein Projekt ;).
    Das soll dich nicht entmutigen, es ist sicher nicht unmöglich.



  • Blue-Tiger schrieb:

    webweb schrieb:

    Was sind die Grundlagen die man kennen muss?

    http://www.google.de/search?q=Bilderkennung

    Ansonsten sind "Image Vision" oder ganz allgemein "Pattern Recognition" (letzteres ist ein ziemlich weites Gebiet) die Schlagwoerter deiner Wahl.

    Aber fuer 'nen Schueler ist das dein Projekt sehr aufwaendig, da du einiges an Mathe beherrschen musst. Wenn du dich dann auch noch aufs iPhone beschraenkst, must du auch noch Objective-C lernen, und ganz allgemein lernen wie man Programme fuers iPhone schreibt. Ich wuerd die Anforderungen etwas zurueck schraufen: das Programm sollt auf stinknormalen PCs laufen (dann kannst 'ne Programmiersprache nehmen, die du schon beherrscht) und kriegt als Input einfach ein Bild in einem leicht-lesbaren Programm (dann musst du nicht lernen wie man Bilder von der Kamera ausliest etc.).

    Viel Glueck! 🙂

    Deine Idee mit den Einschränkungen hört sich sehr gut an wie ich finde 😉
    Würde mich auch sehr interessieren, dass mal als Projekt zu machen.
    Mal schauen 😃

    Lg freeG



  • lustig schrieb:

    webweb schrieb:

    ja hui schrieb:

    ja hui schrieb:

    Hast du dir das Projekt ausgesucht oder von einem Lehrer aufgedrückt bekommen?

    ...selbst ausgesucht.

    Hmm, eventuell das Projekt nochmals überdenken. Nicht, weil es nicht unmöglich ist, aber pattern recognition ist ein Bereich in dem Computer dem Menschen grundsätzlich unterlegen sind (bzw. es ist schwer das einem Computer vernünftig beizubringen).
    Ausserdem ist es ein riesen Feld mit tonnenweise Algorithmen, ausserdem ist die meiste Literatur (Artikel/Bücher) auf einem sehr hohen Niveau geschrieben und nicht für Schüler aufbereitet. Nicht unbedingt Ideal für so ein Projekt ;).
    Das soll dich nicht entmutigen, es ist sicher nicht unmöglich.

    Es ist sicher nicht unmöglich. Er bräuchte aber für die Realisierung viel Zeit und vermutlich einen Tutor, der (viel) Zeit hat und vielleicht in KNNs fit ist 😉
    Denn wenn man das Thema erklärt bekommt versteht man es schneller, als wenn man ewig und drei Tage Bücher wälzt.

    Eine gute Seite für den Einstieg in KNN ( als Beispiel ), ist die Seite von David. ( www.dkriesel.com ). Er hat auch ein gutes und verständliches Script.


Anmelden zum Antworten