python - 图像处理: Import stills from video into python/matplotlib?

标签 python video image-processing numpy matplotlib

我正在玩堆叠和处理天文照片。我对理解算法就像对成品图像一样感兴趣,因此我(尚未)还没有尝试过市面上众多精美产品中的任何一个。

我有中等大小的静态照片集(一次几十张),我可以使用

成功导入这些照片
img = imread("filename.jpg")

这会生成一个 numpy ndarray 矩阵,我可以使用 numpyscipy.ndimage 中提供的工具对其进行操作code>,并使用 imshow() 显示。 Python Imaging Library, PIL 后端支持此功能。 ,据我所知,它仅支持静态图像。

对于长时间曝光,最好将相机设置为拍摄视频,然后从视频中提取帧并通过与静态图像相同的分析管道运行它们。据我所知,PIL 仅支持静态图像。我的相机生成带有 .MOV 文件扩展名的 Quicktime 影片。

是否有一个 Python 库可以让我访问视频帧中的数据?

或者,我希望获得有关使用外部工具(似乎存在命令行 ffmpeg,但我还没有尝试过)来生成可以输入的临时文件的指导我的静态图像管道。由于我可能想检查一部 10 分钟、30 fps 的电影中的所有 18k 帧,因此将所有帧提取到一个大文件夹中可能不是一种选择。

我在 OSX Mavericks 上运行 Python 2.7;我可以轻松访问 MacPorts 来安装东西。

最佳答案

以下 ffmpeg 行将让您提取 10 秒的视频,从预先指定的时间开始(此处为电影开始后 20 秒):

ffmpeg -i myvideo.MOV -ss 00:00:20.00 -t 10 img%3d.jpg

很容易弄清楚如何在 Bash 循环中使用它或通过 Python 在循环中运行该命令。

关于python - 图像处理: Import stills from video into python/matplotlib?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22851944/

相关文章:

python - 使用 PyGObject 自省(introspection)编写 MATE/GNOME 小程序 (Python)

video - 使用 RTMP 的实时视频 ffmpeg 延迟

c++ - 如何使用 opencv c++ 增加图像的对比度?

algorithm - 选择的 gimp 羽化边缘背后的算法是什么?

python 3.2 pickle.load 随机导致 EOFError

python - 使用 django south 进行外键迁移

python - 如何使 numba @jit 使用所有 cpu 内核(并行化 numba @jit)

macos - Applescript提取YouTube Livestream视频ID

javascript - 在网页上加载视频的最佳做法?

image-processing - 如何比较两种图像缩放算法的 "quality"?