Bild untersuchen / vektorisieren??



  • tagchen...

    ich stehe gerade vor einem größeren Problem.
    folgende Hintergrundgeschichte:
    Über eine Internetpsäsentation soll ein Bild (Format ist erstmal egal) auf den Server hochgeladen werden. das ist ja kein problem.
    nun soll dieses Bild aber "untersucht" werden und irgendwie vektorisiert werden. Aus dem einfachen grund, dieses Bild soll später ausgefräst werden. Um der Fräsmaschine aber vernünftige daten zu geben, was, wo etc weg soll bzw gefräst werden soll, muss dieses bild ja untersucht werden und die daten in ne DB geschrieben werden. Das mit der DB ist auch kein Problem.
    Nur wie kann ich mittels C++ ein Bild derart untersuchen?
    einerseits dachte ich es geht mit php, aber momentan verfolge ich die idee auf dem server eine exe mittels c++ ausführen zu lassen, die das bild untersucht.

    ich hoffe ich hab nicht ganz so wirr geschrieben.
    Über anregungen und / oder tutorials oder tipps wäre ich sehr dankbar.
    danke schonmal für eure Hilfe und Mühe
    THX cu bart



  • Von der Theorie des Vektorisierens hab ich keine Ahnung, aber um das Bild einzulesen könntest du dir das hier anschauen.



  • also es gibt schon commandline-sachen zum vektorisieren, e.g. "cr2v" (gibts aber ofiziell nicht mehr), und noch so ne open-source variante namens "autotrace"...
    die nehmen ne rastergrafik und machen eine vektorgrafik draus (SVG, Postscript).

    problem ist hier halt auch in welchem format du die (vektor?)daten an die fraese weitergeben musst.... und ob sich da von e.g. SVG die daten passend holen lassen....



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • loki1985 schrieb:

    also es gibt schon commandline-sachen zum vektorisieren, e.g. "cr2v" (gibts aber ofiziell nicht mehr), und noch so ne open-source variante namens "autotrace"...
    die nehmen ne rastergrafik und machen eine vektorgrafik draus (SVG, Postscript).

    problem ist hier halt auch in welchem format du die (vektor?)daten an die fraese weitergeben musst.... und ob sich da von e.g. SVG die daten passend holen lassen....

    Ich kenne die Programme nicht, doch vermute ich, dass sie das Problem nicht loesen. Nur weil etwas als Postscript vorliegt, ist es noch lange keine Vektorgraphik. Nimm mal eine PNG-Datei und wandle sie in PostScript um: das Bild wird als bitmap o.ae. gespeichert, d.h., wenn Du das Bild vergroesserst, kommst Du recht schnell an Aufloesungsgrenzen, was bei einer echten Vektorgraphik nicht der Fall ist.

    Zum Problem: Die meisten Graphikprogramme haben Funktionen, um zum Beispiel Raender zu erkennen. Wenn der Kontrast hoch genug ist, reicht das vielleicht sogar aus, um das an eine Fraese weiterzugeben. Neben der bereits erwaehnten gli bieten auch
    gimp und ImageMagick Bibliothekenan, die Du mit C/C++ einbinden kannst.



  • @tim_g: gehe mal auf wikipedia und such dort nach der bedeutung von "SVG"...
    ich weiss schon was ne vektorgrafik ist. und e.g. ImageMagick ist IMO rein rasterbasiert, wird hier also nicht weiterhelfen....



  • mit Crossposting macht man sich uebrigens nicht sehr beliebt 😉



  • tim_g schrieb:

    loki1985 schrieb:

    also es gibt schon commandline-sachen zum vektorisieren, e.g. "cr2v" (gibts aber ofiziell nicht mehr), und noch so ne open-source variante namens "autotrace"...
    die nehmen ne rastergrafik und machen eine vektorgrafik draus (SVG, Postscript).

    problem ist hier halt auch in welchem format du die (vektor?)daten an die fraese weitergeben musst.... und ob sich da von e.g. SVG die daten passend holen lassen....

    Ich kenne die Programme nicht, doch vermute ich, dass sie das Problem nicht loesen. Nur weil etwas als Postscript vorliegt, ist es noch lange keine Vektorgraphik. Nimm mal eine PNG-Datei und wandle sie in PostScript um: das Bild wird als bitmap o.ae. gespeichert, d.h., wenn Du das Bild vergroesserst, kommst Du recht schnell an Aufloesungsgrenzen, was bei einer echten Vektorgraphik nicht der Fall ist.

    Doch, zumindest autotrace löst genau dieses Problem. Es handelt sich eben nicht um eiinfache Konverter, sondern um Vektorisierer, die versuchen Kanten zu erkennen und eine echte Vektorgrafik draus zu machen. Ich persönlich fand die Ergebnisse von autotrace allerdings immer recht mäßig und bin ein großer Fan von potrace geworden.



  • TriPhoenix schrieb:

    Ich persönlich fand die Ergebnisse von autotrace allerdings immer recht mäßig und bin ein großer Fan von potrace geworden.

    danke fuer den link, muss ich mir auch mal anschauen 🙂


Anmelden zum Antworten