Welche Bibliothek/en bieten sich für meine Programmidee an? -- Bildmanipulation
-
Hi,
ich möchte meine C++ Kenntnisse vertiefen und habe deshalb vor ein Programm mit C++ umzusetzen, was folgendes tut:
Es soll ein Bild eingelesen werden (Standardformate JPG, PNG, GIF reichen), welches dann in ein schwarz-weiß Bild konvertiert wird.
Danach werden die Pixel, die in einem bestimmten Farbspektrum liegen (die schwärzten Farbtöne, somit die Konturen) festgestellt.
Danach kann der Nutzer einen Desktop-Bereich markieren.
Innerhalb des markierten Bereichs "malt" das Programm dann die festgestellten Konturen nach. (D.h. die Maus fährt entlang der Konturen. Die Größe der Konturen werden vorher entsprechend der Größe des markierten Bereichs umgerechnet.)
Sinn des Ganzen ist es in beispielsweise Graphic-Guestbooks hübsche Bilder hinterlassen zu können, oder aber in Spielen wie iSketch sehr schöne Bilder zu zeichnen.
Welche Bibliothek ist geeignet um Bilder einzulesen und zu bearbeiten und Pixel zu analysieren?
Bin für jeden hilfreichen Tipp dankbar!
Gruß,
moccajoghurt
-
http://www.humbug.in/stackoverflow/de/library-for-basic-image-manipulation-in-c--5427091.html
glaub das ist genau was für dich!
-
Allegro kann auch gut mit Bildern umgehen (Low-Level 2D Graphics). Du kannst dann auch auf die einzelnen Pixel zugreifen und nach belieben manipulieren (ist eine recht hardwarenahe API, wenn du mich fragst).
-
Für da sProjekt hört sich OpenCV wie geschaffen an. Es öffnet nicht nur enorm viele Dateiformate sondern bietet alles an was du für Konturenerkennung brauchst. Allerdings ist die Bibliothek nicht ganz trivial einsetzbar und du musst dich vielleicht etwas in das Themengebiet der Bildverarbeitung einlesen.
-
Hehe, ich hab genau sowas vor ein paar Monaten mal programmiert. Statt Konturen (was Du Dir zu einfach vorstellst. -> Kantendetektion) habe ich aber einfach das Eingabebild mit Dithering runtergeschraubt und dann die Pixel von der gekaperten Maussteuerung zeichnen lassen.