用camera实现G-sensor功能经验分享

合集下载

Android:Camera2的简单使用

Android:Camera2的简单使用

Android:Camera2的简单使⽤以前⽤的是Camera,但是现在Camera已经被官⽅弃⽤了,所以这⾥使⽤的是Camera2进⾏演⽰使⽤Camera需要注意的就是权限的获取,必须有权限类图介绍Camera2跟Camera1不⼀样,它使⽤了很多个类,每个类有⾃⼰的功能这⼏个类是主要使⽤的,其他的⽐如 CameraCharacteristics 类⽤于获取跟摄像头有关的信息等等代码实现1、CameraManager获取系统摄像头1 CameraManager cameraManager = (CameraManager) this.getSystemService(Context.CAMERA_SERVICE);2、CameraManager打开指定摄像头,让Device进⾏操作String cameraId = "" + CameraCharacteristics.LENS_FACING_FRONT;//得到后摄像头编号if (ActivityCompat.checkSelfPermission(context, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {return;}CameraDevice.StateCallback deviceCallback = new CameraDevice.StateCallback() {@Overridepublic void onOpened(@NonNull CameraDevice camera) {cameraDevice = camera;}@Overridepublic void onDisconnected(@NonNull CameraDevice camera) {}@Overridepublic void onError(@NonNull CameraDevice camera, int error) {Log.e(TAG,"cameraManager打开摄像头失败");}};try {cameraManager.openCamera(cameraId, deviceCallback, null);} catch (CameraAccessException e) {Log.e(TAG,"cameraManager访问摄像头失败");}3、使⽤CaptureRequest.Builder 指定配置信息和画⾯图⽚的传递CaptureRequest.Builder previewRequestBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);//将预览数据传递previewRequestBuilder.addTarget(imageReader.getSurface());previewRequestBuilder.addTarget(surfaceHolder.getSurface()); // ⾃动对焦previewRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);// 打开闪光灯previewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON_AUTO_FLASH);4、Device创建Session进⾏预览cameraDevice.createCaptureSession(Arrays.asList(surfaceHolder.getSurface(), imageReader.getSurface()), new CameraCaptureSession.StateCallback() { @Overridepublic void onConfigured(@NonNull CameraCaptureSession session) {cameraCaptureSession = session;CaptureRequest captureRequest = previewRequestBuilder.build();try {cameraCaptureSession.setRepeatingRequest(captureRequest,captureCallback,cameraHandler);} catch (CameraAccessException e) {Log.e(TAG,"cameraCaptureSession访问摄像头失败");}}@Overridepublic void onConfigureFailed(@NonNull CameraCaptureSession session) {}},null);在参数中的surfaceHolder是当前画⾯的SurfaceView,imageReader是在下⾯进⾏定义的5、使⽤imageReader对预览的图⽚进⾏操作 final int MAX_PREVIEW_WIDTH = 1920;final int MAX_PREVIEW_HEIGHT = 1080;//imageReader通过将得到的图⽚存放在队列中,再取出来进⾏操作//队列满了就不再放⼊新的图⽚,设置图⽚队列⼤⼩为10imageReader = ImageReader.newInstance(MAX_PREVIEW_WIDTH,MAX_PREVIEW_HEIGHT, ImageFormat.JPEG,10); imageReader.setOnImageAvailableListener(reader -> {//取出最新的图⽚并清除队列⾥的旧图⽚Image image = reader.acquireLatestImage();//todo 对获取的图⽚进⾏操作//将图⽚转换成BitmapByteBuffer buffer = image.getPlanes()[0].getBuffer();byte[] bytes = new byte[buffer.remaining()];buffer.get(bytes);//由缓冲区存⼊字节数组final Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);//释放资源image.close();},cameraHandler);//由handler去执⾏这⾥⾯的代码。

[FAQ09396] [camera Tuning]TSF _ 改善Color Shading的问题 _ 功能的调试和 开启

[FAQ09396] [camera Tuning]TSF _ 改善Color Shading的问题 _ 功能的调试和 开启

