Отображение данных из двоичного файла в python

У меня есть 2000 изображений, которые хранятся в виде одного бинарного файла «file.dat» и главы 512 байтов для этого файла. Формат каждого изображения составляет 512 * 512 * 2 байта (без знака int 16). Моя задача – визуализировать все эти изображения как видео. Как я могу сделать это в python? Моя проблема начинается с чтения последовательности изображений. Я новичок в python.

One Solution collect form web for “Отображение данных из двоичного файла в python”

Numpy довольно удобен для чтения в простых форматах двоичных файлов.

По его словам, у вас есть большой двоичный файл uin16, который вы хотите прочитать в 3D-массиве и визуализировать. Нам не нужно загружать все это в память, но для этого примера мы это сделаем.

Вот основная идея того, как выглядит код:

import numpy as np import matplotlib.pyplot as plt def main(): data = read_data('test.dat', 512, 512) visualize(data) def read_data(filename, width, height): with open(filename, 'r') as infile: # Skip the header infile.seek(512) data = np.fromfile(infile, dtype=np.uint16) # Reshape the data into a 3D array. (-1 is a placeholder for however many # images are in the file... Eg 2000) return data.reshape((width, height, -1)) def visualize(data): # There are better ways to do this, but let's keep it simple plt.ion() fig, ax = plt.subplots() im = ax.imshow(data[:,:,0], cmap=plt.cm.gray) for i in xrange(data.shape[-1]): image = data[:,:,i] im.set(data=image, clim=[image.min(), image.max()]) fig.canvas.draw() main() 
  • Не удалось установить графический файл для python3 на ubuntu 14.04
  • Может ли это быть достигнуто посредством агрегации?
  • Пример str.isdecimal () и str.isdigit ()
  • Почему текстовый ввод-вывод должен быть буферизирован в python 3?
  • Почему Python threading.Condition () notify () требует блокировки?
  • Переобучение метода «in» внутри класса
  • Совместимость с Python 3 от BeautifulSoup
  • Как написать код исключения для исключения в Python2.4 для Python3
  • Как распечатать список с целыми числами без скобок, запятых и без кавычек?
  • matplotlib.pyplot.errorbar бросает ошибку, это не должно?
  • Python3.0 - tokenize и untokenize
  • Python - лучший язык программирования в мире.