Android摄像头数据采集实时处理渲染实验

因为有的图片处理在glsl里面不好搞,需要opencv这种一些比较优秀的处理库,所以有了这一次的实验。

实验目的:为了寻找一种比较好的不在glsl里面实时处理摄像头数据的方式。

数据采集

camera通过SurfaceTexture采集数据

处理渲染

1.将NV21数据(yuv420sp)通过opencv转为bitmap,通过Cavas绘制,30fps左右,可以查看opencv的demo
2.将NV21数据通过libyuv转为rgb,然后用OpenGLES渲染,10fps左右,卡顿明显
3.将NV21数据通过openCv转为rgb,然后用OpenGLES渲染,50fps左右

时间有限,下面几种没验证

4.直接操作NV21数据,然后通过OpenGLES渲染,在glsl里面将yuv转为rgb,未验证,应该比上面的方式更快
5.处理部分数据,不一定每一帧都处理(这个不算实时流处理了)。可能这种方式稍微好一点了吧

实验代码:
https://github.com/ChinaZeng/CameraRenderDemo

有啥好的思路,希望指点一下。

你可能感兴趣的:(Android摄像头数据采集实时处理渲染实验)