一种相机丢帧及重复帧检测装置及方法转让专利

申请号 : CN202010110127.4

文献号 : CN111405272B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王华伟边河冯佳方尧

申请人 : 中国科学院西安光学精密机械研究所

摘要 :

本发明涉及一种相机丢帧及重复帧检测装置及方法。本发明利用数码管作为基准目标,通过控制数码管显示数字的变化从而反映相机拍摄过程是否出现丢帧或重复帧的过程,利用一个同步控制器控制相机的曝光时刻和数码管显示数字同步,利用对采集的图像中的数字进行提取,对提取的数字进行判断,根据数字是否连续可自动判断出相机成像过程中是否有丢帧或者输出重复帧,使得用户能够精确检测出相机每秒的实际帧数,也可以用于相机开发过程中进行相机性能验证。

权利要求 :

1.一种相机丢帧及重复帧检测方法,其特征在于:包括以下步骤:步骤1:设置相机为外同步工作模式;

步骤2:计算机通过其内部运行的同步时序配置程序模块,依据相机的运行参数来配置同步时序发生器的工作参数,同步时序发生器的工作参数包括tdelay、texp、tidle和单次检测产生同步脉冲的个数;

其中:tdelay为同步控制信号上升沿与相机实际曝光时序的延时时长;texp为同步控制信号实际的曝光时长,tidle为同步控制信号的帧空闲时间;

步骤3:启动相机的图像采集与存储程序模块,使其进入采集与存储准备状态;

步骤4:启动同步时序发生器开始向相机和数码管驱动器发送同步控制信号,数码管驱动器控制数码管开始显示连续数字,相机开始拍摄数码管上显示的数字图像;

步骤5:同步控制信号发送完毕;

步骤6:等待图像存储完毕后关闭相机的图像采集与存储程序模块,启动计算机的图像判读程序模块,对采集的数字字符图像进行判读;

具体步骤为:

步骤6.1:图像判读程序模块进行初始化:记前一帧数字为M,当前帧数字为N,正确帧计数为P,重复帧计数记为Q,丢帧计数为R,并记初始时刻M、N、P、Q、R全部清零;

步骤6.2:按顺序读入一幅数字图像,识别数字图像中的数字;

如果M≠连续数字的最大值,计算N-M是否为1,如果是,则P=P+1,进行步骤6.5;如果不是,进行步骤6.3;

如果M=连续数字的最大值,计算N是否为0,如果是,则P=P+1,进行步骤6.5;如果不是,进行步骤6.3;

步骤6.3:判断N-M是否等于0,如果是,则Q=Q+1;如果不是,进行步骤6.4;

步骤6.4:如果M≠连续数字的最大值,则R=R+(N-M-1),如果M=连续数字的最大值,则R=R+N;

步骤6.5:判断当前判读的数字图像是否为最后一幅,如果是,输出判读结果,如果不是,返回步骤6.2,直至所有数字图像判读完成。

2.根据权利要求1所述的相机丢帧及重复帧检测方法,其特征在于:所述数码管为四个。

3.根据权利要求1所述的相机丢帧及重复帧检测方法,其特征在于:所述数码管控制信号为TTL信号或者CMOS信号。

4.根据权利要求1所述的相机丢帧及重复帧检测方法,其特征在于:所述数码管驱动器采用的电流驱动芯片型号为ULN2003A或74HC245。

说明书 :

一种相机丢帧及重复帧检测装置及方法

技术领域

[0001] 本发明属于光学检测领域,具体涉及一种相机丢帧及重复帧检测装置及方法,用于检测高速相机高速成像时是否丢帧以及是否输出重复帧,也同样适用于常速相机的丢帧
以及重复帧检测。

背景技术

