图像处理:从视频导入剧照到python/matplotlib?
我正在玩堆叠和处理天文照片的游戏。我对理解算法就像我对完成的图像一样感兴趣,所以我还没有(还)尝试过任何漂浮在周围的众多抛光产品 我有中等大小的静态照片集(一次几十张),我可以使用图像处理:从视频导入剧照到python/matplotlib?,python,video,image-processing,numpy,matplotlib,Python,Video,Image Processing,Numpy,Matplotlib,我正在玩堆叠和处理天文照片的游戏。我对理解算法就像我对完成的图像一样感兴趣,所以我还没有(还)尝试过任何漂浮在周围的众多抛光产品 我有中等大小的静态照片集(一次几十张),我可以使用 img = imread("filename.jpg") 这将生成一个numpyndarray矩阵,我可以使用numpy和scipy.ndimage中提供的工具对其进行操作,并使用imshow()进行显示。这在后端由支持,据我所知,它只支持静态图像 对于较长的曝光时间,最好将我的相机设置为拍摄视频,然后从视频中提取
img = imread("filename.jpg")
这将生成一个numpy
ndarray
矩阵,我可以使用numpy
和scipy.ndimage
中提供的工具对其进行操作,并使用imshow()
进行显示。这在后端由支持,据我所知,它只支持静态图像
对于较长的曝光时间,最好将我的相机设置为拍摄视频,然后从视频中提取帧,并通过与静态图像相同的分析管道运行它们。据我所知,PIL只支持静态图像。我的相机使用.MOV
文件扩展名制作Quicktime电影
有没有Python库可以让我访问视频帧中的数据
另外,我也希望得到关于使用外部工具(似乎有一个命令行ffmpeg
,但我还没有尝试过)生成临时文件的指导,我可以将其输入到我的静态图像管道中。因为我可能想在一部10分钟30帧的电影中检查所有18k帧,所以仅仅将所有帧提取到一个大文件夹中可能不是一个选项
我在OSX小牛上运行Python 2.7;我可以轻松访问MacPorts来安装东西。以下ffmpeg行将允许您从预先指定的时间(这里是电影开始后20秒)提取10秒的视频: 很容易弄清楚如何在Bash循环中使用它,或者如何通过Python在循环中运行命令。Hmmm,现在我明白了,它似乎通过管道执行命令行ffmpeg。作为spamy的答案,请参阅。如果要提取特定框架,则链接到的项目存在问题。要更好地了解ffmpeg提出的问题,请参阅并链接讨论。
ffmpeg -i myvideo.MOV -ss 00:00:20.00 -t 10 img%3d.jpg