我正在玩堆叠和处理天文照片。我对理解算法就像对成品图像一样感兴趣,因此我(尚未)还没有尝试过市面上众多精美产品中的任何一个。
我有中等大小的静态照片集(一次几十张),我可以使用
成功导入这些照片img = imread("filename.jpg")
这会生成一个 numpy
ndarray
矩阵,我可以使用 numpy
和 scipy.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/