[0002] 由于图像具有直观、形象等特点,常常用相机对一些过程进行观察和测量。高速成像是利用高速成像、慢速回放的特点帮助人们认识一些快速变化的过程,以及对相关指标
进行测量。随着技术的发展,高速成像在国防建设、工业生产、科研等领域得到了越来越广
泛的应用,如火箭发射时的姿态测量、汽车碰撞实验的安全性检测等。
[0003] 在高速成像中,由于拍摄的为高速的变化过程,每一帧图像都很关键,每一帧图像都很可能有新的发现,丢一帧图像或者重复输出一帧都可能对检测的结果或者测量的数据
产生影响,因此确保高速相机拍摄过程中不丢帧以及不输出重复帧很重要。然而,受限于技
术手段,用户采购到高速相机时,相机每秒输出的帧数只能以说明书的指标为准。另外,高
速相机设计者在相机设计过程中由于缺乏简单有效的验证手段,只能依靠设计和仿真,这
样很有可能有些设计问题不能及时发现,影响用户使用。

发明内容

[0004] 本发明的目的是根据高速相机丢帧及输出重复帧的检测需求,设计了一种可以对相机丢帧以及输出重复帧检测的装置及方法,可用于相机用户对采购到的相机每秒实际帧
数进行检测,也可以用于相机开发过程中进行相机性能验证,并且,本发明提供的装置和方
法同样也适用于常速相机。
[0005] 本发明的基本原理是:
[0006] 本发明利用数码管作为基准目标,通过控制数码管显示数字的变化从而反映相机拍摄过程是否出现丢帧或重复帧的过程,利用一个同步控制器控制相机的曝光时刻和数码
管显示数字同步,利用对采集的图像中的数字进行提取,对提取的数字进行判断,根据其是
否连续可自动判断出相机成像过程中是否有丢帧或者输出重复帧。
[0007] 本发明的具体技术方案:
[0008] 本发明提供了一种相机丢帧及重复帧检测装置,包括计算机、同步时序发生器、数码管驱动器以及数码管;
[0009] 计算机内部运行有图像判读程序模块以及同步时序配置程序模块;
[0010] 计算机通过同步时序配置程序模块控制同步时序发生器,计算机通过图像判读程序模块接收待测相机拍摄的输出图像是否丢帧或出现重复帧;
[0011] 同步时序发生器分别与待测相机和数码管驱动器电连接,用于控制两者同步开始工作;
[0012] 数码管驱动器用于将同步时序发生器产生的数码管控制信号转换为带有大电流驱动能力的驱动信号,从而控制数码管输出数字,并由待测相机拍摄数字图像;
[0013] 数码管采用七段数码管,七段数码管可以显示0-9的10个数字。
[0014] 进一步地,为了使得判读结果准确可靠,同时避免不必要的浪费上述数码管为四个。
[0015] 进一步地,上述数码管控制信号为TTL信号或者CMOS信号。
[0016] 进一步地,上述数码管驱动器采用的电流驱动芯片型号为ULN2003A或74HC245。
[0017] 本发明还提供了一种相机丢帧及重复帧检测方法,包括以下步骤:
[0018] 步骤1:设置相机为外同步工作模式;
[0019] 步骤2:计算机通过其内部运行的同步时序配置程序模块,依据相机的运行参数来配置同步时序发生器的工作参数,同步时序发生器的工作参数包括tdelay、texp、tidle和单次
检测产生同步脉冲的个数;
[0020] 其中:tdelay为同步控制信号上升沿与相机实际曝光时序的延时时长;texp为同步控制信号实际的曝光时长,tidle为同步控制信号的帧空闲时间;
[0021] 步骤3:启动相机的图像采集与存储程序模块,使其进入采集与存储准备状态;
[0022] 步骤4:启动同步时序发生器开始向相机和数码管驱动器发送同步控制信号,数码管驱动器控制数码管开始显示连续数字,相机开始拍摄数码管上显示的数字图像;
[0023] 步骤5:同步控制信号发送完毕;
[0024] 步骤6:等待图像存储完毕后关闭相机的图像采集与存储程序模块,启动计算机的图像判读程序模块,对采集的数字字符图像进行判读;
[0025] 具体步骤为:
[0026] 步骤6.1:图像判读程序模块进行初始化:记前一帧数字为M,当前帧数字为N,正确帧计数为P,重复帧计数为Q,丢帧计数为R,并在初始时刻M、N、P、Q、R全部清零;
[0027] 步骤6.2:按顺序读入一幅数字图像,识别数字图像中的数字;
[0028] 如果M≠连续数字的最大值,计算N-M是否为1,如果是,则P=P+1,进行步骤6.5;如果不是,进行步骤6.3;
[0029] 如果M=连续数字的最大值,计算N是否为0,如果是,则P=P+1;,进行步骤6.5;如果不是,进行步骤6.3;
[0030] 步骤6.3:判断N-M是否等于0,如果是,则Q=Q+1;如果不是,进行步骤6.4;
[0031] 步骤6.4:如果M≠连续数字的最大值,则R=R+(N-M-1),如果M=连续数字的最大值,则R=R+N;
[0032] 步骤6.5:判断当前判读的数字图像是否为最后一幅,如果是,输出判读结果,如果不是,返回步骤6.2,直至所有数字图像判读完成。
[0033] 本发明的有益效果:
[0034] 本发明可用于相机的用户对采购到的相机每秒实际帧数进行检测,也可以用于相机开发者在开发过程中对相机性能进行验证,该装置和方法同样也适用于常速相机丢帧和
重复帧检测。本发明采用较为简单的硬件平台实现了相机丢帧和重复帧的检测,具有成本
低、使用简单、方便的优点。

