码迷,mamicode.com
首页 > 移动开发 > 详细

Android Camera 实时滤镜(八)

时间:2015-05-20 18:24:16      阅读:1043      评论:0      收藏:0      [点我收藏+]

标签:android   camera   实时滤镜   

一、Android Camera可以做哪些?

1、功能

  • 拍摄相片
  • 视频录制
  • 取景器(扫描类应用,如人脸识别,名片识别,条形码识别)

2、根据Camera API实现自己的拍照程序,共7步

Created with Rapha?l 2.1.21.初始化 SurfaceHolder2.相机实例 SurfaceCreated3.回调 SurfaceChanged4.清理 SurfaceDestroyed5.布局 SurfaceView6.按钮 添加拍照按钮

二、Camera Preview是什么?

技术分享
摄像头返回的RAW数据经过isp处理后形成yuv数据,android系统将该数据绘制到取景区上,不断绘制帧数据形成实时预览数据。

三、如何获取Camera Preview中的数据?

  • Camera.PreviewCallback
  • setPreviewCallback
    屏幕上显示一个新的预览帧时调用onPreviewFrame方法(时时获取)
  • setPreviewCallbackWithBuffer
    其与setPreviewCallback的工作方式相同,但要求指定一个字节数
    组作为缓冲区,用于预览图像数据(addCallbackBuffer)

四、Android Camera 实时滤镜怎么做?

Created with Rapha?l 2.1.20.取景区大小设置为1像素1.取景区获取预览帧数据yuv2.获取来的YUV420SP与RGB进行转换3.进行滤镜算法渲染4.将处理后的图层绘制于屏幕上

YUV转RGB的算法,转换的公式一般如下,也是线性的关系:
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U

技术分享

问题
1、屏幕卡顿,用户体验低
2、性能低,影响系统性能

如何优化?
- 提高流程度
图像渲染采用OpenGL ES SurfaceTexture
- 提高性能
GPU优化

Android Camera 实时滤镜(八)

标签:android   camera   实时滤镜   

原文地址:http://blog.csdn.net/wyhuan1030/article/details/45873769

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!