16bit Bilder verarbeiten?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Kennt jemand eine (Python)Bibliothek mit der man 16bit Graustufenbilder verarbeiten kann? PIL(bzw. die Konvertierung zu einem numpy.array) kommt damit nicht so richtig zurecht und wenn ich es manuell mache

Code: Alles auswählen

import Image, numpy
im = Image.open(...
array = numpy.array(im.getdata(), numpy.uint16).reshape(*im.size).T
kommt irgendwie nur Mist raus (zumindest das was in numpy per imshow(array/2**16) angezeigt wird)
BlackJack

@Darii: Kannst Du Mist mal näher umschreiben? So wie's da steht kommt wahrscheinlich ein komplett schwarzes Bild, wegen der Ganzzahldivision:

Code: Alles auswählen

In [6]: a = np.array([0,1,60000], np.uint16)

In [7]: a
Out[7]: array([    0,     1, 60000], dtype=uint16)

In [8]: a / 2**16
Out[8]: array([0, 0, 0], dtype=uint16)
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Code: Alles auswählen

from __future__ import division
:)
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

BlackJack hat geschrieben:@Darii: Kannst Du Mist mal näher umschreiben? So wie's da steht kommt wahrscheinlich ein komplett schwarzes Bild, wegen der Ganzzahldivision:
Ich teile natürlich durch floats, hatte ich im Post vergessen. Das Bild war komisch zwerhackt, inzwischen habe ich herausgefunden, dass ich einfach beim reshape Mist gebaut habe, die Argumente hätten in der anderen Reihenfolge übergeben werden müssen.

Code: Alles auswählen

numpy.array(im.getdata(), numpy.uint16).reshape(im.size[1], im.size[0])
Nichtsdestotrotz würde ich mir über Anregungen bezüglich Alternativen zu PIL freuen.
Antworten