Android的摄像头操作随笔记

本文介绍了如何在Android中使用摄像头,包括通过SurfaceView实现自定义相机界面,设置参数如预览格式、尺寸,以及从视频流中截取帧进行图像处理,如灰度化。此外,还讲解了如何拍照并保存到SD卡,提供了对byte数组进行操作的方法。
摘要由CSDN通过智能技术生成

最近项目需要用到很多的摄像头,比如自己写一个照相机、人脸识别、图片识别等等。都要使用摄像头,变态的还有,截取视频流的某一帧。

好了,主题了吧。这里只有android.hardware.Camera包下的笔记和android.view.surfaceView的笔记。


新手看一下,大神绕道!

一、先总体的记一下

我们使用android的拍照等功能,本来是可以调用系统自带的,一般都是隐式的Intent实现的。但是,老板的诸多要求,系统自带操作不方便,于是我们就被逼着上了梁山,使用surfaceView自己画一个。


首先,我们需要记住就是摄像头的预览需要载体,那么这个载体是什么?android提供的载体就是surfaceView。

在这里,我简单的讲一下surfaceView,它是专门用来绘制的,用来呈现常规控件无法呈现内容的或者需要加入很多的个人色彩的东西的时候。

使用它和使用Button基本一样的,布局文件加一个,声明ID。但是,它和Button的区别在于,我们需要为它设置一个回调android.view.SurfaceHolder.Callback。

记住,这是一个接口(interface),里面有三个方法,需要实现。执行的顺序是:surfaceCreated()--->surfaceChanged()----->surfaceDestoryed()。

如果英语可以的人,一看就是知道是什么意思。具体的代码这样实现的:

//声明

private SurfaceView surfaceview;
private SurfaceHolder surfaceholder;


//初始化

surfaceview = (SurfaceView) findViewById(R.id.mSurfaceView);
surfaceholder = surfaceview.getHolder();
surfaceholder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
surfaceholder.addCallback(MainActivity.this);

注意:最后一句话就是用来添加回调的。

二、应该

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值