Seite 1 von 1
Bildbearbeitungstutorial für Python 3 gesucht
Verfasst: Montag 25. Januar 2010, 22:42
von sonyfriend
Hallo zusammen!
Ich hätte mal eine Frage zu den Grundfunktionen für die Grafikbearbeitung in Python 3:
Wenn ich mich nicht irre, ist das, was da unten steht in python 2.x geschrieben. Funktioniert aber nicht mit python 3.x, der fängt ja schon in der ersten Zeile an zu meckern. Ich habe jetzt wirklich jede Menge gegoogelt, aber finden konnte ich dazu nichts.
Kennt jemand vielleicht ein Tutorial in Python 3.x, was die Basics in der Bildbearbeitung behandelt (ausschneiden, verkleinern,rotieren, Änderungen speichern etc.)?
import Image
# open images
imf = Image.open("101.gif")
ims = Image.open("102.gif")
# tell us the image properties
print imf.format, imf.size, imf.mode
# save the image under a new name
imf.save("ausgabe.gif")
# remember, it's width, then height
size = 128, 64
mode = 'RGB'
box = (0, 0, 64, 64)
# create an new image with the size and color previous defined
imn = Image.new(mode, size)
# get content of picture one
region = imf.crop(box)
# and past it to the new image
imn.paste(region, box)
# after get content of picture two
region = ims.crop(box)
# Zielbereich definieren, ist ja nun um 64 Pixel verschoeben
# move picture to an other place in the new picture
box = (64, 0, 128, 64)
# and paste it in the new picture
imn.paste(region, box)
# finally sage the new image
imn.save("zusammengesetzt.png")
# and make it smaller, just half the size
imn = imn.resize((64, 32))
imn.save("kleiner.png")
# notice, there are no methods to close an opened image
Verfasst: Montag 25. Januar 2010, 23:07
von sonyfriend
Oder braucht man dazu die Python Imaging Library (PIL), die es für die Version 3 noch nicht gibt?
Verfasst: Montag 25. Januar 2010, 23:11
von EyDu
Hallo.
Ja, das ist eindeutig PIL. Aber was hindert dich daran Python 2.x zu benutzen bis es PIL für 3 gibt? Auf deren Seite gibt es übrigens auch die dazugehörige
Dokumentation mit Tutorial.
Sebastian
Verfasst: Montag 25. Januar 2010, 23:15
von sonyfriend
Auweia, also kann ich das knicken?!
Das Problem ist, ich soll mit Python 3 arbeiten und damit ein Programm schreiben. Daß die 3er Version noch so unfertig ist, hätte ich aber nicht gedacht.
Naja, auf jeden Fall danke! Ich hätte sonst noch einen ganzen langen Nachmittag damit verbracht, wie man das zum laufen kriegt.......
Verfasst: Montag 25. Januar 2010, 23:32
von EyDu
Das Problem ist weniger, dass Python 3 nicht fertig ist, sondern dass noch nicht alle Fremdbibliotheken angepasst wurden.
Wenn du eine Aufgabenstellung brauchst, dann kannst du diese hier auch zur Diskussion stellen. Wenn du deinen aktuellen Kenntnisstand und den gewünscht Aufwand mitteilst, dann wird sich sicher etwas interessantes finden lassen.
Verfasst: Montag 25. Januar 2010, 23:38
von sonyfriend
EyDu!
Es geht weniger um eine Aufgabe finden, die habe ich schon in Form einer Abschlußarbeit. Aber da Python 3 noch ziemlich neu ist und auf allen PCs im Rechnerraum Python 2.x installiert ist, weiß das natürlich niemand.
Gibt's denn wenigstens dieses Tkinter für 3.x?
Verfasst: Montag 25. Januar 2010, 23:48
von cofi
Verfasst: Montag 25. Januar 2010, 23:54
von BlackJack
@sonyfriend: Warum muss es denn unbedingt Python 3 sein? Ich denke mal eher, dass eine Abschlussarbeit ein *Thema* hat, und nicht eine spezielle Version einer Programmiersprache!?
Verfasst: Mittwoch 27. Januar 2010, 16:52
von sonyfriend
Kleines Update: ich darf auf Python 2.5 downgraden. Weiterer Vorteil: Dafür gibt's auch viel mehr Tutorials.

Verfasst: Mittwoch 27. Januar 2010, 16:57
von cofi
sonyfriend hat geschrieben:Weiterer Vorteil: Dafür gibt's auch viel mehr Tutorials.

Aber kein deutsches

Verfasst: Donnerstag 28. Januar 2010, 10:29
von /me
sonyfriend hat geschrieben:Kleines Update: ich darf auf Python 2.5 downgraden.
2.6 kam nicht in Frage?
Diese "entweder ganz neu oder ein Stück älter"-Vorschrift ist irgendwie merkwürdig.
Verfasst: Donnerstag 28. Januar 2010, 18:25
von BlackJack
@/me: Finde ich nicht merkwürdig. Das wird wahrscheinlich die Version sein, die entweder beim Lehrer, oder auf den Schulrechnern installiert ist.
Ich persönlich "hänge" auch noch bei 2.5 weil die auf den meisten Rechnern die ich benutze, die Standardversion von der Distribution ist und ich auch nicht bei allen die Rechte habe etwas anderes zu installieren. Oder auch nur die Lust. Ausserdem ist bei mir relativ aktuell Jython zu den Varianten hinzugekommen, mit denen ich Software schreiben muss, und das ist bei Version 2.5. (Naja, stimmt nicht ganz -- ich *hätte* da auch die Freiheit Java zu verwenden.

)
Verfasst: Donnerstag 28. Januar 2010, 18:36
von /me
BlackJack hat geschrieben:@/me: Finde ich nicht merkwürdig. Das wird wahrscheinlich die Version sein, die entweder beim Lehrer, oder auf den Schulrechnern installiert ist.
Ich verstehe ja Punkte wo es um bestehende Infrastruktur geht.
Hier aber wäre ja offensichtlich auch Python 3.1 möglich gewesen und da hätte ich dann doch etwas mehr Wahlfreiheit erwartet.
Verfasst: Donnerstag 28. Januar 2010, 21:41
von sonyfriend
Auf den Rechnern wird 2.6 glaub ich benutzt, aber ich hab mir 2.5 gezogen, weil 2.6 doch recht neu ist. Wer weiß, was es da alles wieder nicht gibt.
Naja, wer viel mit Graphen zu tun hat, dem empfehle ich diese Seite:
http://matplotlib.sourceforge.net/gallery.html
Dort gibt's zu jedem Screenshot auch den zugehörigen Code.
Verfasst: Donnerstag 28. Januar 2010, 21:49
von jbs
@BlackJack
Wie lautet denn die Aufgabenstellung? Entwickle ein Java-Programm...?
Verfasst: Freitag 29. Januar 2010, 01:22
von BlackJack
@jbs: Dann hätte ich ja kaum Jython wählen können.
Nein, es gibt halt einfach vorhandene Java-Komponenten, die benutzt werden müssen. Und das ist angenehmer von Jython aus, als von Java aus. IMHO. Ich hätte ja auch gerne mal mit Scala in Produktionscode rumgespielt, aber das dürfte dem Auftraggeber zu exotisch sein. Python kann er zur Not nämlich selber noch, falls ich vom Bus überfahren werde.

Verfasst: Freitag 29. Januar 2010, 09:46
von cofi
sonyfriend hat geschrieben:Auf den Rechnern wird 2.6 glaub ich benutzt, aber ich hab mir 2.5 gezogen, weil 2.6 doch recht neu ist. Wer weiß, was es da alles wieder nicht gibt.
Da kannst du beruhigt sein, 2.6 ist mit 2.5 kompatibel und die meisten Libs mit C-Sourcen o.ä. sind fuer 2.6 vorkompiliert verfügbar.
Verfasst: Freitag 29. Januar 2010, 10:22
von /me
sonyfriend hat geschrieben:Auf den Rechnern wird 2.6 glaub ich benutzt, aber ich hab mir 2.5 gezogen, weil 2.6 doch recht neu ist.
16 Monate fällt nicht unter meine Definition von "recht neu", aber wenn du mit der 2.5 glücklich bist ist es ja gut.