Read in Raw Binary Image in Python

21,536

This will do the same thing using numpy and matplotlib:

import numpy as np
from matplotlib import pylab as plt

A = np.fromfile(filename, dtype='int16', sep="")
A = A.reshape([1024, 1024])
plt.imshow(A)

I feel obligated to mention that using raw binary files to store data is generally a bad idea.

Share:
21,536
Joe
Author by

Joe

Updated on July 05, 2020

Comments

  • Joe
    Joe almost 4 years

    I have a very simple script in Matlab that opens a 'raw' binary image file and displays it. Is this easily reproducible using numpy in python? I've come across various posts discussing unpacking, dealing with endian, specifying buffers, etc. But this seems like it should be simple, based on how simple the matlab interface is

    >> fileID = fopen('sampleX3.raw','rb')
    
    fileID =
    
         1
    
    >> A = fread(fileID,[1024,1024],'int16');
    size(A)
    
    ans =
    
            1024        1024
    
    >> max(max(A))
    
    ans =
    
           12345
    
    >> close all; figure; imagesc(A);