【问题标题】:Convert YUV webcam image to java byte array将 YUV 网络摄像头图像转换为 java 字节数组
【发布时间】:2011-06-10 07:06:48
【问题描述】:

在 Java 中,将一帧 YUV(I420 或 YUY2)格式的 PC 网络摄像头图像数据转换为字节(或整数)数组的最有效方法是什么?

【问题讨论】:

    标签: java arrays performance bufferedimage yuv


    【解决方案1】:

    不了解java,但这是使用ffmpeg解决它的方法

    ffmpeg -i in.avi -vcodec rawvideo -pix_fmt yuv420p -o out.yuv
    

    将任何输入转换为 420 平面 yuv。

    【讨论】:

    • 我已经在内存中以正确的“格式”保存了数据,只要它被称为字节数组而不是图像缓冲区。将其转换为 RGB 并返回数据数组是可能的,但效率不高。我猜 ffmpeg 方法会通过一条更加苛刻的路线。 “in.avi -vcodec”可能会删掉“createRealizedPlayer”,这可能会节省时间,但我仍然知道如何使用 Java 访问相机。
    【解决方案2】:

    你可以试试这个项目:

    http://code.google.com/p/java-yuv/

    我相信它有一些你可以使用的代码

    【讨论】:

    • 你可能是对的,但我以前看过这个,但不知道如何使用它。我使用“createRealizedPlayer”和“grabFrame”从相机获取数据。我不反对像读取文件一样使用流式传输方法(假设它合理有效),但我不知道如何以这种方式设置相机。有什么想法吗?
    【解决方案3】:

    已解决。它可能不是最有效的,但 PixelGrabber 类似乎适用于我认为只是块数据副本的东西。话虽如此,我仍然很高兴听到任何更有效的方法。 感谢您的建议。

    【讨论】:

      猜你喜欢
      • 2013-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多