FAQ Content[DESCRIPTION]针对7X 和 89 平台上 Color shading 严重的问题,在82之后的chip(MT6582, MT6592,MT6595等) 上导入了TSF 功能。

主要用来改善 Color shading 问题。

[SOLUTION]1:如何进入工程模式。

在拨号界面输入” *#*#3646633#*#* ”(默认密码)。

如果客户有修改进入工程模式输入正确的密码。

进入工程模式。

选择ISO100,Pure Ra w,Capture size 。

如果是 AF 项目,拍摄RawData 时指定 AF 的 Step。

参考如下操作进行:(1)AF 页面选取 Through Focus Dump 选项。

(2) 在 Through Focus Dump 选项中选择子选项 Manual configure。

(3) Start position 和 End position 填入指定的Step (找模组厂确认一下这个项目使用的远景3M 左右的Step 为 A ,近景 10cm 左右的Step为B 。

则指定的 Step 为 C=(B+A)/2 。

或者可以使用 fullScan 自行测试A和B 的数值,再计算出C 的数值。

下面的例子是A为200,B为900,则指定位置为 550 Step 拍摄PureRawData。

) (使用CCT Gen 高色温的 Preview shading 时,请使用MF 方式指定 550Step 做高色温Preview 的Calibration。

)(4) 选择 Start Preview 拍照。

2:提供TSF 调试需要的 RawData 档案。

按照第一步的要求 进入工程模式。

加上毛玻璃,拍摄D65,DNP,CWF,TL84,Al ight 这五个光源下的RawData。

为了排除 A light 的 Banding 影响,需要加上ND Filter。

为了使做出来的shading Cover 度更高,建议同时提供如下这些色温下加上毛玻璃后的PureRawDate。

摄像头接口分类及基础知识

摄像头接口分类及基础知识

摄像头接口分类及基础知识(总17页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除一、Camera 工作原理介绍1.结构2.工作原理外部光线穿过 lens 后,经过 color filter 滤波后照射到 Sensor 面上, Sensor 将从 lens 上传导过来的光线转换为电信号,再通过内部的 AD 转换为数字信号。

如果 Sensor 没有集成 DSP,则通过 DVP 的方式传输到 baseband,此时的数据格式是 RAW DATA。

如果集成了 DSP, RAW DATA 数据经过 AWB、则 color matrix、lens shading、 gamma、 sharpness、 AE 和 de-noise 处理,后输出 YUV 或者 RGB 格式的数据。

最后会由 CPU 送到 framebuffer 中进行显示,这样我们就看到 camera 拍摄到的景象了。

3. YUV 与 YCbCr .一般来说,camera 主要是由 lens 和 sensor IC 两部分组成,其中有的 sensor IC 集成了 DSP,有的没有集成,但也需要外部 DSP 处理。

细分的来讲,camera 设备由下边几部分构成:1) lens(镜头)一般 camera 的镜头结构是有几片透镜组成,分有塑胶透镜(Plastic)和玻璃透镜(Glass) ,通常镜头结构有:1P,2P,1G1P,1G3P,2G2P,4G 等。

2) sensor(图像传感器) Senor 是一种半导体芯片,有两种类型:CCD(Charg e Coupled Device)即电荷耦合器件的缩写和 CMOS(Complementary Metal-Oxid e Semiconductor)互补金属氧化物半导体。

Sensor 将从 lens 上传导过来的光线转换为电信号,再通过内部的 AD 转换为数字信号。

摄像头基础知识介绍

摄像头基础知识介绍

一、摄像头结构和工作原理.拍摄景物通过镜头,将生成的光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理,再被送到电脑中进行处理,最终转换成手机屏幕上能够看到的图像。

数字信号处理芯片DSP(DIGITAL SIGNAL PROCESSING)功能:主要是通过一系列复杂的数学算法运算,对数字图像信号参数进行优化处理,并把处理后的信号通过USB等接口传到PC等设备。

DSP结构框架:1. ISP(image signal processor)(镜像信号处理器)2. JPEG encoder(JPEG图像解码器)3. USB device controller(USB设备控制器)常见的摄像头传感器类型主要有两种,一种是CCD传感器(Chagre Couled Device),即电荷耦合器。

