Forum: PC-Programmierung Einfache Image Library gesucht


von Wo gehts denn hier zur Bibliothek (Gast)


Lesenswert?

Gibt es eine Bibliothek für Bildbearbeitung, die man direkt mit MinGW 
unter Windows 7 benutzen kann? Sprache wäre also C oder C++.

Anscheinend benötigen OpenCV, SDL, ImageMagick, CImg Library alle noch 
weitere Bibliotheken ihrerseits wie z.B. Windows SDK.

Ich will einfach nur eine Bilddatei öffnen (PNG) und Pixelwerte 
auslesen, das reicht mir schon. Muss man dafür wirklich erst eine halbe 
Installations- und Build-Orgie durchführen? :-(

Wenn das mit C/C++ so umständlich ist, nehme ich vielleicht doch lieber 
Java oder Python...

von mr. mo (Gast)


Lesenswert?

Einfach nur opencv. Da brauchst du sonst nichts weiteres.

von Wo gehts denn hier zur Bibliothek (Gast)


Lesenswert?

mr. mo schrieb:
> Einfach nur opencv. Da brauchst du sonst nichts weiteres.

Und wie linke ich da gegen deren Libraries? Ich wollte dieses Beispiel 
hier übersetzen:

http://codereview.stackexchange.com/questions/94434/histogram-of-a-rgb-image-using-opencv

Den Include-Pfad zu setzen bekomme ich noch hin. Aber dann kommt der 
Linker mit "undefined reference" Meldungen.

von Wo gehts denn hier zur Bibliothek (Gast)


Lesenswert?

Wenn ich das richtig sehe, dann liefert OpenCV die Libraries für MS 
Visual Studio mit. Für MinGW unter Windows müsste ich sie mir erst mal 
selbst bauen. Korrekt?

von Planlos (Gast)


Lesenswert?

Tipp: Wenn du mit Visual Studio unter und für Windows programmieren 
willst, mach einen Bogen um Linux-Libraries, auch wenn sie der erste 
Google-Treffer sind. Kriegt man zwar oft auch unter windows irgendwie 
kompiliert und hingefrickelt, aber meistens "Aufwand gröβer Nutzen"...

von Björn (Gast)


Lesenswert?

Ich sach nur Lazarus Pascal..da  ist es fix gemacht...

von Wo gehts denn hier zur Bibliothek (Gast)


Lesenswert?

Björn schrieb:
> Ich sach nur Lazarus Pascal..da  ist es fix gemacht...

Meinetwegen auch das. Hast Du vielleicht ein Code-Beispiel für mich?

von Wo gehts denn hier zur Bibliothek (Gast)


Lesenswert?

Planlos schrieb:
> Tipp: Wenn du mit Visual Studio unter und für Windows programmieren
> willst

Will ich ja gar nicht :-)
Ich bin ein Freund von gcc/g++.

von lötender dachdecker (Gast)


Lesenswert?

GD Image-Lib. Einfacher gehts nicht.

von Björn (Gast)


Lesenswert?


von Nils P. (torus)


Lesenswert?

Wenn Du eh nur Windows benutzt brauchst Du gar keine Library. Ist im OS 
nämlich schon seit Jahren eingebaut (in GDI+).

Die GDI+ Bitmap Class hat einen Constructor, der direkt PNGs von einem 
File liest. Danach kannst Du die Pixel-Daten Locken und auswerten:

  https://msdn.microsoft.com/en-us/library/ms534420(v=vs.85).aspx

von PittyJ (Gast)


Lesenswert?

Wenn es portabel sein darf: QT

Der QImageReader unterstützt diverse Formate.
Mit pixel(x,y) kann jeder Pixel angefragt werden.

Sollte im Prinzip ein 10-Zeiler werden.

von Wo gehts denn hier zur Bibliothek (Gast)


Lesenswert?

so nicht! schrieb im Beitrag #4602555:
> Wie wäre es mit libpng? Ist zwar nicht so cool wie opencv, aber tut
> alles was du brauchst und noch viel mehr ohne weitere Abhängigkeiten.

Libpng ist dann tatsächlich das, was ich benutzt habe. Wobei komfortabel 
sicher anders geht. Erst libpng kompilieren, dann noch die zlib, dann 
sich drüber wundern dass es keine eigenen Methoden gibt um auf den 
Farbwert eines Pixels zuzugreifen... das können andere Bibliotheken 
sicher besser.

> Aber da man als Voll-n00b mit opencv im Lebenslauf besser protzen kann,
> bist du vermutlich nicht an libpng interessiert.

Abgesehen davon, dass der Tonfall gerne etwas freundlicher sein darf: 
Das war keine Aufgabe in meinem Job, sondern privat.

von PittyJ (Gast)


Lesenswert?

privat?
und dann freiwillig Windows?

Ich gebe ein
 apt-get install libpng-dev
 apt-get install zlib1g-dev
und schon ist alles da.

