因為有的圖片處理在glsl里面不好搞,需要opencv這種一些比較優(yōu)秀的處理庫,所以有了這一次的實驗。
實驗目的:為了尋找一種比較好的不在glsl里面實時處理攝像頭數(shù)據(jù)的方式。
數(shù)據(jù)采集
camera通過SurfaceTexture采集數(shù)據(jù)
處理渲染
1.將NV21數(shù)據(jù)(yuv420sp)通過opencv轉為bitmap,通過Cavas繪制,30fps左右,可以查看opencv的demo
2.將NV21數(shù)據(jù)通過libyuv轉為rgb,然后用OpenGLES渲染,10fps左右,卡頓明顯
3.將NV21數(shù)據(jù)通過openCv轉為rgb,然后用OpenGLES渲染,50fps左右
時間有限,下面幾種沒驗證
4.直接操作NV21數(shù)據(jù),然后通過OpenGLES渲染,在glsl里面將yuv轉為rgb,未驗證,應該比上面的方式更快
5.處理部分數(shù)據(jù),不一定每一幀都處理(這個不算實時流處理了)??赡苓@種方式稍微好一點了吧
實驗代碼:
https://github.com/ChinaZeng/CameraRenderDemo
有啥好的思路,希望指點一下。