一种是CMOS传感器(Complementary Metal­Oxide Semiconductor)即互补性金属氧化物半导体。

CCD的优势在于成像质量好,但是制造工艺复杂,成本高昂,且耗电高。

在相同分辨率下,CMOS价格比CCD便宜,但图像质量相比CCD来说要低一些。

CMOS影像传感器相对CCD具有耗电低的优势,加上随着工艺技术的进步,CMOS的画质水平也不断地在提高,所以目前市面上的手机摄像头都采用CMOS传感器。

手机摄像头的简单结构滤光片有两大功用: 1.滤除红外线。

滤除对可见光有干扰的红外光,使成像效果更清晰。

2.修整进来的光线。

感光芯片由感光体(CELL)构成,最好的光线是直射进来,但为了怕干扰到邻近感光体,就需要对光线加以修整,因此那片滤光片不是玻璃,而是石英片,利用石英的物理偏光特性,把进来的光线,保留直射部份,反射掉斜射部份,避免去影响旁边的感光点.二、相关参数和名词1、常见图像格式1.1 RGB格式:传统的红绿蓝格式,比如RGB565,RGB888,其16­bit数据格式为5­bit R + 6­bit G + 5­bit B。

UVCUSBVIDEOCLASS协议规范

UVCUSBVIDEOCLASS协议规范

UVCUSBVIDEOCLASS协议规范篇一:嵌入式Linux下Camera编程--V4L2最近有个需求,要在ARM Linux上实现USB Camera 拍照功能。

0. 背景知识:首先要确认的是,Kernel是否支持USB Camera。

因为Linux 下,USB协议除了电气协议和标准,还有很多Class。

这些Class就是为了支持和定义某一类设备接口和交互数据格式。

只要符合这类标准,则不同厂商的USB设备,不需要特定的driver就能在Linux下使用。

例如:USB Input class,则使所有输入设备都可以直接使用。

还有类似Audio Class,Pring Class,Mass Storage Class, video class等。

其中Video Class 就是我们常说的UVC(USB Video Class). 只要USB Camera符合UVC标准。

理论上在2.6 Kernel Linux 就可以正常使用。

网络上有人谈到怎样判断是否UVC Camera设备:#lsusbBus 001 Device 010: ID 046d:0825 Logitech, Inc.#lsusb -d 046d:0825 -v | grep "14 Video"如果出现:bInterfaceClass 14 VideobInterfaceClass 14 VideobInterfaceClass 14 VideobInterfaceClass 14 VideobInterfaceClass 14 VideobInterfaceClass 14 VideobInterfaceClass 14 VideobInterfaceClass 14 VideobInterfaceClass 14 VideobInterfaceClass 14 VideobInterfaceClass 14 VideobInterfaceClass 14 VideobInterfaceClass 14 Video则说明是支持UVC.1. Kernel配置:Device Drivers ---> <*> Multimedia support ---><M>Video For LinuxDevice Drivers ---> <*> Multimedia support ---> [*]Video captureadapters ---> [*]V4L USBdevices ---> <M>USB Video Class (UVC)--- V4L USB devices : 这里还有很多特定厂商的driver.可供选择。

Kinect程序开发

Kinect程序开发

