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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容