有没有办法通过GLSurfaceView
从Android相机获取YUV缓冲区? (不是来自onPreviewFrame)
答案 0 :(得分:3)
您可以使用Android Camera API从Android相机获取YUV缓冲区。如果您只想要一个帧,那么没有理由让OpenGL ES参与其中。使用ImageReader来避免数据副本。
OpenGL ES适用于RGB而非YUV,因此GLES渲染的任何内容都经过颜色空间转换。如果您愿意,可以在片段着色器中将转换回YUV。
无论如何,SurfaceView类不是处理管道中的中间体;它们是显示端点。你无法从他们那里得到任何东西。有关详细信息,请参阅arch doc。