MS SDK v1.0:Kinect for Windows SDK同时提供了native code 和managed code的API供开发者使用,SDK 的更新可以在网站/b/kinectforwindows/处获得;编写基于Kinect的应用程序本质上通编写其他Windows一样,只不过Kinect的SDK提供了一些支持Kinect感应器的特征API而已,其中包括color images, depth images, audio input 和skeletal data;下载安装Kinect for Windows SDK,该SDK中包括:·实现基于Kinect的应用程序的驱动和技术文档·编写managed和unmanaged代码的API参考手册和文档,API在不同的硬件环境下都能较高效的提供多媒体数据流;·展示Kinect功能的样例,其中的sample browser集中管理了这些样例;·将所所提供的样例分解成不同的问题供用户学习解决的How Tos;在read-me中可以找到关于安装SDK的细节提示以及最新的bug反馈;以下是Kinect for Windows SDK能够实现的一些特性示例:·通过骨架追踪系统识别并追踪1-2个视野范围内的活动用户;·通过能获取彩色图像数据流和深度图像数据流的XYZ-depth camera来确定物体到感应器之间的距离;·通过四元麦克风阵列捕获消除了噪声和回声的声音信息或者在捕获声音的同时使用beam finding来确定声源位置;·通过整合了Microsoft Speech recognition API的声音捕获系统进行语音识别;Kinect for Xbox 360和Kinect for Windows有一些特性差别,主要在于前者有专门的性能优化;此外,此SDK并不能用于开发可移植到Xbox 360的游戏,基于Xbox 360 与Windows 平台的较大差异,建议使用XDK软硬件系统来开发Xbox 360应用程序;使用Kinect for Windows SDK开发程序所要求的软硬件环境:操作系统:·Windows 7 or Windows Embedded Standard 7·只能在本地环境中开发运行此SDK支持的程序,因为Kinect的驱动不能安装在虚拟机中;硬件环境:·电脑最低配置要求:·32位(x86)或64位(x64)处理器·双核,2.66GHz或者更快的处理器·一个供Kinect Sensor使用的USB2.0总线端口·2GB内存·支持DirectX 9.0c的显卡·一个Kinect Sensor软件环境:·MS VS2010 Express 或其它VS2010版本·.NET Framework 4(VS 2010集成安装)此外,运行C#语音样例需要如下软件环境要求:·Microsoft Speech Platform - Runtime(Version 11),此运行时环境要求在Kinect运行时安装时被自动安装;·Microsof Speech Platform - Software Development Kit(SDK)(Version 11)下图显示了Kinect Sensor的感知范围,其中的default range对Xbox 360和Kinect for Windows 都适用,而near range仅对后者适用:上图是在NUI_IMAGE_STREAM_FLAG_DISTINCT_OVERFLOW_DEPTH_V ALUES标识在打开的情况下API返回的,当标识关闭时,除了normal range内的值返回正常以外,其余都返回0;另外,在default模式下才可正常追踪人体骨架的20个关节点,在near模式下,无法完整追踪20个关节点。

摄像头模组和CIS_的选择建议

摄像头模组和CIS 的选择建议随着平板电脑,通讯娱乐产品,3G产业和智能手机在2011 的增长,将使得camera module 成为2011年移动通讯业界有可能短缺的物料,尤其是Apple iPhone 系列手机和iPAD 等产品的热销,将使得本来已经缺乏的camera 供应市场,更加严峻。

特别是2010年底的OV sensor 的缺货使得我们的供应存在一度紧张的局面。

通过实地考察和访谈以及一些所见所闻,下面我将从市场,供应等多个方面来提供我个人的一个分析,为2011年camera 的选型和供应提供一个建议。

我们首先来看看2010年的缺货,市场和供应端到底出了什么问题?首先,这次camera sensor 的缺货(主要是OV sensor的缺货)归因于IPHONE 4 的Camera Sensor 使用OV 5650 做为摄像头模组的CIS 器件。

由于5650 sensor 尺寸是1/3.2”的,所以,按照理论计算,如果原8” 的产线产能给到5650的生产,产出将是原来2M 产品线的40%,或者是VGA 产品线的10%。

以每个月500万iPhone 出货计算,需要8” w afer 12K,随着2011 Q1 iPHONE 的预计出货量增长30% 和iPAD2 (将配置500万和VGA双摄像头)的250万出货量,光500万摄像头就需要在8” 上增加wafer 增加10K 左右, 这个增长幅度是非常大的。

其次,由于iPhone 将5M做为标准配置,也使得其它品牌出产的智能手机, 平板电脑普遍采用5M做为摄像头配置。

HTC (G6,G7,G8,G9), Sharp (81xx), 魅族M9,宇龙N900S,联想乐phone ,三星galaxy,nexus S,Google nexus one ,Motorola XT 系列,Milestone, Droid pro, ME 系列,Apple iPhone 4,iPAD 2, RIM Blackberry 9780 等都选择5M像素camera module. 国内中兴,华为,宇龙,魅族,联想也积极推出5M像素摄像头功能的智能手机。

