【问题标题】:How do I create the 'byte[] yuv' parameter for YuvImage from my camera preview?如何从我的相机预览中为 YuvImage 创建 'byte[] yuv' 参数?
【发布时间】:2013-12-12 03:48:28
【问题描述】:

我有一个相机预览工作,我想从我的相机预览的特定坐标中提取 Y 值以确定亮度。

但是,当我传入值时,我不知道如何创建“byte[] yuv”参数。从 API 文档(http://developer.android.com/reference/android/graphics/YuvImage.html)它告诉我这是 yuv 数据。那么如何从我的相机预览中获取这个字节数组来创建我的 YuvImage?

或者我解决这个问题完全错了吗?

提前致谢。

【问题讨论】:

    标签: android camera yuv


    【解决方案1】:

    通常,来自onPreviewFrame() 的数据字节[] 将亮度数据打包在一个宽*高数组中。

    要提取 luma(x, y),可以使用以下 sn-p:

    void onPreviewFrame(byte[] data, android.hardware.Camera camera) {
        byte result = data[x + y*width];
    }
    

    你不需要 YuvImage。

    【讨论】:

    • 非常感谢,非常感谢。我设置了 onPreviewFrame 以使用cameraobject.setPreviewCallback(this) 调用现在,可以仅引用结果来确定亮度吗?另外,为什么数据数组中的 x+y*width 到底是什么?这对我来说是一个新概念,很抱歉造成混乱!
    猜你喜欢
    • 2018-03-10
    • 2013-08-10
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 2015-12-29
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多