У меня есть несколько изображений, которые я хочу проанализировать с помощью скрипта Python. Они хранятся в виде файлов с исходными двоичными данными. Они имеют следующий формат. 16-битное беззнаковое, с прямым порядком байтов, 592x600 пикселей с 520-байтовым заголовком.
Когда я смотрю на файл .dat в своей ОС (OS X yosemite), я вижу, что размер файла составляет 710 920 байт.
Это имеет смысл как (592 x 600 пикселей) * (2 байта на пиксель) = 710 400 байтов. Таким образом, остаток составляет 520-байтовый заголовок.
Я хочу написать быстрый скрипт на Python для генерации массива значений пикселей. то есть я хочу убрать заголовок файла и сохранить остальные данные в виде массива, чтобы я мог использовать что-то вроде PIL, чтобы затем быстро преобразовать в изображение и вывести jpg или png.
Просто делаю что-то очень быстрое:
myfile = open('test.dat', 'rb')
data = myfile.read()
len(data)
trimdata = data[520:]
len(trimdata)
Это дает мне необработанные данные без заголовка.
Отсюда я не уверен, как проще всего разобрать данные в массив 592x600, который затем можно использовать с PIL для быстрого экспорта изображения в градациях серого.
вот ссылка на файл, который помогает: test.dat а>
Изменить: спасибо за помощь - похоже, данные были Little Endian, а не Big Endian. Ваше здоровье.