2013-07-04 44 views
1

我在Matlab中有一個非常簡單的腳本,它打開一個'原始'二進制圖像文件並顯示它。在Python中使用numpy可以很容易地重現嗎?我碰到過各種職務討論拆包,處理端,指定緩衝區等但這似乎應該是簡單的,基於MATLAB的接口是多麼簡單在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