使用 python 翻转电影尺寸的最简单方法

Easiest way to flip the dimension of a movie with python

我有一部电影,使用 skimage.external.tifffile.imread() 从 tif 文件加载到形状为 (frames, width, height) 的 numpy 数组中。将电影重新排序为 ( width, height, frames) 形状的最佳方式是什么?

我可以构建一个使用 for 循环执行此操作的函数,但是有没有更好的方法来重塑同时避免 for 循环实现?问题的某种矢量化?

您可以使用 numpy.moveaxis:

movie = np.moveaxis(movie, 0, 2)

你可以做一个 transpose followed by a swapaxes:

import numpy as np

movies = np.zeros((10, 250, 100))

print(movies.shape)
print(np.swapaxes(movies.T, 0, 1).shape)

输出

(10, 250, 100)
(250, 100, 10)