CN104038668B - 一种全景视频显示方法及系统 - Google Patents
一种全景视频显示方法及系统 Download PDFInfo
- Publication number
- CN104038668B CN104038668B CN201410305477.0A CN201410305477A CN104038668B CN 104038668 B CN104038668 B CN 104038668B CN 201410305477 A CN201410305477 A CN 201410305477A CN 104038668 B CN104038668 B CN 104038668B
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- mrow
- vector
- displacement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Studio Devices (AREA)
Abstract
本发明适用于图像拼接领域,提供了一种全景视频显示方法及系统,所述方法包括:终端采集摄像机阵列中各个摄像机的视频帧;终端对采集的视频帧进行预处理,所述预处理包括计算视频帧之间的位移,基于所计算的位移确定全景图像的周长;全景生成服务器基于所述全景图像的周长拼接并显示终端预处理后的视频帧。本发明实施例能够有效提高了全景生成服务器的拼接效率。
Description
技术领域
本发明属于图像拼接领域,尤其涉及一种全景视频显示方法及系统。
背景技术
在监控行业中,CIF格式的图像以存储量较低,价格相对低廉,图像质量较好的特点成为主流分辨率,但其分辨率为352*288,图像质量并不能满足高清晰的要求。在一些高端视频监控领域,如国家安全机关、信息分析中心等,需要的高清晰图像画面,这些高清晰图像画面目前一般采用Full D1或D1(702*576)进行视频采集,其中,Full D1的分辨率为720*576,D1的分辨率为702*576。
目前,在全景视频显示方法中,若以分辨率较低的CIF进行视频采集,则系统仍需对视频图像进行大量处理,给全景生成服务器造成很大的运算负荷,并且随着摄像机阵列中摄像机数目的增多而不断增大,进而满足不了全景视场实时更新的要求。若采用Full D1或D1进行视频采集,则数据量将更大,给全景生成服务器造成的运算负荷也更大,根本不可能满足全景视场实时性的要求。
发明内容
本发明实施例提供了一种全景视频显示方法,旨在解决现有方法使得全景生成服务器的负荷过大,拼接效率过低的问题。
本发明实施例是这样实现的,一种全景视频显示方法,所述方法包括下述步骤:
终端采集摄像机阵列中各个摄像机的视频帧;
终端对采集的视频帧进行预处理,所述预处理包括计算视频帧之间的位移,基于所计算的位移确定全景图像的周长;
全景生成服务器基于所述全景图像的周长拼接并显示终端预处理后的视频帧。
本发明实施例的另一目的在于提供一种全景视频显示系统,所述系统包括终端和全景生成服务器;
所述终端包括视频帧采集单元,用于采集摄像机阵列中各个摄像机的视频帧;
所述终端包括处理单元,用于对采集的视频帧进行预处理,所述预处理包括计算视频帧之间的位移,基于所计算的位移确定全景图像的周长;
所述全景生成服务器用于基于所述全景图像的周长拼接并显示终端预处理后的视频帧。
在本发明实施例中,由于无需全景生成服务器处理海量的视频数据,因此减少了该全景生成服务器的负荷,从而有效提高了全景生成服务器的拼接效率,加快全景图像的显示。
附图说明
图1是本发明第一实施例提供的一种全景视频显示方法的流程图;
图2a是本发明第二实施例提供的PC机1的全景生成软件的窗口画面的示意图;
图2b是本发明第二实施例提供的PC机2的全景生成软件的窗口画面的示意图;
图2c是本发明第二实施例提供的PC机3的全景生成软件的窗口画面的示意图;
图3是本发明第二实施例提供的全景生成服务器接收3台PC机传输的一帧图像后得到的画面示意图;
图4是本发明第二实施例提供的全景生成服务器拼接3台PC机传输的预处理后的视频图像得到的画面示意图;
图5是本发明第三实施例提供的一种全景视频显示系统的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,终端采集摄像机阵列的视频帧进行预处理,包括确定相邻两路摄像机的视频帧之间的位移、全景图像的周长等预处理,再将预处理得到的结果发送给全景生成服务器,以使该全景生成服务器根据预处理得到的位移、周长等拼接视频帧,并呈现拼接后的视频帧。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的一种全景视频显示方法的流程图,详述如下:
步骤S11,终端采集摄像机阵列中各个摄像机的视频帧。
该步骤中,摄像机阵列存在多个摄像机,任意位置相邻的两个摄像机拍摄的视频帧中存在有重叠的视频数据。
步骤S12,终端对采集的视频帧进行预处理,所述预处理包括计算视频帧之间的位移,基于所计算的位移确定全景图像的周长。
该步骤中,终端计算视频帧之间的位移是指,计算具有重叠视频数据的两个摄像机拍摄的视频帧中重叠视频数据的位移,这两个视频帧的采集时间是相同的。例如,假设摄像机1和摄像机2位置相邻,摄像机1在t时间拍摄的视频帧中包含物体Q的视频数据,摄像机2在t时间拍摄的视频帧中也包含有Q的视频数据,则该步骤中,计算摄像机1拍摄的视频帧与摄像机2拍摄的视频帧之间的位移是指,计算物体Q在摄像机1和摄像机2在t时间拍摄的视频帧之间的位移。
其中,计算视频帧之间的位移的步骤具体包括:
终端在一路摄像机中选取连续三个视频帧I1、I2、I3,在另一路摄像机中选取连续三个视频帧i1、i2、i3,所述I1、I2、I3的采集时间分别和所述i1、i2、i3的采集时间相同,且两路摄像机在摄像机阵列中的位置相邻,对选取的视频帧执行以下操作:
步骤A1、计算I1和i1的梯度信息,所述梯度信息包括水平梯度向量和垂直梯度向量。该步骤中,计算一个视频帧的梯度信息可通过下式确定:其中,是指图像f(x,y)在位置(x,y)的梯度信息,垂直梯度向量可通过下式确定,即在y轴上的投影。
步骤A2、根据计算的I1和i1的垂直梯度向量确定所述I1与所述i1之间的位移,假设为d1。具体地,通过以下公式确定分处于相邻两路摄像机中的两个视频帧之间的位移,所述两个视频帧的采集时间相同:
其中,ρ(m)为两个视频帧之间的位移,m根据经验设定,例如,可取值为|P1-P2|,P1为一个视频帧的垂直梯度向量,P2为另一个视频帧的垂直梯度向量,L为P1和P2中垂直梯度向量的长度较小者,l1为P1的垂直梯度向量的长度,l2为P2的垂直梯度向量的长度。
步骤A3、计算I2和i2的梯度信息,所述梯度信息包括水平梯度向量和垂直梯度向量。其中,梯度信息的计算方式与步骤A1的相同,此处不再赘述。
步骤A4、根据计算的I2和i2的垂直梯度向量确定所述I2与所述i2之间的位移,假设为d2。其中,计算位移的方式与步骤A2的相同,此处不再赘述。
步骤A5、计算I3和i3的梯度信息,所述梯度信息包括水平梯度向量和垂直梯度向量。
步骤A6、根据计算的I3和i3的垂直梯度向量确定所述I3与所述和i3之间的位移,假设为d3。
步骤A7、判断d1是否等于d2,d2是否等于d3,并在d1等于d2,且d2等于d3时,判定所述相邻两路摄像机拍摄的视频帧之间的位移为d1。该步骤中,(1)在d1不等于d2,且d2等于d3时,重新选取I3的下一个视频帧,以及选取i3的下一个视频帧,并计算I3和i3之间的位移,假设为d4,则判断d4是否等于d2,若相等,则判定所述相邻两路摄像机拍摄的视频帧之间的位移为d2。(2)在d1等于d2,且d2不等于d3时,操作步骤与d1不等于d2,且d2等于d3时的情况相似,此处不再赘述。(3)在d1不等于d2,且d2不等于d3时,重新选取I3的下一个视频帧,以及选取i3的下一个视频帧,并计算I3和i3之间的位移,假设为d4,则判断d4是否等于d1,若相等,则再选取I3的下一个视频帧的下一个视频帧,以及选取i3的下一个视频帧的下一个视频帧进行计算,若不等,则判断d4是否等于d2,后续操作与判断d4是否等于d1的相似,此处不再赘述。
优选地,所述基于所计算的位移确定全景图像的周长具体为:
步骤B1、终端对摄像机阵列的所有相邻两路摄像机执行以下操作:根据确定的分处相邻两路摄像机中的两个视频帧之间的位移确定所述两个视频帧的最佳匹配位置。在确定的最佳匹配位置上拼接所述两个视频帧,得到拼接的全景图像。例如,假设分处相邻两路摄像机中的两个视频帧之间的位移为ρ(m),则该分处相邻两路摄像机中的两个视频帧的最佳的匹配位置为x0=arg max(ρ(m)),其中,x0表示最佳的匹配位置。
步骤B2、终端计算拼接的全景图像的垂直梯度向量直方图。该步骤中,首先确定拼接的全景图像的垂直梯度向量,并根据该拼接的全景图像的垂直梯度向量确定对应的垂直梯度向量直方图。其中,拼接的全景图像的垂直梯度向量的确定与步骤A1的相同,此处不再赘述。
步骤B3、终端确定所述全景图像的垂直梯度向量直方图中的最大垂直梯度向量。该步骤中,可通过对垂直梯度向量直方图执行低通滤波操作,以获取垂直梯度向量直方图的最大垂直梯度向量。
步骤B4、终端以所述最大垂直梯度向量所在的位置为中心,选取一个待匹配向量。该步骤的待匹配向量是指经过所述最大垂直梯度向量所在的位置的向量,该待匹配向量的方向可改变。
步骤B5、终端确定选取的待匹配向量与所述全景图像的垂直梯度向量直方图中的非匹配向量的相关性。该步骤中,确定待匹配向量与垂直梯度向量直方图中的非匹配向量的相关性,即为确定待匹配向量与垂直梯度向量直方图中的非匹配向量的位移,具体可采用该公式确定:公式中各个参数的含义以在上述进行说明,此处不再赘述。
步骤B6、终端在确定的相关性的值中选取3个大于预设阈值的相关性的值,并确定选取的3个相关性的值对应的匹配位置。该步骤中,当存在超过3个大于预设阈值的相关性的值时,选取最大的3个相关性的值,当少于3个大于预设阈值的相关性的值时,则重新执行步骤B1。其中,预设阈值可设为0.9,当然,也可设置为其他数值,此处不作限定。
步骤B7、终端判断选取的3个相关性的值对应的匹配位置中,相邻两个的匹配位置的间隔是否相等,并在相邻两个的匹配位置的间隔相等时,确定全景图像的周长为任一个相邻两个的匹配位置的间隔。例如,假设选取的3个相关性的值对应的匹配位置分别为t1、t2、t3,D1=t2-t1;D2=t3-t2,则判断D1是否等于D2,若相等,则确定全景图像的周长为D1。该步骤中,在相邻两个的匹配位置的间隔不相等时,重新调整所述最大垂直梯度向量所在的位置后,再以所述最大垂直梯度向量所在的位置为中心,选取一个待匹配向量,最后以重新选取的待匹配向量参与后续的计算(步骤B5至步骤B7)。
步骤S13,全景生成服务器基于所述全景图像的周长拼接并显示终端预处理后的视频帧。
该步骤中,当确定摄像机阵列中任意相邻的两路摄像机的视频帧之间的位移之后,根据确定的位移确定的全景图像的周长拼接预处理后的视频帧并显示。具体地,在拼接之前,可选择对拼接的视频帧的光线进行调整,以使拼接后的图像更逼真。由于对各路摄像机的视频数据进行预处理,因此全景生成服务器只需完成视频帧的拼接操作即可,从而减少了该全景生成服务器的运算负荷,大大加快了全景图像的拼接速度。
在本发明第一实施例中,终端采集摄像机阵列的视频帧进行预处理,包括确定相邻两路摄像机的视频帧之间的位移、全景图像的周长等预处理,再将预处理得到的结果发送给全景生成服务器,以使该全景生成服务器根据预处理得到的位移、周长等拼接视频帧,并呈现拼接后的视频帧。由于无需全景生成服务器处理海量的视频数据,因此减少了该全景生成服务器的负荷,从而有效提高了全景生成服务器的拼接效率,加快全景图像的显示。
实施例二:
为了更清楚地描述本发明第一实施例提供的一种全景视频显示方法,下面以一具体应用例进行说明:
该全景视频显示方法的全景生成服务器及预处理的终端均采用windows系统,同时采用多线程控制实时地传输各种数据。且由TCP协议负责可靠性要求较高的控制消息,而由UDP协议来负责实时性要求较高的视频数据。假设拼接6路摄像机的视频帧,预处理的终端为3台PC机(PC机1、PC机2、PC机3),每台PC机采集并向全景生成服务器发送两路视频图像数据。每台PC机通过视频图像采集卡连接有2台普通CCD摄像机,实际情况中,摄像机数目由具体需要而定。
首先,在全景生成服务器上启动全景生成软件。在启动该软件之前,我们需要配置config文件,该config文件在全景生成软件的安装目录下,双击该config文件,用记事本打开,有如下指令:
->can_serv_client_count=3
该条指令其实相当于输入一个变量值,为需要向全景生成服务器连接的视频采集与预处理端PC机数量,该值默认为3,可以根据具体的需求而改变该值。
然后启动全景生成服务器端的全景生成软件,启动后的全景生成软件开始监听socket,等待视频采集与预处理端PC机连接。
接着依次打开视频采集与预处理端三台PC机上的视频采集与预处理端软件,得到的视频图像如图2a、图2b、图2c所示。其中,图2a为PC机1的全景生成软件的窗口画面,图2b为PC机2的全景生成软件的窗口画面,图2c为PC机3的全景生成软件的窗口画面。
视频采集与预处理端三台PC机上的软件采集一帧图像后停止采集图像,将采集到的图像发送至全景生成服务器,全景生成服务器接收到图像数据后,得到画面如图3所示。
最后各PC机进入全景拼接参数的学习阶段,等待片刻后,视频采集与预处理端三台PC机上的软件重新开始采集图像,全景生成服务器端软件窗口出现如图4所示画面,即为最后生成的全景视频图像。
实施例三:
图5示出了本发明第三实施例提供的一种全景视频显示系统的结构图,为了便于说明,仅示出了与本发明实施例相关的部分。
其中,该全景视频显示系统包括终端51和全景生成服务器52;
所述终端51包括视频帧采集单元511,用于采集摄像机阵列中各个摄像机的视频帧。
所述终端51包括处理单元512,用于对采集的视频帧进行预处理,所述预处理包括计算视频帧之间的位移,基于所计算的位移确定全景图像的周长。
其中,计算视频帧之间的位移是指,计算具有重叠视频数据的两个摄像机拍摄的视频帧中重叠视频数据的位移,这两个视频帧的采集时间是相同的。
优选地,所述处理单元512包括:视频帧选取模块、梯度信息计算模块、位移计算模块、位移判断模块。
该视频帧选取模块,用于在一路摄像机中选取连续三个视频帧I1、I2、I3,在另一路摄像机中选取连续三个视频帧i1、i2、i3,所述I1、I2、I3的采集时间分别和所述i1、i2、i3的采集时间相同,且两路摄像机在摄像机阵列中的位置相邻。
该梯度信息计算模块,用于计算I1和i1的梯度信息;用于计算I2和i2的梯度信息;以及用于计算I3和i3的梯度信息,所述梯度信息包括水平梯度向量和垂直梯度向量。具体地,计算一个视频帧的梯度信息可通过下式确定:其中,是指图像f(x,y)在位置(x,y)的梯度信息,垂直梯度向量可通过下式确定,即在y轴上的投影。
该位移计算模块,用于根据计算的I1和i1的垂直梯度向量确定所述I1与所述i1之间的位移,假设为d1。用于根据计算的I2和i2的垂直梯度向量确定所述I2与所述i2之间的位移,假设为d2。以及用于根据计算的I3和i3的垂直梯度向量确定所述I3与所述和i3之间的位移,假设为d3。具体地,所述位移计算模块通过以下公式确定分处于相邻两路摄像机中的两个视频帧之间的位移,所述两个视频帧的采集时间相同:
其中,ρ(m)为两个视频帧之间的位移,m根据经验设定,P1为一个视频帧的垂直梯度向量,P2为另一个视频帧的垂直梯度向量,L为P1和P2中垂直梯度向量的长度较小的那个值,l1为P1的垂直梯度向量的长度,l2为P2的垂直梯度向量的长度。
该位移判断模块,用于判断d1是否等于d2,d2是否等于d3,并在d1等于d2,且d2等于d3时,判定所述相邻两路摄像机拍摄的视频帧之间的位移为d1。若出现以下任一种情况:(1)在d1不等于d2,且d2等于d3时,重新选取I3的下一个视频帧,以及选取i3的下一个视频帧,并计算I3和i3之间的位移,假设为d4,则判断d4是否等于d2,若相等,则判定所述相邻两路摄像机拍摄的视频帧之间的位移为d2。(2)在d1等于d2,且d2不等于d3时,操作步骤与d1不等于d2,且d2等于d3时的情况相似,此处不再赘述。(3)在d1不等于d2,且d2不等于d3时,重新选取I3的下一个视频帧,以及选取i3的下一个视频帧,并计算I3和i3之间的位移,假设为d4,则判断d4是否等于d1,若相等,则再选取I3的下一个视频帧的下一个视频帧,以及选取i3的下一个视频帧的下一个视频帧进行计算,若不等,则判断d4是否等于d2,后续操作与判断d4是否等于d1的相似,此处不再赘述。
优选地,在基于所计算的位移确定全景图像的周长时,所述处理单元512包括:全景图像拼接模块、垂直梯度向量直方图计算模块、最大垂直梯度向量确定模块、待匹配向量选取模块、待匹配向量相关性确定模块、匹配位置确定模块、匹配位置间隔确定模块。
该全景图像拼接模块,用于对摄像机阵列的所有相邻两路摄像机执行以下操作:根据确定的分处相邻两路摄像机中的两个视频帧之间的位移确定所述两个视频帧的最佳匹配位置;在确定的最佳匹配位置上拼接所述两个视频帧,得到拼接的全景图像。
该垂直梯度向量直方图计算模块,用于计算拼接的全景图像的垂直梯度向量直方图。
该最大垂直梯度向量确定模块,用于确定所述全景图像的垂直梯度向量直方图中的最大垂直梯度向量。
该待匹配向量选取模块,用于以所述最大垂直梯度向量所在的位置为中心,选取一个待匹配向量。该待匹配向量是指经过所述最大垂直梯度向量所在的位置的向量,该待匹配向量的方向可改变。
该待匹配向量相关性确定模块,用于确定选取的待匹配向量与所述全景图像的垂直梯度向量直方图中的非匹配向量的相关性。
该匹配位置确定模块,用于在确定的相关性的值中选取3个大于预设阈值的相关性的值,并确定选取的3个相关性的值对应的匹配位置。
该匹配位置间隔确定模块,用于判断选取的3个相关性的值对应的匹配位置中,相邻两个的匹配位置的间隔是否相等,并在相邻两个的匹配位置的间隔相等时,确定全景图像的周长为任一个相邻两个的匹配位置的间隔。
进一步地,在相邻两个的匹配位置的间隔不相等时,所述处理单元512包括:
最大垂直梯度向量所在的位置微调模块,用于在相邻两个的匹配位置的间隔不相等时,重新调整所述最大垂直梯度向量所在的位置后,再以所述最大垂直梯度向量所在的位置为中心,选取一个待匹配向量,重新执行待匹配向量相关性确定模块、匹配位置确定模块、匹配位置间隔确定模块。
所述全景生成服务器52用于基于所述全景图像的周长拼接并显示终端预处理后的视频帧。
具体地,在拼接之前,可选择对拼接的视频帧的光线进行调整,以使拼接后的图像更逼真。
在本发明第二实施例中,由于无需全景生成服务器处理海量的视频数据,因此减少了该全景生成服务器的负荷,从而有效提高了全景生成服务器的拼接效率,加快全景图像的显示。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种全景视频显示方法,其特征在于,所述方法包括下述步骤:
终端采集摄像机阵列中各个摄像机的视频帧;
终端对采集的视频帧进行预处理,所述预处理包括计算视频帧之间的位移,基于所计算的位移确定全景图像的周长;
全景生成服务器基于所述全景图像的周长拼接并显示终端预处理后的视频帧;
所述计算视频帧之间的位移的步骤具体包括:
在一路摄像机中选取连续三个视频帧I1、I2、I3,在另一路摄像机中选取连续三个视频帧i1、i2、i3,所述I1、I2、I3的采集时间分别和所述i1、i2、i3的采集时间相同,且两路摄像机在摄像机阵列中的位置相邻,对选取的视频帧执行以下操作:
计算I1和i1的梯度信息,所述梯度信息包括垂直梯度向量;
根据计算的I1和i1的垂直梯度向量确定所述I1与所述i1之间的位移,假设为d1;
计算I2和i2的梯度信息,所述梯度信息包括垂直梯度向量;
根据计算的I2和i2的垂直梯度向量确定所述I2与所述i2之间的位移,假设为d2;
计算I3和i3的梯度信息,所述梯度信息包括垂直梯度向量;
根据计算的I3和i3的垂直梯度向量确定所述I3与所述和i3之间的位移,假设为d3;
判断d1是否等于d2,d2是否等于d3,并在d1等于d2,且d2等于d3时,判定所述相邻两路摄像机拍摄的视频帧之间的位移为d1;
通过以下公式确定分处于相邻两路摄像机中的两个视频帧之间的位移,所述两个视频帧的采集时间相同:
<mrow>
<mi>&rho;</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>L</mi>
</munderover>
<msub>
<mi>P</mi>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
<msub>
<mi>P</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>+</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
</mrow>
<msqrt>
<mrow>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<msub>
<mi>l</mi>
<mn>1</mn>
</msub>
</munderover>
<msup>
<msub>
<mi>P</mi>
<mn>1</mn>
</msub>
<mn>2</mn>
</msup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<msub>
<mi>l</mi>
<mn>2</mn>
</msub>
</munderover>
<msup>
<msub>
<mi>P</mi>
<mn>2</mn>
</msub>
<mn>2</mn>
</msup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>+</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
</mrow>
</msqrt>
</mfrac>
</mrow>
其中,ρ(m)为两个视频帧之间的位移,m根据经验设定,P1为一个视频帧的垂直梯度向量,P2为另一个视频帧的垂直梯度向量,L为P1和P2中垂直梯度向量的长度较小者,l1为P1的垂直梯度向量的长度,l2为P2的垂直梯度向量的长度。
2.如权利要求1所述的方法,其特征在于,所述基于所计算的位移确定全景图像的周长具体为:
终端对摄像机阵列的所有相邻两路摄像机执行以下操作:
A、根据确定的分处相邻两路摄像机中的两个视频帧之间的位移确定所述两个视频帧的最佳匹配位置;在确定的最佳匹配位置上拼接所述两个视频帧,得到拼接的全景图像;
B、终端计算拼接的全景图像的垂直梯度向量直方图;
C、终端确定所述全景图像的垂直梯度向量直方图中的最大垂直梯度向量;
D、终端以所述最大垂直梯度向量所在的位置为中心,选取一个待匹配向量;
E、终端确定选取的待匹配向量与所述全景图像的垂直梯度向量直方图中的非匹配向量的相关性;
F、终端在确定的相关性的值中选取3个大于预设阈值的相关性的值,并确定选取的3个相关性的值对应的匹配位置;
G、终端判断选取的3个相关性的值对应的匹配位置中,相邻两个的匹配位置的间隔是否相等,并在相邻两个的匹配位置的间隔相等时,确定全景图像的周长为任一个相邻两个的匹配位置的间隔。
3.如权利要求2所述的方法,其特征在于,在相邻两个的匹配位置的间隔不相等时,终端重新调整所述最大垂直梯度向量所在的位置后,再以所述最大垂直梯度向量所在的位置为中心,选取一个待匹配向量,重新执行权利要求2中的步骤E至步骤G。
4.一种全景视频显示系统,其特征在于,所述系统包括终端和全景生成服务器;
所述终端包括视频帧采集单元,用于采集摄像机阵列中各个摄像机的视频帧;
所述终端包括处理单元,用于对采集的视频帧进行预处理,所述预处理包括计算视频帧之间的位移,基于所计算的位移确定全景图像的周长;
所述全景生成服务器用于基于所述全景图像的周长拼接并显示终端预处理后的视频帧;
所述处理单元包括:
视频帧选取模块,用于在一路摄像机中选取连续三个视频帧I1、I2、I3,在另一路摄像机中选取连续三个视频帧i1、i2、i3,所述I1、I2、I3的采集时间分别和所述i1、i2、i3的采集时间相同,且两路摄像机在摄像机阵列中的位置相邻;
梯度信息计算模块,用于计算I1和i1的梯度信息;用于计算I2和i2的梯度信息;以及用于计算I3和i3的梯度信息,所述梯度信息包括垂直梯度向量;
位移计算模块,用于根据计算的I1和i1的垂直梯度向量确定所述I1与所述i1之间的位移,假设为d1;用于根据计算的I2和i2的垂直梯度向量确定所述I2与所述i2之间的位移,假设为d2;以及用于根据计算的I3和i3的垂直梯度向量确定所述I3与所述和i3之间的位移,假设为d3;
位移判断模块,用于判断d1是否等于d2,d2是否等于d3,并在d1等于d2,且d2等于d3时,判定所述相邻两路摄像机拍摄的视频帧之间的位移为d1;
所述位移计算模块通过以下公式确定分处于相邻两路摄像机中的两个视频帧之间的位移,所述两个视频帧的采集时间相同:
<mrow>
<mi>&rho;</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>L</mi>
</munderover>
<msub>
<mi>P</mi>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
<msub>
<mi>P</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>+</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
</mrow>
<msqrt>
<mrow>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<msub>
<mi>l</mi>
<mn>1</mn>
</msub>
</munderover>
<msup>
<msub>
<mi>P</mi>
<mn>1</mn>
</msub>
<mn>2</mn>
</msup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<msub>
<mi>l</mi>
<mn>2</mn>
</msub>
</munderover>
<msup>
<msub>
<mi>P</mi>
<mn>2</mn>
</msub>
<mn>2</mn>
</msup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>+</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
</mrow>
</msqrt>
</mfrac>
</mrow>
其中,ρ(m)为两个视频帧之间的位移,m根据经验设定,P1为一个视频帧的垂直梯度向量,P2为另一个视频帧的垂直梯度向量,L为P1和P2中垂直梯度向量的长度较小者,l1为P1的垂直梯度向量的长度,l2为P2的垂直梯度向量的长度。
5.如权利要求4所述的系统,其特征在于,所述处理单元包括:
全景图像拼接模块,用于对摄像机阵列的所有相邻两路摄像机执行以下操作:根据确定的分处相邻两路摄像机中的两个视频帧之间的位移确定所述两个视频帧的最佳匹配位置;在确定的最佳匹配位置上拼接所述两个视频帧,得到拼接的全景图像;
垂直梯度向量直方图计算模块,用于计算拼接的全景图像的垂直梯度向量直方图;
最大垂直梯度向量确定模块,用于确定所述全景图像的垂直梯度向量直方图中的最大垂直梯度向量;
待匹配向量选取模块,用于以所述最大垂直梯度向量所在的位置为中心,选取一个待匹配向量;
待匹配向量相关性确定模块,用于确定选取的待匹配向量与所述全景图像的垂直梯度向量直方图中的非匹配向量的相关性;
匹配位置确定模块,用于在确定的相关性的值中选取3个大于预设阈值的相关性的值,并确定选取的3个相关性的值对应的匹配位置;
匹配位置间隔确定模块,用于判断选取的3个相关性的值对应的匹配位置中,相邻两个的匹配位置的间隔是否相等,并在相邻两个的匹配位置的间隔相等时,确定全景图像的周长为任一个相邻两个的匹配位置的间隔。
6.如权利要求5所述的系统,其特征在于,所述处理单元包括:
最大垂直梯度向量所在的位置微调模块,用于在相邻两个的匹配位置的间隔不相等时,重新调整所述最大垂直梯度向量所在的位置后,再以所述最大垂直梯度向量所在的位置为中心,选取一个待匹配向量,重新执行待匹配向量相关性确定模块、匹配位置确定模块、匹配位置间隔确定模块。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305477.0A CN104038668B (zh) | 2014-06-30 | 2014-06-30 | 一种全景视频显示方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305477.0A CN104038668B (zh) | 2014-06-30 | 2014-06-30 | 一种全景视频显示方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104038668A CN104038668A (zh) | 2014-09-10 |
CN104038668B true CN104038668B (zh) | 2017-11-10 |
Family
ID=51469243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410305477.0A Active CN104038668B (zh) | 2014-06-30 | 2014-06-30 | 一种全景视频显示方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104038668B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618648B (zh) * | 2015-01-29 | 2018-11-09 | 桂林长海发展有限责任公司 | 一种全景视频拼接系统及拼接方法 |
CN106954044B (zh) * | 2017-03-22 | 2020-05-26 | 山东瀚岳智能科技股份有限公司 | 一种视频全景化处理的方法及系统 |
CN107038686A (zh) * | 2017-04-21 | 2017-08-11 | 成都观界创宇科技有限公司 | 一种图像拼接处理的方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1033870A2 (en) * | 1995-11-30 | 2000-09-06 | AT&T Corp. | Spherical viewing apparatus |
CN101247513A (zh) * | 2007-12-25 | 2008-08-20 | 谢维信 | 利用单摄像机实时生成360°无缝全景视频图像的方法 |
CN103096043A (zh) * | 2013-02-21 | 2013-05-08 | 安徽大学 | 基于平行视频拼接技术的矿井安全监控方法 |
CN103618881A (zh) * | 2013-12-10 | 2014-03-05 | 深圳英飞拓科技股份有限公司 | 多镜头全景拼接控制方法及装置 |
-
2014
- 2014-06-30 CN CN201410305477.0A patent/CN104038668B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1033870A2 (en) * | 1995-11-30 | 2000-09-06 | AT&T Corp. | Spherical viewing apparatus |
CN101247513A (zh) * | 2007-12-25 | 2008-08-20 | 谢维信 | 利用单摄像机实时生成360°无缝全景视频图像的方法 |
CN103096043A (zh) * | 2013-02-21 | 2013-05-08 | 安徽大学 | 基于平行视频拼接技术的矿井安全监控方法 |
CN103618881A (zh) * | 2013-12-10 | 2014-03-05 | 深圳英飞拓科技股份有限公司 | 多镜头全景拼接控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104038668A (zh) | 2014-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11665427B2 (en) | Still image stabilization/optical image stabilization synchronization in multi-camera image capture | |
KR102428127B1 (ko) | 움직임 영역 검출 장치 및 방법 | |
CN108399600A (zh) | 一种全景成像系统及方法 | |
CN108541374A (zh) | 一种图像融合方法、装置及终端设备 | |
CN108337505B (zh) | 信息获取方法和装置 | |
CN105744138B (zh) | 快速对焦方法和电子设备 | |
CN104038668B (zh) | 一种全景视频显示方法及系统 | |
EP3979629A1 (en) | Image processing method and apparatus based on video conference | |
US10380719B2 (en) | Device and method for generating panorama image | |
CN111402404B (zh) | 全景图补全方法、装置、计算机可读存储介质及电子设备 | |
CN113506298A (zh) | 图像检测与渲染方法及装置、设备、存储介质 | |
JP6483661B2 (ja) | 撮像制御装置、撮像制御方法およびプログラム | |
CN105467741A (zh) | 一种全景拍照方法及终端 | |
CN113744339B (zh) | 生成全景图像的方法、装置、电子设备和存储介质 | |
US10282633B2 (en) | Cross-asset media analysis and processing | |
CN114187172A (zh) | 图像融合方法、装置、计算机设备及计算机可读存储介质 | |
CN114245006A (zh) | 一种处理方法、装置及系统 | |
JP2019036906A (ja) | 映像処理装置、映像処理方法及び映像処理プログラム | |
CN107845108A (zh) | 一种光流值计算方法、装置及电子设备 | |
CN112991175A (zh) | 一种基于单ptz摄像头的全景图片生成方法及设备 | |
US10564601B2 (en) | Method and system for image processing and data transmission in network-based multi-camera environment | |
CN112437253A (zh) | 一种视频拼接方法、装置、系统、计算机设备和存储介质 | |
EP3229070B1 (en) | Three-dimensional, 360-degree virtual reality camera exposure control | |
CN110876016B (zh) | 图像处理方法、装置和存储介质 | |
CN112381713B (zh) | 图像拼接方法和装置、计算机可读存储介质、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |