Wie man ein 16-bit-Ganzzahl in python
Ich lese momentan off Pixel aus einem Bild mithilfe von python PIL. Diese Pixel sind 16-bit-Graustufen-und nicht signiert sind. Allerdings, wenn PIL liest Sie in der es denkt, Sie sind signiert und macht die Werte, die sollte so etwas wie 45179 in -20357.
org_Image = Image.open(image)
org_Data = org_Image.load()
width, height = org_Image.size
for y in range(0, height):
temprow_data = []
for x in range(0, width):
temprow_data.append(org_Data[x, y])
Wie bekomme ich PIL Ausgabe unsigned statt signed Integer? Oder gibt es eine wirklich einfache Möglichkeit, den PIL-Eingang und Umwandlung nach?
InformationsquelleAutor Marmstrong | 2013-10-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine Lösung mit structs, da ich nicht weiß wie python stellt negative zahlen Binär.
Packt er es als short (2 bytes) und entpackt es als ein unsigned short.
InformationsquelleAutor User
in Ihrem Fall wenn Sie fertig sind Schleifen über alles und Sie haben es in eine Liste
einfach anrufen
np.array(my_list,dtype="uint16")
InformationsquelleAutor Joran Beasley