我必须创建一个可以实时处理图像的系统。我已经在C ++中实现了像素格式转换系统,该系统还可以进行一些简单的转换(当前:旋转和镜像)。
系统的输入/输出格式为以下格式的帧:
例如,一个操作可以是:
该系统的目标是为旋转/镜像和像素格式转换提供最佳性能。我目前的实现依赖于OpenCV,但是在处理2k分辨率以上的数据时会遇到性能问题。
当前实现使用cv :: Mat和cv :: transpose / cv :: flip / cv :: cvtColor,并且我优化了系统以删除过渡缓冲区并尽可能多地复制。
不是很高兴重新发明轮子,我知道使用swscale和FFMpeg的一些过滤器可以实现相同的结果。我的问题是:
FFMpeg系统相当通用,您认为使用该解决方案可能会占用体积/性能方面的警告吗?
在OpenCV中似乎已经实现了格式转换,但我对FFMpeg的实现一无所知...(注意:我在具有SSE的x86_64 intel平台上)
您知道有什么库可以实时处理这种简单的转换吗?
谢谢
答案 0 :(得分:1)
OpenCV的实现是您的配置最优化。不要指望ffmpeg会有所改善。最近,OpenCV使用SSE优化切换到libjpeg-turbo ,这可能会改善JPEG转换。