【发布时间】:2012-06-19 13:57:33
【问题描述】:
在
public void onPreviewFrame(byte[] data, Camera camera)
我们得到 YUV 格式的数据。现在为了转换为 RGB,我在 NDK 中使用了转换器。但还是不够快。
所以我发现了这个: http://www.roman10.net/effective-color-conversion-yuv-rgb-in-android-in-assembly/
具有此 NDK 方法: https://github.com/roman10/roman10-android-tutorial/blob/master/colorConversion/jni/test.c
但我不知道如何更改它,以便它接受 YUV 字节数组“数据”并返回一个 RGB int 数组?
【问题讨论】:
-
不幸的是,这个[github收藏](github.com/roman10/roman10-android-tutorial/blob/master/…使用的是一个转换错误的公式。它是针对YUV视频的,在ITU-R BT.601标准中定义,Y范围为[16。 .235]。相机图像来自YCbCr色彩空间,Y范围为[0..255]。变化不是很强烈,但对人眼来说很重要。
标签: android android-ndk