它是在 CameraBridgeBase 这个类里有一个 方法,
deliverAndDrawFrame(CvCameraViewFrame ),
在这个函数里面,
它将CvCameraViewListener2 的onCameraFrame 返回的Mat 转换为 bitmap ,
然后通过canvas画在 surfaceView 持有holder的 surface上。
注意,onCameraFrame是我们要具体去实现的接口, 而且也是我们处理图像主要战场
而我们也可以通过继承 deliverAndDrawFrame 这个方法来 通过opengl 加载bitmap纹理,显示图像到 opengl es绑定的surface上,
。
深入一点, deliverAndDrawFrame 的参数 CvCameraViewFrame 怎么来的?
如果玩过 Android 摄像头的人都知道, 在initializeCamera 就是 打开摄像头和设置摄像头的地方,
显示摄像头也有两种方式:
1 通过 setPreviewDisplay(SurfaceHolder holder)
这种,一般与 SurfaceView搭配, 通过SurfaceView.getHolder()