Lecture fichier binaire en 12 ou 16 bit
Bonjour,
J'essaye de lire des fichiers binaires contenant une matrice (2720 * 2720 pixel), où chaque pixel est codé soit en 12 soit en 16 bits.
Dans un fichier, tous les pixels ont le même format : 12bits ou 16bits
Le nom du fichier permet de déterminer si c'est en 12 ou 16bits (H : 16bits, L:12bits).
Premiére question : voici mon code pour les fichiers 16bits, y a t'il une maniére plus simple de faire ma matrice ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
pathfile = "F:\\Band_00\\20150204_120056_972_IM_00_00_01_H.image"
fid = open(pathfile, "rb")
data = numpy.zeros((2720,2720), uint16)
l=0
c=0
while(True):
try:
d = fid.read(1)
if(d==''):
break
data[l][c] = int(d[0],16)
c=c+1
if(c>=2720):
l=l+1
c=0
except:
pass
fid.close()
im = Image.new("L",(2720,2720))
im.putdata(data)
im.save('F:\\Band_00\\im.png') |
Deuxiéme question : Comment lire mes fichiers codés 12bits?? je n'en ai pas la moindre idée...
Merci d'avance