I have a folder containing over 200 raw
images, i want to convert all of them to png
or any other format, In C it's pretty easy but in python i don't know how it's done
I found this snippet
#import struct import numpy, array, PIL, Image from struct import * #declarations arr1D = array.array('H') #H is unsigned short #------------------------------------ #read 16 bit unsigned raw depth image #------------------------------------ w = 640 h = 480 fid = open('/home/salman/salman/NiSimpleRead_salman/data/200.raw') #fid = open('/home/salman/test.raw') numBytes = w*h arr1D.read(fid, numBytes) fid.close() #---------------------------------------------------- #convert to float numpy array -> scale -> uint8 array #---------------------------------------------------- numarr = numpy.array(arr1D, dtype='float'); numarr = 255 - (numarr*255.0/numarr.max()) numarr.shape = (h,w) numarr = numarr.astype('uint8') #====================== #IMAGES #====================== #2D numpy array -> image #----------------------- img = Image.fromarray(numarr); #print data.dtype.name #image view and save #------------------- #img.show() img.save('/home/salman/test.png')
This is the only snippet that I can find, is this the proper way to do it?