欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载  

    Camera介绍(高级).pdf

    • 资源ID:3329703       资源大小:2.74MB        全文页数:30页
    • 资源格式: PDF        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Camera介绍(高级).pdf

    CameraCamera介绍介绍 Android平台手机应用开发技术培训 高级.第4讲 学习目标: 目标学员: 课程时长:45分钟 有Android中级水平的开发者或在校 计算机相关专业大学生 掌握在Android中使用摄像头进行预览图 像的方法 掌握在Android中使用摄像头拍摄的方法 软件功能分析软件功能分析 Camera简介 Camera的使用 项目演练 课程目录课程目录 软件功能分析 首先将实现一个Camera预览功能。 手指点击预览屏幕,即可开始自动对焦。 自动对焦完成之后会进行拍照,并将拍 摄结果展示出来。 软件功能分析 CameraCamera简介简介 Camera的使用 项目演练 课程目录课程目录 Camera概述 目前,摄像头基本已经成为手机的标准配置。智能手机更是如此。目前上市 的Android手机毫不例外的都带有摄像头。 Android系统在android.hardware包中有一个Camera类,可以用来操作摄像 头。下面将对Camera及其内部类或接口做一个整体的概述: android.hardware.Camera类 用来控制摄像头设备,它可以设置摄像头的各种属性,控制图像预览或拍照。 android.hardware.Camera.Parameters类 用于控制Camera的各种属性。 android.hardware.Camera.Size类 用于控制Camera的尺寸规格。 Camera概述 android.hardware.Camera.AutoFocusCallback接口 Camera自动对焦的回调接口 android.hardware.Camera.Camera.ErrorCallback接口 Camera出错时的回调接口 android.hardware.Camera.PictureCallback接口 Camera拍摄快照时的回调接口 android.hardware.Camera.PreviewCallback接口 Camera预览时的回调接口 android.hardware.Camera. ShutterCallback接口 Camera拍摄结束,快门关闭时的回调接口 Camera类介绍 创建Camera,必须使用静态方法Camera.open() 锁定Camera,防止其它进程访问Camera服务 解除锁定 释放Camera,断开Camera服务并且释放资源 Camera camera = Camera.open(); camera.lock(); camera.unlock(); camera.release(); Camera类介绍 自动对焦(可能会持续几秒钟) 取消自动对焦 开始预览 结束预览 void autoFocus(Camera.AutoFocusCallback cb); void cancelAutoFocus(); void startPreview(); void stopPreview(); Camera类介绍 设置预览显示控件(只能使用SurfaceView) 拍摄快照 shutter,代表快门回调接口。 raw,该快照回调返回未加工的图像数据(argb数组)。 postview,该快照回调返回高质量图像。 jpeg,该快照回调返回一个jpeg图像格式的数据。 void takePicture(Camera.ShutterCallback shutter, Camera.PictureCallback raw, Camera.PictureCallback postview, Camera.PictureCallback jpeg) void setPreviewDisplay(SurfaceHolder holder) Camera.Parameters参数含义 ANTIBANDING,反Banding噪声(明暗条纹) EFFECT,彩色效果 ANTIBANDING_50HZ ANTIBANDING_60HZ ANTIBANDING_AUTO ANTIBANDING_OFF EFFECT_AQUA(浅绿) EFFECT_BLACKBOARD(黑板) EFFECT_MONO(单色) EFFECT_NEGATIVE(底片) EFFECT_NONE(无) EFFECT_POSTERIZE(色调分离) EFFECT_SEPIA(褐色) EFFECT_SOLARIZE(过度曝光) EFFECT_WHITEBOARD(白板) Camera.Parameters参数含义 FLASH ,闪光模式 FOCUS,焦点模式 FLASH_MODE_AUTO(自动) FLASH_MODE_OFF(关闭闪光) FLASH_MODE_ON(开启闪光) FLASH_MODE_RED_EYE(红眼) FLASH_MODE_TORCH(强光) FOCUS_MODE_AUTO(自动) FOCUS_MODE_FIXED(修正) FOCUS_MODE_INFINITY(无限远) FOCUS_MODE_MACRO(微距) Camera.Parameters参数含义 SCENE ,场景模式 SCENE_MODE_ACTION(行动) SCENE_MODE_AUTO(自动) SCENE_MODE_BEACH(沙滩) SCENE_MODE_NIGHT(夜间) SCENE_MODE_PARTY(聚会) SCENE_MODE_SNOW(雪景) SCENE_MODE_SPORTS(运动) SCENE_MODE_SUNSET(日光) SCENE_MODE_STEADYPHOTO(静态) SCENE_MODE_CANDLELIGHT(微光) SCENE_MODE_FIREWORKS(烟火) SCENE_MODE_LANDSCAPE(风景画) SCENE_MODE_PORTRAIT(人像) SCENE_MODE_NIGHT_PORTRAIT(夜间人像) SCENE_MODE_THEATRE(剧场) Camera.Parameters参数含义 WHITE_BALANCE ,白平衡 WHITE_BALANCE_AUTO(自动) WHITE_BALANCE_CLOUDY_DAYLIGHT(日间多云) WHITE_BALANCE_DAYLIGHT(日光) WHITE_BALANCE_FLUORESCENT(荧光) WHITE_BALANCE_INCANDESCENT(强光) WHITE_BALANCE_SHADE(阴天) WHITE_BALANCE_TWILIGHT(微光) WHITE_BALANCE_WARM_FLUORESCENT(暖光) Camera回调介绍 Camera.AutoFocusCallback,自动对焦回调 当调用camera.autoFocus方法时,会向Camera服务发起自动对焦请求,然 后Camera服务开始执行请求。 当请求执行完毕时,Camera服务会回调onAutoFocus方法,返回成功标志, 以及发起请求的Camera实例。 Camera.ErrorCallback,Camera错误回调 这个回调用于监听Camera服务的错误状态。例如: 当返回错误码为CAMERA_ERROR_SERVER_DIED时,应用必须释放当前 的Camera,并且重新获取一个新的实例。 onAutoFocus(boolean success, Camera camera) onError(int error, Camera camera) Camera回调介绍 Camera.PictureCallback ,拍摄回调 当调用camera.takePicture方法时,会向Camera服务发起拍摄请求, Camera服务完成拍摄后,则通过onPictureTaken方法返回图片数据。 Camera.PreviewCallback,预览回调 当调用camera.startPreview方法后,Camera服务会开启预览,同时不停的将 预览的帧(frame)数据,通过onPreviewFrame方法返还回来。 此回调由于其执行频率高,所以不适合在回调方法中做耗时的工作。 onPictureTaken(byte data, Camera camera) onPreviewFrame(byte data, Camera camera) Camera回调介绍 Camera.ShutterCallback ,快门回调 这个回调发生在快门关闭后,Camera服务返回拍摄结果之前。 可以利用此方法播放拍摄快门关闭的声音,以提示用户拍摄完毕。 onShutter() 软件功能分析 Camera简介 CameraCamera的使用的使用 项目演练 课程目录课程目录 声明权限和特征 在AndroidManifest.xml中声明许可权限 在AndroidManifest.xml中声明特征 Camera使用步骤 分别实现Camera的回调接口并重写其回调方法。 创建一个SurfaceView,用于显示预览。 首先继承SurfaceView类,然后继承SurfaceHolder.Callback接口并重写其 surfaceCreated(创建), surfaceDestroyed(销毁), surfaceChanged (屏幕尺寸改变)等方法。这样就可以得到一个自定义的SurfaceView了。 创建并设置Camera,使用Camera.setPreviewDisplay把刚才定义的 SurfaceView设置为Camera的预览显示控件。 使用Camera.startPreview启动预览,然后就可以使用Camera类的功能进行 自动对焦,拍摄等功能了。 结束时别忘了释放Camera的资源。 软件功能分析 Camera简介 Camera的使用 项目演练项目演练 课程目录课程目录 项目演练 在AndroidManifest.xml中声明权限和特征 创建Preview类使其继承SurfaceView并实现一系列回调接口 public class Preview extends SurfaceView implements SurfaceHolder.Callback,Camera.AutoFocusCallback, Camera.ShutterCallback,Camera.PictureCallback, Camera.PreviewCallback, Camera.ErrorCallback 项目演练 重写SurfaceHolder.Callback的surfaceCreated方法 重写SurfaceHolder.Callback的surfaceDestroyed方法 public void surfaceCreated(SurfaceHolder holder) mCamera = Camera.open(); mCamera.setPreviewCallback(this); mCamera.setPreviewDisplay(holder); public void surfaceDestroyed(SurfaceHolder holder) mCamera.cancelAutoFocus(); mCamera.setPreviewCallback(null); mCamera.stopPreview(); mCamera.release(); 项目演练 重写SurfaceHolder.Callback的surfaceChanged方法 public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) Camera.Parameters param = mCamera.getParameters(); param.setPreviewSize(w, h); mCamera.setParameters(param); mCamera.startPreview(); 项目演练 重写onTouchEvent函数,当点击屏幕时,调用自动对焦功能。 处理自动对焦回调事件onAutoFocus,不论成功失败,调用拍摄功能 public boolean onTouchEvent(MotionEvent event) if (event.getAction() = MotionEvent.ACTION_DOWN) mCamera.autoFocus(this); return true; return false; public void onAutoFocus(boolean success, Camera camera) mCamera.takePicture(Preview.this, null, this); 项目演练 处理拍摄回调事件onPictureTaken,将返回的数据传递给ImageActivity ImageActivity的关键代码 public void onPictureTaken(byte data, Camera camera) Intent intent = new Intent(context, ImageActivity.class); intent.putExtra(“imageData“, data); context.startActivity(intent); byte imageData = getIntent().getExtras().getByteArray(“imageData“); Bitmap image = BitmapFactory.decodeByteArray( imageData, 0, imageData.length); ImageView imageView = new ImageView(this); imageView.setImageBitmap(image); 项目演练 拍摄结束的回调 预览回调 Camera错误回调 public void onShutter() System.out.println(“onShutter“); public void onPreviewFrame(byte data, Camera camera) System.out.println(“onPreviewFrame“); public void onError(int error, Camera camera) System.out.println(“onError“ + error); 项目演练 模拟器的预览效果如图,此时点击屏幕 将会开始自动对焦。 自动对焦过程很短暂(可以看到倾斜的 方格)。完成对焦后,会开始拍摄。 拍摄完成后,自动展示拍摄结果。 总结 如何使用摄像头进行预览 如何操作摄像头进行自动对焦及拍摄 本课程到此结束,谢谢!

    注意事项

    本文(Camera介绍(高级).pdf)为本站会员(韩长文)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开