Seite 1 von 1
16bit Bilder verarbeiten?
Verfasst: Donnerstag 5. November 2009, 00:31
von Darii
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)
Verfasst: Donnerstag 5. November 2009, 08:23
von 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)
Verfasst: Donnerstag 5. November 2009, 10:50
von mkesper
Verfasst: Donnerstag 5. November 2009, 14:58
von Darii
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.