linux – 用于电视(TV)视频的实时像素级分析的建议
[注意:这是对
earlier question的重写,被认为是不恰当和关闭的.]
我需要对电视(电视)视频进行像素级分析.这种分析的确切性质并不相关,但它主要涉及从MPEG-2传输流开始查看电视视频每帧的每个像素.主机平台将是服务器级,多处理器64位Linux机器. 我需要一个可以处理传输流解码的库,并实时向我提供图像数据. OpenCV和ffmpeg是我正在考虑进行这项工作的两个库. OpenCV很吸引人,因为我听说它具有易于使用的API和丰富的图像分析支持,但我没有使用它的经验.我过去曾使用ffmpeg从文件中提取视频帧数据进行分析,但它缺乏图像分析支持(尽管英特尔的IPP可以补充). 除了针对此问题的方法的一般建议(不包括实际的图像分析),我还有一些更具体的问题可以帮助我开始: > ffmpeg或OpenCV通常在工业中用作实时的基础 解决方法
1.
我肯定会推荐OpenCV进行“实时”图像分析.我假设您实时指的是能够跟上电视帧速率(例如,NTSC(29.97 fps)或PAL(25 fps)).当然,正如评论中所提到的,它当然取决于您可用的硬件以及SD(480p)与HD(720p或1080p)的图像大小. FFmpeg肯定有它的怪癖,但你很难找到一个更好的免费替代品.它的力量和灵活性令人印象深刻我确信这是OpenCV开发人员决定将其用作OpenCV视频解码/编码后端的原因之一. 2. 我在几个嵌入式系统上使用过OpenCV,所以我非常熟悉你对最佳性能的渴望.我已经多次发现没有必要处理全帧图像(特别是在尝试确定蒙版时).如果您难以处理获取的视频流,我强烈建议您对图像进行下采样.这有时可以立即为您提供4-8倍的加速(取决于您的下采样因子).同样在性能方面,我肯定会推荐使用英特尔的IPP.由于OpenCV最初是一个英特尔项目,IPP和OpenCV很好地融合在一起. 最后,因为图像处理是那些“令人尴尬的并行”问题领域之一,所以不要忘记在需要时使用GPU作为硬件加速器的可能性. OpenCV最近在这方面做了很多工作,所以如果需要你应该可以使用这些工具. 3. 4. ffmpeg -pix_fmts 看看它可以输入和输出什么. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |