我正在尝试导入.avi文件以进行帧处理。
Import["c:\\windows\\clock.avi","Elements"]
Import["c:\\windows\\clock.avi","VideoEncoding"]
Import["c:\\windows\\clock.avi"]
Import["c:\\windows\\clock.avi",{"Frames",{5,6}}]
Out[115]= {Animation,BitDepth,ColorSpace,Data,Duration,FrameCount,FrameRate,
Frames,GraphicsList,ImageList,ImageSize,VideoEncoding}
Out[116]= rle8
Out[117]= {1,2,3,4,5,6,7,8,9,10,11,12}
During evaluation of In[115]:= Import::fmterr: Cannot import data as video format.
During evaluation of In[115]:= Import::fmterr: Cannot import data as video format.
Out[118]= {$Failed,$Failed} 它报告了与我测试的所有avi文件相同的错误。
有什么提示吗?
发布于 2011-04-13 03:09:44
AVI是一种容器格式。你可以用完全怪异和稀有的格式对电影进行编码,但仍然可以称之为.avi。
您可以使用像freemake这样的视频格式转换器将您的电影转换为Mathematica可以使用的格式。与Internal`$VideoEncodings确认可以识别哪种内部格式。
通常,Quicktime (.mov)是最简单的。AVI有时加载很好,但根本不显示,即使我有正确的编解码器在板上,我的所有球员都可以播放它。
如果所有其他方法都失败了,您可以尝试VirtualDub。它可以读取AVIs并将它们分割成单独的图像,这些图像可以很容易地导入mma。
编辑
我记得在我最近的视频项目中,完全没有读到我从FireFox插件DownloadHelper下载的某个YouTube电影得到的AVI(尽管它可以在我拥有的所有播放器、VLC、媒体播放器经典版、Windows Media Player等中播放)。DH到.mov的转换工作正常,但DH将其徽标插入其中。因此,最后我求助于使用FreeMake下载,并通过VirtualDub转换为单独的帧。
https://stackoverflow.com/questions/5640235
复制相似问题