因?yàn)橛械膱D片處理在glsl里面不好搞恶阴,需要opencv這種一些比較優(yōu)秀的處理庫窖张,所以有了這一次的實(shí)驗(yàn)幕随。
實(shí)驗(yàn)?zāi)康模簽榱藢ふ乙环N比較好的不在glsl里面實(shí)時(shí)處理攝像頭數(shù)據(jù)的方式。
數(shù)據(jù)采集
camera通過SurfaceTexture采集數(shù)據(jù)
處理渲染
1.將NV21數(shù)據(jù)(yuv420sp)通過opencv轉(zhuǎn)為bitmap宿接,通過Cavas繪制赘淮,30fps左右,可以查看opencv的demo
2.將NV21數(shù)據(jù)通過libyuv轉(zhuǎn)為rgb,然后用OpenGLES渲染睦霎,10fps左右梢卸,卡頓明顯
3.將NV21數(shù)據(jù)通過openCv轉(zhuǎn)為rgb,然后用OpenGLES渲染副女,50fps左右
時(shí)間有限蛤高,下面幾種沒驗(yàn)證
4.直接操作NV21數(shù)據(jù),然后通過OpenGLES渲染肮塞,在glsl里面將yuv轉(zhuǎn)為rgb襟齿,未驗(yàn)證,應(yīng)該比上面的方式更快
5.處理部分?jǐn)?shù)據(jù)枕赵,不一定每一幀都處理(這個(gè)不算實(shí)時(shí)流處理了)猜欺。可能這種方式稍微好一點(diǎn)了吧
實(shí)驗(yàn)代碼:
https://github.com/ChinaZeng/CameraRenderDemo
有啥好的思路拷窜,希望指點(diǎn)一下开皿。