camera技术总结

1、摄像头Camera的基本操作:初始化操作和销毁操作

1》初始化操作:调用open方法直接打开摄像头,然后设置预览载体,在设置摄像头的一些参数信息,最后设置每一帧的回调接口,开始预览效果。

2》销毁操作:置空每一帧的回调接口,停止预览效果,释放摄像头

2、摄像头Camera的前置和后置效果

Android中的前置摄像头和后置摄像头切换是通过把之前的一个摄像头释放,然后在重新初始化下一个摄像头,同时用一个全局的变量来标志当前摄像头的状态即可,使用open带有参数的形式来决定打开那种摄像头。

3、摄像头Camera的数据格式处理

Android中的Camera的数据格式是可以设置的,但是摄像头只支持两种格式NV21和YV12,所以我们在后续的数据二次处理就需要做数据格式转化,一般都是把数据转化成ARGB格式或者是视频编码的YUV420格式。

4、摄像头Camera的尺寸和方向设置

1》Android中的Camera可以获取到当前所支持的尺寸大小,但是需要注意的是,因为Camera默认的方向模式是:横屏+0度旋转,所以宽度*高度尺寸是针对于横屏来说的,所以看到这些尺寸都会发现宽度比高度值大。如果设备是竖屏的话,我们需要做一次尺寸调换。同时可以支持两种方式设置尺寸大小的,一个是可以设置预览的尺寸大小,而这种大小将会同步到到每一帧原始数据的尺寸大小的,还有一个就是可以设置拍照之后的图片大小。

2》Android中的Camera的可以支持两种方向设置的,一种是预览方向设置,还有一种是拍照之后的图片方向设置,这里我们学习到了图片的exif信息处理。但是唯独没有每一帧原始数据的方向设置,所以我们后续再处理每一帧数据的时候需要手动的做一次方向旋转,旋转的时候还要区分前置摄像头和后置摄像头的旋转角度。

5、摄像头Camera对焦拍照

Android中Camera可以通过autoFocus方法设置对焦回调方法,然后在使用takePicture方法设置回调方法获取拍照之后的图片数据,可以直接保存成图片即可。无需数据格式转化。

6、摄像头Camera的原生每一帧数据采集

这个知识点是最重要的,是后续推流和编码的核心点,他能够获取到摄像头的每一帧数据,我们可以在这里做二次处理,比如把原生的NV21/YV12数据格式转化成ARGB格式,然后添加水印效果。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值