2013-07-09 4 views
2

У меня есть матрица numpy, где каждая строка является изображением. Я могу изменить форму строк и отобразить изображения с помощью matplotlib.pyplot. Проблема в том, что я не хочу отображать изображения отдельно, я хочу отображать их после друг друга, как видео.Отображение матричной матрицы как видео

Как это возможно в python?

+1

Что вы пробовали? возможно, перебирать матрицу с помощью «паузы времени» и непрерывно менять ваш дисплей. –

+0

Thx. Это сработало! – jcdmb

+0

что я сделал, когда захотел, чтобы это было в файле с файлами с сифилисом, а не просто показать его с помощью DS9, там вы можете перебирать каждый кадр отдельно и т. Д. (В моем случае я имел 3D-массив и я просто сохранил его как 3 разных файла, с осевой заменой, чтобы иметь возможность «пройти через него», по одной оси на файл, хотя, если time.pause работает, не нужно делать это сложнее, чем это. Мое решение позволяет вам чтобы сохранить их и сделать это снова позже, без необходимости имитировать то, что вы хотели видеть в 3D-матрице, хотя – usethedeathstar

ответ

3

Ну, я не знаю, если это лучший способ, но я использовал matplotlib.pyplot для решения моей проблемы. Импортируйте его как «plt» и выполните следующие действия:

matrix=numpy.genfromtxt(path,delimiter=',') # Read the numpy matrix with images in the rows 
c=matrix[0] 
c=c.reshape(120, 165) # this is the size of my pictures 
im=plt.imshow(c) 
for row in matrix: 
    row=row.reshape(120, 165) # this is the size of my pictures 
    im.set_data(row) 
    plt.pause(0.02) 
plt.show() 
+0

Решение немного взломанно, но если вы хотите только отлаживать sth, то это все в порядке, я думаю, однако, что я будет интересоваться более сложной версией, в которой вы можете сохранить видео в файл. – thigi

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