Und bei QT ist auch alles drin, sogar Pixel und Farbwerte.

Warum macht man sich das Leben unter Windows immer so schwer?


Es gibt auch ein QT für Windows.

von Wo gehts denn hier zur Bibliothek (Gast)


Lesenswert?

PittyJ schrieb:
> privat?
> und dann freiwillig Windows?

Warum nicht? Windows ist das, was in der Regel eh schon da ist. (Ich hab 
nichts gegen Linux generell.)

> Und bei QT ist auch alles drin, sogar Pixel und Farbwerte.
>
> Warum macht man sich das Leben unter Windows immer so schwer?
>
> Es gibt auch ein QT für Windows.

Und was soll daran einfacher sein bei der Installation? Das letzte Mal, 
dass ich QT unter Windows mit MinGW verwendet habe, musste man genau so 
erst einmal das Framework selbst bauen mit gcc/g++. So wie mit libpng 
oder anderen auch. Da gibt es meines Wissens nach nichts was vollkommen 
fertig einsatzbereit wäre.

von Wo gehts denn hier zur Bibliothek (Gast)


Lesenswert?

Wo gehts denn hier zur Bibliothek schrieb:
> Da gibt es meines Wissens nach nichts was vollkommen
> fertig einsatzbereit wäre.

Es sei denn das hätte sich seit ca. QT 4.5/4.6/4.7 geändert. Ist 
zugegeben schon eine Weile her.

von Wo gehts denn hier zur Bibliothek (Gast)


Lesenswert?

Nils P. schrieb:
> Wenn Du eh nur Windows benutzt brauchst Du gar keine Library. Ist im OS
> nämlich schon seit Jahren eingebaut (in GDI+).
>
> Die GDI+ Bitmap Class hat einen Constructor, der direkt PNGs von einem
> File liest. Danach kannst Du die Pixel-Daten Locken und auswerten:
>
>   https://msdn.microsoft.com/en-us/library/ms534420(v=vs.85).aspx

Braucht man dafür nicht das Windows SDK? Also ohne irgwendwas zu 
installieren geht auch dieser Weg nicht, meines Wissens nach.

von Lesen bildet (Gast)


Lesenswert?

Wo gehts denn hier zur Bibliothek schrieb:
> Das letzte Mal,
> dass ich QT unter Windows mit MinGW verwendet habe, musste man genau so
> erst einmal das Framework selbst bauen mit gcc/g++. So wie mit libpng
> oder anderen auch. Da gibt es meines Wissens nach nichts was vollkommen
> fertig einsatzbereit wäre.

Wann soll das denn gewesen sein? 1999? Zumindest in den 12 Jahren,
in denen ich mit Qt arbeite, habe ich das nie selbst kompilieren müssen,
auch nicht unter Windows. Installer runterladen, ausführen, fertig.

von Lesen bildet (Gast)


Lesenswert?

Wo gehts denn hier zur Bibliothek schrieb:
> Also ohne irgwendwas zu
> installieren geht auch dieser Weg nicht, meines Wissens nach.

Wenn du tatsächlich nichts weiter installieren willst, warum gehst
du dann nicht den Weg über GDI+, wie Nils vorgeschlagen hat?

von Wo gehts denn hier zur Bibliothek (Gast)


Lesenswert?

Lesen bildet schrieb:
> Wann soll das denn gewesen sein? 1999? Zumindest in den 12 Jahren,
> in denen ich mit Qt arbeite, habe ich das nie selbst kompilieren müssen,
> auch nicht unter Windows. Installer runterladen, ausführen, fertig.

Arbeitest Du unter Windows vielleicht mit Visual Studio? Da mag das 
anders sein.

Geh ruhig mal davon aus, dass die Kombination "Windows + MinGW als 
COmpiler + alles ist fertig vorkompiliert" eher selten existiert.

von Wo gehts denn hier zur Bibliothek (Gast)


Lesenswert?

Lesen bildet schrieb:
> Wenn du tatsächlich nichts weiter installieren willst, warum gehst
> du dann nicht den Weg über GDI+, wie Nils vorgeschlagen hat?

Um eine Library aus eigenem C/C++ Code heraus zu benutzen, braucht man 
neben der Lib selbst ja auch noch die Header-Dateien. Ich weiß nicht wie 
es bei Deinem Windows ist, aber bei mir liegen die nicht automatisch 
bei. Also ist die Aussage, dass man überhaupt nichts zu installieren 
braucht, nicht korrekt.

von 4toTakoe (Gast)


Lesenswert?

Wo gehts denn hier zur Bibliothek schrieb:
> Geh ruhig mal davon aus, dass die Kombination "Windows + MinGW als
> COmpiler + alles ist fertig vorkompiliert" eher selten existiert.

Bis auf die manuelle Eintragung der Systemumgebungsvariablen muss man da 
nicht viel Hand anlegen.

Es gibt dahingehend fertige Qt-Pakete für MinGW und Windows.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.