附图说明

[0035] 图1为检测装置的组成关系示意图。
[0036] 图2为同步信号时序关系图。
[0037] 图3为检测方法的流程图。
[0038] 图4为判读过程的流程图。

具体实施方式

[0039] 下面结合附图和具体实施方式对本发明作进一步详尽的介绍。
[0040] 本发明所提供的相机丢帧及重复帧检测装置,具体实施结构如图1所示,包括计算机、同步时序发生器、数码管驱动器以及数码管,该装置可用于检测高速相机高速成像时是
否丢帧以及是否输出重复帧,也同样适用于常速相机的丢帧以及重复帧检测。
[0041] 计算机内部运行有图像判读程序模块以及同步时序配置程序模块;
[0042] 计算机通过同步时序配置程序模块控制同步时序发生器,计算机通过图像判读程序模块接收待测相机拍摄的输出图像是否丢帧或出现重复帧;
[0043] 同步时序发生器与待测相机和数码管驱动器电连接,用于控制两者同步开始工作;
[0044] 数码管驱动器用于将同步时序发生器产生的数码管控制信号转换为带有大电流驱动能力的驱动信号,从而控制数码管输出数字,并由待测相机拍摄数字图像,需要说明的
一点是:数码管用于模拟基准目标,本实施例采用四个七段数码管,每个七段数码管可以显
示0-9的10个数字,当然,七段数码管的个数可根据实际需要而定。
[0045] 其中,同步时序发生器用于产生同步时序信号,如图2所示,包括相机同步控制信号和数码管控制信号。相机同步控制信号发送给待测相机,用于控制相机的起始曝光时刻、
曝光时长和帧频,其中tdelay为同步控制信号上升沿与相机实际曝光时刻的延时时长,该时
长由相机设计者给出,texp为同步控制信号实际的曝光时长,tidle为同步控制信号的帧空闲
时间,帧频为: 。数码管控制信号用于控制四
[0046] 个七段数码管的同步显示以及数字变化;
[0047] 其中,每个七段数码管需要7个控制信号,四个七段数码管共需要28个控制信号,这28个控制信号控制四个七段数码管显示的起始时刻、结束时刻以及显示的数字。起始时
刻与结束时刻与相机的真正曝光时刻同步,显示的数字从0000-9999-0000-循环显示;
[0048] 其中,数码管驱动器用于将同步时序发生器产生的数码管控制信号(TTL或者CMOS信号)转换为带有大电流驱动能力的驱动信号,可采用大电流驱动芯片实现,如ULN2003A、
74HC245等。
[0049] 同步时序配置程序模块用于配置同步时序发生器产生驱动信号的工作参数,可以根据不同相机的工作参数进行灵活配置,当对不同的相机进行检测时,只需配置参数即可,
无需再改动同步时序发生器的嵌入式软件。同步时序发生器的工作参数包括tdelay、texp、
tidle和单次检测产生同步脉冲的个数。
[0050] 相机图像采集与存储程序模块运行于计算机上,用于对相机拍摄到的图像进行采集并存储在计算机上,图像采集与存储程序模块一般为相机厂家提供的配套程序模块。
[0051] 图像判断程序模块用于对一次检测相机拍摄的图像进行逐帧判读,从每一帧图像中提取出拍摄的数字,并根据数字是否连续以及数字是否重复判断高速相机拍摄时是否存
在丢帧或者重复输出帧。
[0052] 基于上述对检测装置及装置中各组成的功能描述,现对采用该装置进行检测的方法进行描述,具体实施流程如图3所示:
[0053] 步骤1:将相机和检测装置摆放在一个平台上,为了后续图像判断程序模块易于提取图像中的数字,最好在暗室中测试。摆放位置要求待测相机的光轴与数码管显示面大致
在一条直线上,以保证数码管的图像刚好在图像的中心,另外测试时相机尽可能用大光圈
镜头,保证短曝光时间时成像效果良好;
[0054] 步骤2:正确连接相机和检测装置,将相机的同步输入口和同步时序发生器的相机同步信号输入口进行连接,相机的图像输出口和安装有图像采集与存储程序模块的计算机
连接;
[0055] 步骤3:将相机和检测装置上电;
[0056] 步骤4:通过相机工作参数设置软件设置相机为外同步工作模式;
[0057] 步骤5:计算机通过其内部运行的同步时序配置程序模块,依据相机的运行参数来配置同步时序发生器的工作参数,同步时序发生器的工作参数包括tdelay、texp、tidle和单次
检测产生同步脉冲的个数;
[0058] 其中:tdelay为同步控制信号上升沿与相机实际曝光时序的延时时长;texp为同步控制信号实际的曝光时长,tidle为同步控制信号的帧空闲时间;
[0059] 步骤6:启动相机的图像采集与存储程序模块,使其进入采集与存储准备状态;
[0060] 步骤7:启动同步时序发生器开始向相机和数码管驱动器发送同步控制信号,数码管驱动器控制数码管开始显示数字,相机开始拍摄数码管上显示的数字图像;
[0061] 步骤8:同步控制信号发送完毕;
[0062] 步骤9:等待图像存储完毕后关闭相机的图像采集与存储程序模块,启动计算机的图像判读程序模块,对采集的数字字符图像进行判读,如图4所示,具体步骤为:
[0063] a、图像判读程序模块进行初始化,前一帧数字记为M,当前帧数字记为N,正确帧计数记为P,重复帧计数记为Q,丢帧计数记为R,M、N、P、Q、R全部清零;
[0064] b、按顺序读入一幅图像,进行第c步;
[0065] c、识别图像中四位数字,进行第d步;
[0066] d、如果M≠9999,计算N-M是否为1,如果是,进行第e),如果不是,进行第f步。如果M=9999,计算N是否为0,如果是,进行第e,如果不是,进行第f步;
[0067] e、P=P+1,进行第i;
[0068] f、判断N-M是否等于0,如果是,进行第g步,如果不是,进行第h步;
[0069] g、Q=Q+1;
[0070] h、如果M≠9999,R=R+(N-M-1),如果M=9999,R=R+N;
[0071] i、判断当前判读的图像是否为最后一幅图像,如果是,进行第j步,如果不是,进行第b步;
[0072] j、输出判读结果,检测完成。