什麼是有效和清晰的方式來讀取Python中的16位PGM圖像與numpy?Numpy和16位PGM
我不能使用PIL來加載16位PGM圖像due to a PIL bug。我可以在頭下面的代碼閱讀:
dt = np.dtype([('type', 'a2'),
('space_0', 'a1',),
('x', 'a3',),
('space_1', 'a1',),
('y', 'a3',),
('space_2', 'a1',),
('maxval', 'a5')])
header = np.fromfile('img.pgm', dtype=dt)
print header
此打印正確的數據:('P5', ' ', '640', ' ', '480', ' ', '65535')
但我有一種感覺,是不是很最好的方式。除此之外,我很難找出如何通過16位的偏移量size(header)
來讀取x(y)(本例中爲640x480)的以下數據。
編輯:圖片已新增
MATLAB代碼讀取和顯示的圖像是:
I = imread('foo.pgm');
imagesc(I);
,看起來像這樣:
可以附加一個例子img.pgm? Off topic:檢查你的網站;你可能想看到[this](http://www.bbc.co.uk/news/science-environment-14803840):似乎你並不是唯一在北極周圍尋找溫暖的水的人(支持證據爲您的(coleages)論文或許?) – Remi
PGM here:http://db.tt/phaR587 PS ( – mankoff