2013-07-04 3 views
1

У меня есть очень простой скрипт в Matlab, который открывает «сырой» бинарный файл изображения и отображает его. Легко ли это воспроизводится с использованием numpy в python? Я пришел через различные посты, обсуждающую распаковка, занимающуюся обратный порядок байт, с указанием буферов и т.д. Но это, кажется, что это должно быть простым, основываясь на том, как простой интерфейс MATLAB являетсяЧтение в Raw Binary Image в Python

>> 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); 
+0

Вы попробовали openCV? он предназначен для компьютерного зрения ... –

ответ

4

Это будет делать то же самое, используя NumPy и 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) 

Я чувствую себя обязанным отметить, что использование необработанных двоичных файлов для хранения данных, как правило, плохая идея.

+2

Почему вы говорите, что хранить данные в двоичном файле - плохая идея? – Pablo

+0

К сожалению, моя камера считывает необработанные двоичные данные. – Joe

Смежные вопросы