[0012] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0013] 图1为本发明实施例自动聚焦方法流程图,如图1所示,本发明实施例提出的自动聚焦方法具体包括如下步骤:
[0014] 步骤101:根据公式:步长系数= 当前光圈参数/基准光圈参数,查找透镜的当前光圈参数下的步长系数,其中,所述当前光圈参数为所述透镜在当前位置处的光圈参数,所述基准光圈参数为预先设置的光圈参数。
[0015] 具体的,透镜镜头的光学参数会对透镜的聚焦位置产生一定的影响,因而在搜索透镜聚焦位置的过程中,应当考虑透镜镜头的光学参数对搜索步长的影响,通过透镜的光学参数来确定一个步长系数,对搜索步长进行调整,从而快速搜索到正确的聚焦位置。
[0016] 步长系数可以根据透镜的光圈参数与步长系数间的函数关系来查找,具体的,可以根据下列公式来查找:
[0017] 步长系数= 当前光圈参数/基准光圈参数 (1)
[0018] 其中,当前光圈参数为透镜在当前位置处的光圈参数,基准光圈参数为预先设置的光圈参数。基准光圈参数可以根据使用环境来确定,例如,根据最常用环境下的镜头位置和光圈大小来确定。当确定某一个光圈参数为基准光圈参数后,只要知道透镜的当前光圈参数,则根据公式(1)就可以求出透镜的当前光圈参数下的步长系数。
[0019] 需要说明的是,透镜的当前光圈参数可以根据下列公式来求出:
[0020] 当前光圈参数= 焦距/入瞳直径 (2)
[0021] 其中焦距可根据透镜的变焦镜片的位置获取;入瞳直径为孔径光阑对其前面的光学系统所成像的直径,入瞳直径可根据透镜光圈开口的大小获取。
[0022] 步骤102:获取透镜当前步的聚焦值,根据公式:变化率= 当前步的聚焦值/前一次最大聚焦值,计算所述透镜当前步的聚焦值与透镜前一次最大聚焦值的变化率,根据所述变化率的大小获取下一步步长。
[0023] 具体的,透镜当前步的聚焦值可以通过透镜在当前位置处拍摄的图像计算获得,例如,利用清晰度评价函数根据拍摄到的图像内容计算得出透镜当前步的聚焦值,该计算方法为业内公知技术,此处不再赘述。
[0024] 通过下列公式计算透镜当前步的聚焦值与透镜前一次最大聚焦值的变化率:
[0025] 变化率= 当前步的聚焦值/前一次最大聚焦值 (3)
[0026] 其中,前一次最大聚焦值为透镜在相同环境中下,前一次搜索过程中找到聚焦位置时在该位置处获得的聚焦值。因为透镜在相同环境下,聚焦时的聚焦值相差不多,因而可以将镜前一次聚焦时的最大聚焦值作为参考值进行比较。
[0027] 需要说明的是,当本次聚焦为初始化聚焦(首次聚焦),或者本次聚焦于与前一次聚焦为截然不同的环境时,此时摄像机开机时会有一次初始化过程,会采用全局搜索算法进行遍历搜索将所有可能的位置按一个方向搜索一遍。
[0028] 当通过计算得出透镜当前步的聚焦值与透镜上次最大聚焦值的变化率时,则根据该变化率可以获取下一步步长:
[0029] 具体的,当变化率小于等于0.25时,即透镜当前步的聚焦值小于等于0.25倍的该透镜上次最大聚焦值,则在该区域内找到聚焦位置的概率最低,在此区域内可以采用粗调步长进行搜索,则下一步的搜索步长为7-10个电机最小步长(整数个电机最小步长)。当变化率大于0.25时,即透镜当前步的聚焦值大于0.25倍的该透镜上次最大聚焦值,则在该区域内找到聚焦位置的概率较低,在此区域内可以采用中等步长进行搜索,则下一步的搜索步长为3-4个电机最小步长(整数个电机最小步长)。当变化率大于0.25,且透镜当前步的聚焦值与该透镜前一步的聚焦值之差大于0.25倍该透镜前一步的聚焦值时,则在该区域内找到聚焦位置的概率最高,在此区域内可以采用精细步长进行搜索,则下一步的搜索步长为电机最小步长。
[0030] 步骤103:计算所述步长系数与所述下一步步长的乘积,并将所述乘积作为调整步长。
[0031] 具体的,将步骤101中获取的步长系数与步骤102中获取的透镜的下一步步长相乘,并将计算出的乘积作为调整步长。例如,根据步骤101中的步长系数和光圈参数的函数关系可以查出透镜当前光圈参数下的步长系数为2;根据步骤102获取到透镜的下一步步长为3步;则根据步长系数与下一步步长的乘积可计算出调整步长为6步。
[0032] 步骤104:根据所述调整步长移动所述透镜,到达所述透镜的下一步位置。
[0033] 具体的,根据步骤103中得到的调整步长移动透镜到达下一步位置。例如,透镜的当前位置在100步位置处,步骤103中得到的调整步长为6步,则根据调整步长将透镜移动到106步位置处。
[0034] 步骤105:重复从所述查找透镜的当前光圈参数下的步长系数到移动所述透镜到达下一步位置的上述步骤,直到所述透镜的聚焦位置。
[0035] 重复上述从步骤101至步骤104的步骤,计算再下一步的调整步长,将透镜根据调整步长移动到再下一步的位置处,直到找到透镜的聚焦位置。
[0036] 需要说明的是,在聚焦位置处,透镜的聚焦值大于所述透镜的前一步位置处的聚焦值且大于所述透镜的下一步位置处的聚焦值。最后,将透镜移动到聚焦位置处。本发明的自动聚焦方法还可以通过检测透镜的位置,来确定是否将透镜移动到聚焦位置处。
[0037] 需要说明的是,在完成一次搜索的过程中,透镜的步长系数一般不会发生变化,只有当镜头参数发生变化时,才需要重新获取透镜的步长系数。例如,当透镜的焦距或者入瞳直径发生变化时,这时需重新获取透镜的步长系数。
[0038] 图2为本发明实施例中自动聚焦方法的时序图,如图2所示,本发明实施例的自动聚焦方法的具体过程如下:
[0039] 在开始201时刻,首先应当获取透镜的当前光圈参数202,透镜的当前光圈参数202可以根据透镜的焦距及入瞳直径的数值带入公式(2)算出。当计算出透镜的当前光圈参数后可以根据透镜的当前光圈参数与步长系数的关系查找透镜当前光圈参数下的步长系数203,具体的,将计算出的当前光圈参数带入公式(1)可以查找出透镜当前光圈参数下的步长系数。通过计算透镜当前步的聚焦值与透镜上次最大聚焦值的变化率获取透镜的下一步步长,根据步长系数与下一步步长的乘积得到调整步长204。根据调整步长移动透镜到下一步位置处205,并判断此时透镜所在的位置是否为聚焦位置,即判断是否聚焦成功
206,如果聚焦成功,则搜索过程结束207;如果聚焦不成功,则重复步骤204至步骤206继续搜索,直到聚焦成功。
[0040] 当聚焦成功后即完成了一个搜索过程,但是当镜头光圈参数发生变化208时,则需要重新获取透镜光圈参数202进行搜索。
[0041] 本发明实施例的自动聚焦方法,通过透镜的光学特性来获取透镜的步长系数,同时根据当前实际场景来确定透镜当前搜索的步长,将步长系数与当前步长相结合后获取调整步长,根据调整步长进行搜索,本发明实施例的自动聚焦方法同时考虑了透镜镜头的光学特性和实际场景对聚焦位置的影响,根据这个两个因素确定新的搜索步长,从而快速的搜索到聚焦位置。
[0042] 以上实施例是对于本发明自动聚焦方法的,同样,可以利用自动聚焦装置来实现。图3为本发明实施例自动聚焦装置的示意图,如图3所示,本发明实施例自动聚焦装置具体包括:查找单元31、获取单元32、第一计算单元33、移动单元34和循环处理单元35。
[0043] 查找单元31用于根据公式:步长系数= 当前光圈参数/基准光圈参数,查找透镜的当前光圈参数下的步长系数,其中,所述当前光圈参数为所述透镜在当前位置处的光圈参数,所述基准光圈参数为预先设置的光圈参数;获取单元32用于获取透镜当前步的聚焦值,根据公式:变化率= 当前步的聚焦值/前一次最大聚焦值,计算所述透镜当前步的聚焦值与透镜前一次最大聚焦值的变化率,根据所述变化率的大小获取下一步步长;第一计算单元33用于计算所述步长系数与所述下一步步长的乘积,并将所述乘积作为调整步长;移动单元34用于根据所述调整步长移动所述透镜,到达所述透镜的下一步位置;循环处理单元35用于重复从所述查找透镜的当前光圈参数下的步长系数到移动所述透镜到达下一步位置的上述步骤,直到所述透镜的聚焦位置。
[0044] 本发明实施例的自动聚焦装置还包括:第二计算单元36用于通过下列等式计算出所述透镜的当前光圈参数:
[0045] 当前光圈参数= 焦距/入瞳直径。
[0046] 本发明实施例提出的自动聚焦装置,查找单元根据公式步长系数= 当前光圈参数/基准光圈参数,查找透镜的当前光圈参数下的步长系数;获取单元根据获取的透镜当前步的聚焦值,计算所述透镜当前步的聚焦值与透镜上次最大聚焦值的变化率,根据所述变化率获取下一步步长;第一计算单元计算所述步长系数与所述下一步步长的乘积,并将所述乘积作为调整步长;移动单元根据所述调整步长移动所述透镜,到达所述透镜的下一步位置;循环处理单元重复从所述查找透镜的当前光圈参数下的步长系数到移动所述透镜到达下一步位置的上述步骤,直到所述透镜的聚焦位置。本发明实施例的自动聚焦装置同时考虑了透镜的光学特性和实际场景对搜索聚焦位置时的搜索步长影响,根据这两个因素确定搜索步长,从而快速的搜索到聚焦位置。
[0047] 专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0048] 结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0049] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。