HD2使用技巧

本文由jia7812贡献 doc文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

HTC HD2 使用技巧和各经验汇总 绝对实用!! 使用技巧和各经验汇总,绝对实用 绝对实用!! 1。

 启用隐藏默认游戏: 转到 Windows 目录和拷贝 bubblebreaker.exe 和 solitaire.exe 在 Windows 游戏文件夹\开始菜单。

确保取消隐藏系统文件。

 2。

启用隐藏所有者信息在设置\个人文件夹 去到 HKLM \ ControlPanel \所有者和从 1 改为 0 隐藏,然后重置。

 You can now enter your name you want to register old apps. 现在,您可以输入您的姓名您要注册旧的应用程序。

 3. 启用 NaviPanel 不拥有的车载/导航码头 转 到 Windows 文 件 夹 和 复 制 NaviPanel.exe 作为 Windows 快捷方式\开始菜单文件夹。

 4 . 使用旧的任务管理器 为了能够真正关闭程序使用 X 而不仅仅是'减少'和离开的程序在内存中, 安装 Duttys 宏达任务管理器(附后),重新启动和 X 又回来了。

 此外,在 设定您可以配置的功能。

 http://bbs.htcppc.com/thread-31565-1-1.html 5。

 任务管理器添加到主画面快速链接 复制从 Windows 文件夹中隐藏的 TaskMgr.exe 文件到你的开始菜单/程序文件夹。

 现在它可以放置在您的马尼拉今天的快捷方式, 你可以打开/关闭程序运行轻松。

 6。

 激活隐藏图片模式 通过下列注册表修改,可以激活两种隐藏照片模式: 启动视频分享模式: 注册表:Mobile Device\HKLM\Software\HTC\Camera\P9 将“Enable”设置为“1” 启动GPS 照片模式: Mobile Device\HKLM\Software\HTC\Camera\P10 将“Enable”设置为“1” 7。

关于v4l2驱动的实现

lijierson8访问:积分:等级:排名:目录视图摘要视图订阅142616次1838第8985名50篇49篇原创:转载:camera_callback函数(该函数好像是有关工作队列的?????)。

然后初始化cam ->power_queue队列,初始化cam ->int_lock自旋锁为未上锁。

end init_camera_struct调用platform_device_register注册mxc_v4l2_devices对象,调用platform_driver_register注册 static struct platform_driver mxc_v4l2_driver = { .driver = {.name = "mxc_v4l2", .owner = THIS_MODULE ,.bus = &platform_bus_type , },.probe = NULL , .remove = NULL ,.suspend = mxc_v4l2_suspend ,.resume = mxc_v4l2_resume , .shutdown = NULL , };对象,调用video_register_device (cam ->video_dev , VFL_TYPE_GRABBER , video_nr )注册一个视频设备在/dev /video0下,end camera_initstatic int mxc_v4l_open (struct inode *inode , struct file *file ):先初始化dq_intr_cnt ,dq_timeout_cnt及empty_wq_cnt三个变量(估计与工作队列有关,???),调用mxc_get_video_input函数,其实就是调用cam ->cam_sensor ->get_status (),也就是摄像头提供的函数。

CAMERA MODULE TRAINING

