一种摄像头在线调试方法

文档序号:6383490阅读:830来源:国知局
专利名称:一种摄像头在线调试方法
技术领域
本发明涉及一种移动终端设备上的摄像头,特别是涉及一种摄像头在线调试方法。
背景技术
目前移动设备上进行摄像头调试主要的的方法是厂商在demo板上用专用工具把效果调试好了把参数导出来,然后把这些参数合入到软件的源代码中,重新编译出可烧录的固件并重新烧录固件,再开机,运行相机应用程序时通过移动设备主芯片把参数通过I2C总线写入摄像头。一般情况下摄像头厂商调试的参数拿到真正需要使用的硬件平台上得到的效果跟demo板上的会有比较大的差异,这是由硬件差异(硬件处理平台,移动设备上增加的玻璃镜片等)造成的。这样的话就必须对一些参数进行微调,传统的方法是修改代码里面的参数,然后再次重新编译出固件,烧录固件后重新开机验证。但是这种方法需要重新编译和烧录固件并重新开机,其效率极低;并且每次只能验证一个参数,不方便对比,从而无法选择出最佳的效果参数。

发明内容
本发明的目的在于克服现有技术的不足,提供一种摄像头在线调试方法,能对摄像头进行在线实时的、人性化的、高效的调试。为了达到上述目的,本发明采用的技术方案是,一种摄像头在线调试方法,所述的摄像头设置于移动终端,包括以下步骤
步骤1、在android移动终端的摄像头底层驱动代码中添加DRIVER_ATTR属性,该属性的store函数将传入的参数写入摄像头,在移动终端开机挂载摄像头驱动的时候,在驱动的probe函数中调用driver_create_file函数在android系统的Iinux文件系统中创建对实现的DRIVER_ATTR属性的文件节点;
步骤2、将PC与移动终端通过USB线连接,并切换移动终端至adb模式,打开移动终端相机,观察测试摄像头图像效果;
步骤3、在PC端选择摄像头的厂商和型号,填入修改的参数,PC端根据不同的厂商和型号把输入的参数转换成符合写入规范的格式,同时将填入的参数保存到历史记录中;
步骤4、PC端调用adb程序,通过USB线将转换后的参数写入移动终端在步骤I中创建的文件节点,移动终端执行DRIVER_ATTR属性的store函数,将参数写入摄像头;
步骤5、观察测试效果是否满意,不满意则在PC端继续选择新的参数写入,若本次修改相对上次修改效果差,则在步骤3保存的历史记录中选择上一次的参数,反复对比修改,直到满意效果;
步骤6、确认效果满意后通过选择将参数保存,在PC上保存成文件,并将该文件内的参数取出合并到移动终端。进一步的,所述的摄像头调试参数包括多组摄像头参数,并通过设置选项选择接入摄像头的参数。进一步的,所述的步骤5具体包括
步骤S501.调用修改摄像头参数函数;
步骤S502.对摄像头参数进行修改;
步骤S503.对修改后的摄像头参数进行测试,得到调试结果;
步骤S504.得到用户满意的测试结果则结束调试,否则继续修改摄像头参数或返回上
一次参数。进一步的,所述的满意效果为用户视觉效果,当达到用户预期效果则为满意效果。进一步的,所述的修改摄像头参数为部分修改。进一步的,所述的移动终端包括手机、电脑、相机。与现有技术相比,本发明的有益效果是对摄像头进行在线实时的、人性化的、高效的调试,并可有效提高摄像头调试效率,有助于挑选出最好的效果参数。