⏹Invested Capital:US$14M in 2012US$21M in 2013Accomplished to issue shares on public since 2008/Dec/29.⏹Employee:105 employees in Taipei’s headquarter.1100 employees in Bai-Chuang China (Kunshan).Product Line:Notebook and Mobile Cam ModuleSurveillance systemGooseneck Display MachineBison at glanceCOPYRIGHT ©2008 WEBMADEPresident Benjamin LaiCEOLeon LinFactory(Bai-Chuang) Group II( Leon)Group I ( Benjamin)Dept I:Consumer ElectronicCCMDept II:Notebook CameraDept III:Surveillance Electronic Factory Director Link HsuDept I:Notebook CameraPad/mart phone CameraDept II:Notebook CameraPad/mart phone CameraOrganization Chart COPYRIGHT ©2008 WEBMADEProduct Roadmapkey partsLEDLDOPCB 板MicrophoneEEPROM/FlashBackend IC(DSP)Microphone CrystalProduct RoadmapProduct Roadmap 、电容、FPC板(Flexible )、连接器(Connector)组成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用camera 实现G-sensor功能经验分享
首先拿到这个新功能,先理解功能定义:此功能是起什么作用的,在什么情况下起作用。
如光传感功能定义如下:通过摄像头感应光线变化,从而实现相应的切换功能,目前软件定
义只在待机界面以及音乐播放器界面起作用;
然后开始设计测试用例,遵循一般原则,有进入就应有退出,有打开也应有关闭;UI测试、
功能测试、异常操作测试、交互测试等。
一.UI测试
进入设置-手机设置-G-Sensor选项,查看菜单,有三项(1.换墙纸2.换铃声3.铃声类型)
检查显示是否正常。
二.功能测试
1、 打开、关闭功能,此项均能单独打开和关闭,铃音、振动和关闭功能都能正常实现。
2、 退出:打开和关闭此功能后按返回键一层一层退出和直接按挂机键退出情况有时不
一样,需多加注意,有时按挂机键直接退出会有重启、死机现象;一层一层退出就不会有异
常。
3、换墙纸功能测试过程:
(1)待机界面换墙纸时各类型铃声响应正常。
(2)换墙纸时灵敏度应较高,开启此功能进入其它菜单反应速度应正常。
(3)换墙纸过程中待机界面有来电、闹钟、信息、待办事项等中断关闭后均能
正常换墙纸。
(4)开启屏保和灭屏亮屏后应正常换墙纸。
(5)开启此功能,进入FM、TV搜台正常退出后换墙纸应正常,无死机、重启
和定屏现象。
(6)设置与G-SENSOR相关菜单功能,无重启、死机现象。(如操作设置菜单
中屏保、时间日期设置和开关机动画等菜单)。
(7)自定义墙纸后待机界面仍能正常切换默认的墙纸。
(8)充电、插入耳机、连接蓝牙耳机时均能正常换墙纸,无死机、重启现象。
(9)飞行模式下,可以正常换墙纸。
(10)非待机界面,换墙纸功能无作用。
(11)背景播放音乐,打开此功能,选择为铃声或者振动后,返回待机界面再进
入主菜单或其它任意菜单,音乐暂停,五六秒后继续播放。(G26)
4、换歌曲功能测试过程:
(1)背景播放音乐,待机界面可以正常切换到下一首。
(2)在音乐播放器界面换歌可以正常切换到下一首。
(3)开启屏保和熄屏亮屏后切歌应正常。
(4)开启此功能,进入FM、TV搜台或相机退出后切歌正常,无死机重启现象。
(5)充电、插入耳机、连接蓝牙耳机时均能正常切歌,无死机重启现象。
(6)换歌时灵敏度应较高,开启此功能菜单反应速度正常。
(7)飞行模式下,可以正常切音乐,墙纸无变化。
(8)其余界面切歌无作用
三.交互测试
1. 背景播放音乐,待机界面应优先切歌,墙纸无变化。
2. 背景播放音乐,关闭音乐后待机界面应能正常换墙纸。
3. 背景播放音乐,再进入FM无死机、重启现象。
4. 背景播放FM,待机界面来电、代办事项和闹钟等中断时无死机、重启现象。
5. 背景播放FM后,再放MP3,待机界面切歌应正常。
6. 待机界面有未接来电和信息时,感光应不能换墙纸。
7. 切歌或换墙纸后,待机界面都能正常上锁。
8. 开启换墙纸和切歌功能后,待机电流测试应正常。
备注:①上锁后不能换墙纸和切歌
②解锁后换墙纸只有铃声或震感墙纸未换到下一张(此问题开发未解决)
③切歌过于灵敏(像G6项目,背景播放音乐时拨号拨一次号码换一首歌,开发没解
决)

相关文档
最新文档