图1为本发明的方法流程图。
具体实施例方式下面结合实施例参照附图进行详细说明,以便对本发明的技术特征及优点进行更深入的诠释。Linux的sysfs属性功能提供了对设备的属性进行操作的用户接口,并会创建一个虚拟文件供用户操作,比如对设备驱动DRIVER_ATTR的虚拟文件进行写或读操作,就可以修改或者读取驱动的相应信息。实际上对驱动的DRIVER_ATTR属性文件进行操作时会调用对应函数,store或show :用户写驱动的属性文件就会调用驱动的store函数,而用户读取属性文件就会调用驱动的show函数。因此我们可以在store函数里面调用设备与摄像头通讯的函数来修改摄像头参数,从而达到调试的目的。而在调试端(主要是PC)通过USB线连接设备,通过谷歌提供的adb工具进入shell来操作上面所述的属性文件。同时配以人性化的图形界面和各家摄像头的参数格式兼容程序,最大程度提高调试效率。本发明的方法流程图如图1所示,一种摄像头在线调试方法,所述的摄像头设置于移动终端,包括以下步骤
步骤1、在android移动终端的摄像头底层驱动代码中添加DRIVER_ATTR属性,该属性的store函数将传入的参数写入摄像头,在移动终端开机挂载摄像头驱动的时候,在驱动的probe函数中调用driver_create_file函数在android系统的Iinux文件系统中创建对实现的DRIVER_ATTR属性的文件节点(调用了这个函数(以DRIVER_ATTR为函数参数)后,系统中就会存在相应的文件节点);其中DRIVER_ATTR为Linux内核的一个宏,用于定义一个驱动的属性结构体;store为驱动属性结构体的一个成员,用于向驱动写入参数;probe为Linux驱动的一个结构体成员,一般系统启动时在系统中找到相应设备时会调用这个成员指向的函数;
driver_create_fiIe函数用于内核中在Linux的虚拟文件系统中创建一个跟驱动相关的文件节点,访问这个文件时会调用该函数的参数所指定的函数;adb的全称为AndroidDebug Bridge, Android上的一个调试工具,在Windows, Linux, Mac OS X上均可用,使用这个工具可以访问Android系统设备;
步骤2、将PC与移动终端通过USB线连接,并切换移动终端至adb模式,打开移动终端相机,观察测试摄像头图像效果;
步骤3、在PC端选择摄像头的厂商和型号,填入修改的参数,PC端根据不同的厂商和型号把输入的参数转换成符合写入规范的格式,同时将填入的参数保存到历史记录中;
步骤4、PC端调用adb程序,通过USB线将转换后的参数写入移动终端在步骤I中创建的文件节点,移动终端执行DRIVER_ATTR属性的store函数,将参数写入摄像头;
步骤5、观察测试效果是否满意,不满意则在PC端继续选择新的参数写入,若本次修改相对上次修改效果差,则在步骤3保存的历史记录中选择上一次的参数,反复对比修改,直到满意效果;
步骤6、确认效果满意后通过选择将参数保存,在PC上保存成文件,并将该文件内的参数取出合并到移动终端。进一步的,所述的摄像头调试参数包括多组摄像头参数,并通过设置选项选择接入摄像头的参数。进一步的,所述的步骤5具体包括
步骤S501.调用修改摄像头参数函数;
步骤S502.对摄像头参数进行修改;
步骤S503.对修改后的摄像头参数进行测试,得到调试结果;
步骤S504.得到用户满意的测试结果则结束调试,否则继续修改摄像头参数或返回上
一次参数。进一步的,所述的满意效果为用户视觉效果,当达到用户预期效果则为满意效果。此处的效果无统一标准,为用户肉眼观测。进一步的,所述的修改摄像头参数为部分修改,部分修改为微调。进一步的,所述的移动终端包括手机、电脑、相机。在摄像头驱动代码文件里面定义一个修改驱动的DRIVER_ATTR属性,如staticDRIVER_ATTR(camera_debug, 0664, para_show, para_store);然后在 driver 的 probe函数中通过Linux的driver_create_file函数传入camera_debug属性以创建属性文件。para_show函数可以用于检查参数的正确性等用途,暂不涉及。在para_store函数中将传入的固定格式的参数数据转换成数字数组,然后调用设备与摄像头的通讯程序将参数写入摄像头;
参数写入会立即生效,从而改变摄像头的效果,当对当前效果不满意时可以通过修改相应参数马上观察新的效果,并且可以返回上一次参数,反复对比,得出最好的效果。在PC端将最终参数导出,一次性合入到固件中。本方法不是专门需要PC端装有Iinux系统,windows, linux,Mac OS等被androidadb支持的PC端都可以使用;PC端不需要读取当前摄像头的参数,因为手机进入相机时会自己读取本来有的参数写入摄像头,本方法需要的只是将需要调节的参数通过PC端写入;本方法不将得到的最终参数保存到移动终端内,而是保存在PC端;
摄像头厂商会给一个效果调试得差不多的参数给我们,我们把摄像头厂商给的参数按照可以通过移动终端CPU写入摄像头的格式合入到代码里面去,然后我们会编译代码生成一个固件,烧录到移动终端里面,移动终端开机后通过调用相机应用程序打开摄像头,这个过程中手机CPU就会将参数写入到摄像头。如果看到效果不满意,就需要调试传统修改方法为我们就只好重新修改代码里面的相应参数,然后再重新编译生成一个固件,烧录到移动终端里,开机重新验证,反反复复。编译,烧录,开机等,都是耗时的过程。而本发明修改方法只需要通过USB线将移动终端连接到电脑,在电脑上直接修改相应的参数就可以使移动终端上的参数发生变化,从而可以立马看到参数改变后的效果,不满意后立马修改参数,直到找出合适的参数。本发明做了如下改进
a.PC跟电脑的连接。本方法使用android的adb连接,PC通过adb可以访问移动终端的文件系统,通过写移动终端的文件系统中的文件就能把参数传给移动终端。b. PC端修改的参数最后是需要写入到摄像头才能生效的。本方法在移动终端底层程序中实现一个Iinux中的DRIVER_ATTR属性,这样在移动终端虚拟文件系统中就会创建相应的属性文件,而本方法的RIVER_ATTR属性实现中包含了将传入文件系统的参数写进摄像头的操作,也就是说PC通过adb把参数写到移动终端文件系统中的属性文件里面,移动终端系统就会将参数写到摄像头中去。c.从PC给移动终端的参数需要遵从一定的规范才能写入到摄像头,而且不同厂商的摄像头写入参数的格式也不一样。本方法在PC端通过选择厂商型号,在PC端将输入的格式转换成符合写入摄像头规范的格式,再通过adb写入移动终端中。d.调试到满意效果之后参数保存问题。由于本方法的作用是对摄像头效果进行微调,所以最后只需要修改一部分的参数即可,所以如果将结果参数保存到移动终端里的话需要涉及到替换原有参数的问题,实现上难度较大,所以不打算保存到移动终端,本方法采用在PC端可以通过把最后的参数保存到PC文件中,这样将保存的参数手工合入到代码中即可,这已经很大提高了效率。e.不同厂商参数写入方法格式可能不同。比如有些摄像头需要在修改某一参数之前要先对摄像头写入某个标志,写完参数后还要写入某个标志以使参数生效,本方法在PC端通过设置选项选择厂商型号,以自动转换成符合的格式。以上内容是结合具体的优选方式对本发明所作的进一步详细说明,不应认定本发明的具体实施只局限于以上说明。对于本技术领域的技术人员而言,在不脱离本发明构思的前提下,还可以作出若干简单推演或替换,均应视为由本发明所提交的权利要求确定的保护范围之内。
权利要求
1.一种摄像头在线调试方法,所述的摄像头设置于移动终端,包括以下步骤步骤1、在android移动终端的摄像头底层驱动代码中添加DRIVER_ATTR属性,该属性的store函数将传入的参数写入摄像头,在移动终端开机挂载摄像头驱动的时候,在驱动的probe函数中调用driver_create_file函数在android系统的Iinux文件系统中创建对实现的DRIVER_ATTR属性的文件节点;步骤2、将PC与移动终端通过USB线连接,并切换移动终端至adb模式,打开移动终端相机,观察测试摄像头图像效果;步骤3、在PC端选择摄像头的厂商和型号,填入修改的参数,PC端根据不同的厂商和型号把输入的参数转换成符合写入规范的格式,同时将填入的参数保存到历史记录中;步骤4、PC端调用adb程序,通过USB线将转换后的参数写入移动终端在步骤I中创建的文件节点,移动终端执行DRIVER_ATTR属性的store函数,将参数写入摄像头;步骤5、观察测试效果是否满意,不满意则在PC端继续选择新的参数写入,若本次修改相对上次修改效果差,则在步骤3保存的历史记录中选择上一次的参数,反复对比修改,直到满意效果;步骤6、确认效果满意后通过选择将参数保存,在PC上保存成文件,并将该文件内的参数取出合并到移动终端。
2.根据权利要求1所述的摄像头在线调试方法,其特征在于所述的摄像头调试参数包括多组摄像头参数,并通过设置选项选择接入摄像头的参数。
3.根据权利要求2所述的摄像头在线调试方法,其特征在于,所述的步骤5具体包括:步骤S501.调用修改摄像头参数函数;步骤S502.对摄像头参数进行修改;步骤S503.对修改后的摄像头参数进行测试,得到调试结果;步骤S504.得到用户满意的测试结果则结束调试,否则继续修改摄像头参数或返回上一次参数。
4.根据权利要求3所述的摄像头在线调试方法,其特征在于所述的满意效果为用户视觉效果,当达到用户预期效果则为满意效果。
5.根据权利要求4所述的摄像头在线调试方法,其特征在于所述的修改摄像头参数为部分修改。
6.根据权利要求1-5所述的摄像头在线调试方法,其特征在于所述的移动终端包括手机、电脑、相机。
全文摘要
本发明公开了一种摄像头在线调试方法,所述的摄像头设置于移动终端,所述方法包括以下步骤在android移动终端的摄像头底层驱动代码中添加DRIVER_ATTR属性,创建文件节点;将PC与移动终端通过USB线连接,并切换移动终端至adb模式,打开移动终端相机,观察测试摄像头图像效果;在PC端选择摄像头的厂商和型号,填入修改的参数;PC端调用adb程序,通过USB线将转换后的参数写入移动终端在步骤1中创建的文件节点,移动终端执行DRIVER_ATTR属性的store函数,将参数写入摄像头;反复对比修改,直到满意效果;将参数进行保存。本发明对摄像头进行在线实时的、人性化的、高效的调试,并可有效提高android系统的摄像头调试效率,有助于挑选出最好的效果参数。
文档编号G06F11/36GK103049375SQ20121052225
公开日2013年4月17日 申请日期2012年12月7日 优先权日2012年12月7日
发明者曾元清, 刘金水 申请人:广东欧珀移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1