发明内容
有鉴于现有技术中对视频图像进行实时处理时,需要进行有效的坐标识别时定位精度不够,定位误差较大的技术问题,本申请提供一种无人机实时视频图像坐标指示方法、系统和终端。
本申请解决上述技术问题所采用的技术方案如下:
本申请的一个或者多个实施例公开了一种无人机实时视频图像坐标指示方法,包括:
获取所述无人机摄像装置的实时视频图像数据;
获取所述无人机的摄像装置的拍摄参数,获取所述无人机的飞行参数,并根据所述拍摄参数和飞行参数计算投影覆盖范围;
根据所述投影覆盖范围对所述实时视频图像进行像素方位的映射得到映射数据;
接收对所述实时视频图像的实时区域选取,并计算实时选取区域的图像像素坐标;
根据所述实时选取区域的图像像素坐标和所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。
本申请的一个或者多个实施例中,所述方法在获取所述无人机的摄像装置的拍摄参数之前,还包括:以所述无人机的飞行方向为X轴,所述无人机机翼左侧为Y轴,竖直向上为Z轴构建空间直角坐标系;所述摄像装置包括摄像机,所述拍摄参数包括像元尺寸pix、影像宽度imgW、影像高度imgH、焦距focus、焦距fp和摄像机偏转角o;所述飞行参数包括所述无人机航向角k和相对航高H,所述摄像机长边沿所述无人机的飞行方向,短边垂直于飞行方向,所述摄像机偏转角o绕所述X轴逆时针旋转为正,所述摄像机偏转角o=0°时摄像机沿Z轴负方向向下拍摄,所述摄像机偏转角o=45°时摄像机指向机翼左下侧45°;所述无人机航向角k绕所述Z轴顺时针旋转为正,所述无人机航向角k=0°时所述无人机机头向北,所述摄像机偏转角k=90°时机头向东;计算投影覆盖范围的四个角点A、B、C、D的坐标得到所述投影覆盖范围,计算所述四个角点A、B、C、D坐标的计算算式为:
Xa=(H*(imgH*cos(o)*sin(k)-imgW*cos(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Ya=(H*(imgW*sin(k)+imgH*cos(k)*cos(o)+2*fp*cos(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Xb=(H*(imgW*cos(k)+imgH*cos(o)*sin(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Yb=(H*(imgH*cos(k)*cos(o)-imgW*sin(k)+2*fp*cos(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Xc=(H*(imgW*cos(k)-imgH*cos(o)*sin(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
Yc=-(H*(imgW*sin(k)+imgH*cos(k)*cos(o)-2*fp*cos(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
Xd=-(H*(imgW*cos(k)+imgH*cos(o)*sin(k)-2*fp*sin(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
Yd=(H*(imgW*sin(k)-imgH*cos(k)*cos(o)+2*fp*cos(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
其中,Xa为A点的X坐标,Ya为A点的Y坐标,Xb为B点的X坐标,Yb为B点的Y坐标,Xc为C点的X坐标,Yc为C点的Y坐标,Xd为D点的X坐标,Yd为D点的Y坐标。
本申请的一个或者多个实施例中,所述接收对所述实时视频图像的实时区域选取,并计算实时选取区域的图像像素坐标之前,所述方法还包括:用于实时视频图像显示的系统按照获取的所述实时视频图像的分辨率变换长宽比例,且所述投影覆盖范围的四个角点A、B、C、D对应用于实时视频图像显示的界面的四个边界点。
本申请的一个或者多个实施例中,所述接收对所述实时视频图像的实时区域选取,并计算实时选取区域的图像像素坐标具体包括:接收用于实时视频图像显示的界面上鼠标光标的选中操作,记录所述选中操作的所述实时选取区域的图像像素坐标。
本申请的一个或者多个实施例中,所述根据所述实时选取区域的图像像素坐标和所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置具体包括:根据所述实时选取区域的图像像素坐标占据所述用于实时视频图像显示的界面的长宽比例,计算所述实时选取区域的图像像素坐标的四个边缘角点坐标A′、B′、C′、D′,根据所述四个边缘角点坐标A′、B′、C′、D′结合所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。
本申请的一个或者多个实施例中,所述方法还包括:当所述摄像机偏转角o和无人机航向角k中的一项或两项不等于零度时,使用双线性插值法计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。
本申请的一个或者多个实施例中,当所述摄像机偏转角o和无人机航向角k中的一项或两项不等于零度时,实时视频图像的角点脚印图为梯形角点脚印图,所述使用双线性插值法将所述梯形角点脚印图转化成用于实时视频图像显示的界面显示的矩形角点脚印图,反向计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置;其中,所述双线性插值法使用以下计算算式:
计算P1点
P1x=Bx*(x1/W)+Ax*(1-x1/W);
P1y=By*(x1/W)+Ay*(1-x1/W);
计算P2点
P2x=Dx*(x1/W)+Cx*(1-x1/W);
P2y=Dy*(x1/W)+Cy*(1-x1/W);
计算P点
Px=P2x*(y1/H)+P1x*(1-y1/H);
Py=P2y*(y1/H)+P1y*(1-y1/H);
其中,P点为矩形角点脚印图中实时选取区域的图像像素坐标指向的点,Px为P点X坐标,Py为P点X坐标,P1为P点投影到梯形角点脚印图的下底边的点,P2为P点投影到梯形角点脚印图的上底边的点,P1x和P1y分别为P1点X坐标和Y坐标,P2x和P2y分别为P2点X坐标和Y坐标。
本申请的一个或者多个实施例还公开了一种终端,所述终端包括处理器以及存储器;所述处理器用于执行存储器中存储的无人机实时视频图像坐标指示方法程序,以实现上述的方法。
本申请的一个或者多个实施例还公开了一种无人机实时视频图像坐标指示系统,所述无人机包括用于拍摄实时视频图像的摄像装置和发送实时视频图像数据的图传电台发射器;所述系统还包括地面设备,所述地面设备包括图传电台接收器、视频采集设备和终端,所述图传电台接收器用于接收所述实时视频数据并传送到所述视频采集设备,所述视频采集设备处理所述实时视频数据输出数字信号到所述终端;所述终端获取所述无人机摄像装置的实时视频图像数据;用于获取所述无人机的摄像装置的拍摄参数,获取所述无人机的飞行参数,并根据所述拍摄参数和飞行参数计算投影覆盖范围;根据所述投影覆盖范围对所述实时视频图像进行像素方位的映射得到映射数据;接收对所述实时视频图像的实时区域选取,并计算实时选取区域的图像像素坐标;根据所述实时选取区域的图像像素坐标和所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。
本申请的一个或者多个实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的方法。
本申请实施例的无人机实时视频图像坐标指示方法,获取所述无人机摄像装置的实时视频图像数据;获取所述无人机的摄像装置的拍摄参数,获取所述无人机的飞行参数,并根据所述拍摄参数和飞行参数计算投影覆盖范围;根据所述投影覆盖范围对所述实时视频图像进行像素方位的映射得到映射数据;接收对所述实时视频图像的实时区域选取,并计算实时选取区域的图像像素坐标;根据所述实时选取区域的图像像素坐标和所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。根据投影覆盖范围与实时视频图像直接的映射数据,在对所述实时视频图像的实时区域选取时,可计算出选取的区域对应所述投影覆盖范围的实际坐标位置,定位精度较好,定位误差较小,便于后续发起交互式操作。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本说明书中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本申请。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,下面所描述的本申请各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
以下通过附图和具体实施方式对本申请做进一步详细说明。
为了便于理解本申请,下面结合附图和具体实施方式,对本申请进行更详细的说明。除非另有定义,本说明书所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本说明书中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本申请。
图1为无人机实时视频图像坐标指示系统的应用环境图,图2为无人机实时视频图像坐标指示系统的结构框图。如图1和图2所示,本申请实施例提供了一种无人机实时视频图像坐标指示系统100,包括无人机10和地面设备20。其中,
无人机10包括摄像装置11和图传电台发射器12。摄像装置11用于拍摄实时视频图像,图传电台发射器12发送所述实时视频图像数据到地面设备20的图传电台接收器21。
地面设备20还包括视频采集设备和终端22和终端23。所述图传电台接收器21用于接收所述实时视频数据并传送到所述视频采集设备22,所述视频采集设备22处理所述实时视频数据输出数字信号到所述终端23。
为了实现对视频图像的坐标识别及指示,首先将无人机10上的摄像装置11采集的实时视频图像,进行采集和压缩处理成实时视频图像数据;然后,将处理后的信号经过专用的图传电台发射器12传送至地面接收器(图传电台接收器21),进行相关的处理;最后,采用专用视频采集卡转出数字信号,可选为HDMI信号,终端通过USB接口接收实时视频图像数据进行实时的处理分析。即终端23捕获视频图像数据流,实时在终端23的显示屏界面上显示出来。具体地,终端23可以以各种形式来实施。例如,本申请中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。
所述终端23获取所述无人机摄像装置11的实时视频图像;用于获取所述无人机10的摄像装置11的拍摄参数,获取所述无人机10的飞行参数,并根据所述拍摄参数和飞行参数计算投影覆盖范围;根据所述投影覆盖范围对所述实时视频图像进行像素方位的映射得到映射数据;接收对所述实时视频图像的实时区域选取,并计算实时选取区域的图像像素坐标;根据所述实时选取区域的图像像素坐标和所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。
图3为无人机实时视频图像坐标指示系统的原理示意图,本申请实施例提供的无人机实时视频图像坐标指示系统100,如图2和图3所示意,根据投影覆盖范围与实时视频图像直接的映射数据,在对所述实时视频图像的实时区域选取时,可计算出选取的区域对应所述投影覆盖范围的实际坐标位置,便于后续发起交互式操作。
在本申请的一个或者多个实施例中,在终端23构建空间直角坐标系为机体坐标系,如图4所示,O为飞机质心位置,OX取所述无人机设计轴指向机头方向,即以所述无人机的飞行方向为X轴,所述无人机机翼左侧为Y轴,竖直向上为Z轴。所述摄像装置11包括摄像机,所述拍摄参数包括像元尺寸pix、影像宽度imgW、影像高度imgH、焦距focus、焦距fp和摄像机偏转角o;以摄像机采用Topotek高清数字机芯TOP-1035T为例,主要参数为CMOS尺寸:1/4英寸;分辨率:1920*1080;变焦焦距4.9~49mm;像元尺寸2.883um。所述飞行参数包括所述无人机航向角k和相对航高H。
以下表为例,为一实施例的无人机摄像装置11的拍摄参数和无人机的飞行参数:
其中,fp=focus/pix*1000。
据此可以计算地面分辨率GSD,根据焦距focus(mm)、相对航高H(m)、像元尺寸pix(um),计算GSD(m):
GSD=H*pix/focus/1000。
进一步地,所述摄像机长边沿所述无人机的飞行方向,短边垂直于飞行方向,所述摄像机偏转角为omega(简写为o),所述摄像机偏转角omega绕所述X轴逆时针旋转为正,所述摄像机偏转角omega=0°时摄像机沿Z轴负方向向下拍摄,所述摄像机偏转角omega=45°时摄像机指向机翼左下侧45°,如图5所示,矩形框为摄像机偏转角omega=0°时的角点脚印图,梯形框为摄像机偏转角omega=45°时的角点脚印图;所述无人机航向角为kappa(简写为k),所述无人机航向角kappa绕所述Z轴顺时针旋转为正,所述无人机航向角kappa=0°时所述无人机机头向北,所述摄像机偏转角kappa=90°时机头向东;在图5的基础上,加上无人机航向角kappa的变化产生图6,图6中右侧的梯形为摄像机焦距等于4.9mm,摄像机偏转角omega=45°,摄像机偏转角kappa=90°时的角点脚印图;与两个梯形角点脚印图相交的角点脚印图为摄像机焦距等于4.9mm,摄像机偏转角omega=45°,摄像机偏转角kappa=45°时的角点脚印图。
计算投影覆盖范围的四个角点A、B、C、D的坐标得到所述投影覆盖范围,计算所述四个角点A、B、C、D坐标的计算算式为:
Xa=(H*(imgH*cos(o)*sin(k)-imgW*cos(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Ya=(H*(imgW*sin(k)+imgH*cos(k)*cos(o)+2*fp*cos(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Xb=(H*(imgW*cos(k)+imgH*cos(o)*sin(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Yb=(H*(imgH*cos(k)*cos(o)-imgW*sin(k)+2*fp*cos(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Xc=(H*(imgW*cos(k)-imgH*cos(o)*sin(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
Yc=-(H*(imgW*sin(k)+imgH*cos(k)*cos(o)-2*fp*cos(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
Xd=-(H*(imgW*cos(k)+imgH*cos(o)*sin(k)-2*fp*sin(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
Yd=(H*(imgW*sin(k)-imgH*cos(k)*cos(o)+2*fp*cos(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
其中,Xa为A点的X坐标,Ya为A点的Y坐标,Xb为B点的X坐标,Yb为B点的Y坐标,Xc为C点的X坐标,Yc为C点的Y坐标,Xd为D点的X坐标,Yd为D点的Y坐标,fp为焦距fp,imgH为影像高度,imgW为影像宽度,o为所述摄像机偏转角omega,k为所述无人机航向角kappa。
其中,Xa也可以使用另一种形式的算式计算:
Xa=(fp*(imgH*cos(o)*sin(k)-imgW*cos(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))*GSD,其中,H为相对航高,也称飞行高度。
考虑到GSD*fp=(H*pix/focus/1000)*(focus/pix*1000)=H
Xa计算公式可变为
Xa=(H*(imgH*cos(o)*sin(k)-imgW*cos(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))。
同理,Ya、Xb、Yb、Xc、Yc、Xd和Yd也可改写成上述包含GSD的算式,在此不再一一详述。
基于上述算式举出下面的示例:
示例一
设焦距focus(相机参数中的focus)为4.9mm,摄像机偏转角为45°,飞行高度为200m,则有四个角点坐标为:
点编号 |
A |
B |
C |
D |
X坐标(m) |
-234.154 |
234.1537 |
121.239 |
-121.239 |
Y坐标(m) |
386.2682 |
386.2682 |
103.555 |
103.555 |
以示例一的条件计算GSD:
GSD=H*pix/focus/1000=200*2.883/4.9/1000=0.117673469387755,
fp=focus/pix*1000=4.9/2.883*1000=1699.618453;
代入计算:
Xa=(1699.618453*(1080*cos45°*sin0°-1920*cos0°+2*1699.618453*sin0°*sin45°))/(2*1699.618453*cos45°-1080*sin45°)*0.117673469387755
Xa=(1699.618453*(1080*0.70710678*0-1920*1+2*1699.618453*0*0.70710678))/(2*1699.618453*0.70710678-1080*0.70710678)*0.117673469387755Xa=-1989.860135729*0.117673469387755
Xa=-234.15374576762886802895688909381
考虑到GSD*fp=(H*pix/focus/1000)*(focus/pix*1000)=H
Xa计算公式可变为
Xa=(H*(imgH*cos(o)*sin(k)-imgW*cos(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Xa=(200*(1080*0.70710678*0-1920*1+2*1699.618453*0*0.70710678))/(2*1699.618453*0.70710678-1080*0.70710678)
Xa=-234.15374576767665450768498637025
同理:
Ya=(H*(imgW*sin(k)+imgH*cos(k)*cos(o)+2*fp*cos(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Xb=(H*(imgW*cos(k)+imgH*cos(o)*sin(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Yb=(H*(imgH*cos(k)*cos(o)-imgW*sin(k)+2*fp*cos(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Xc=(H*(imgW*cos(k)-imgH*cos(o)*sin(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
Yc=-(H*(imgW*sin(k)+imgH*cos(k)*cos(o)-2*fp*cos(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
Xd=-(H*(imgW*cos(k)+imgH*cos(o)*sin(k)-2*fp*sin(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
Yd=(H*(imgW*sin(k)-imgH*cos(k)*cos(o)+2*fp*cos(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
设焦距为4.9mm,摄像机偏转角为45°,飞机航向为45度,飞行高度为200m,则有四个角点坐标为:
点编号 |
A |
B |
C |
D |
X坐标(m) |
107.561 |
438.705 |
158.953 |
-12.504 |
Y坐标(m) |
438.705 |
107.561 |
-12.504 |
158.953 |
示例二
设焦距为49mm,摄像机偏转角为22.5°,飞行高度为400m,则有四个角点坐标为:
点编号 |
A |
B |
C |
D |
X坐标(m) |
-24.781 |
24.781 |
24.137 |
-24.137 |
Y坐标(m) |
180.773 |
180.773 |
150.990 |
150.990 |
在本申请的一个或者多个实施例中,终端23上安装相应的应用软件,在软件中设置存储实时视频图像的位置,并实时在终端23的显示屏的软件界面中显示出来。一般地,显示屏为矩形,终端23中的应用软件按照获取的所述实时视频图像的分辨率变换显示到显示屏中的长宽比例,以使所述投影覆盖范围的四个角点A、B、C、D对应用于实时视频图像显示的界面的四个边界点。当然,在一些实施例中,如果显示屏为非矩形的其他形状,如圆形、椭圆形或弯折的其他形状,也按照同样的道理适应屏幕显示实时视频图像,本申请对此不做限制。
具体地,对所述实时视频图像的实时区域选取可以为在实时视频图像显示的界面上的鼠标光标的选中操作,也可以为触摸屏幕的手指按压选中操作,或者是电感屏幕的感应选中操作,本申请对其具体选中形式不做限制。终端23的应用软件记录所述选中操作的所述实时选取区域的图像像素坐标。
在一些实施例中,终端23根据所述实时选取区域的图像像素坐标和所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置具体包括:根据所述实时选取区域的图像像素坐标占据所述用于实时视频图像显示的界面的长宽比例,计算如图7所示的所述实时选取区域的图像像素坐标的四个边缘角点坐标A′、B′、C′、D′,根据所述四个边缘角点坐标A′、B′、C′、D′结合所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。
在本申请的一个或者多个实施例中,当所述摄像机偏转角omega和无人机航向角kappa中的一项或两项不等于零度时,使用双线性插值法计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。
具体地,当所述摄像机偏转角omega和无人机航向角kappa中的一项或两项不等于零度时,实时视频图像的角点脚印图为梯形角点脚印图,所述使用双线性插值法将所述梯形角点脚印图转化成用于实时视频图像显示的界面显示的矩形角点脚印图,反向计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。如图7所示,为矩形角点脚印图到梯形角点脚印图的转换示意。
其中,所述双线性插值法使用以下计算算式:
计算P1点
P1x=Bx*(x1/W)+Ax*(1-x1/W);
P1y=By*(x1/W)+Ay*(1-x1/W);
计算P2点
P2x=Dx*(x1/W)+Cx*(1-x1/W);
P2y=Dy*(x1/W)+Cy*(1-x1/W);
计算P点
Px=P2x*(y1/H)+P1x*(1-y1/H);
Py=P2y*(y1/H)+P1y*(1-y1/H);
其中,P点为矩形角点脚印图中实时选取区域的图像像素坐标指向的点,Px为P点X坐标,Py为P点X坐标,P1为P点投影到梯形角点脚印图的下底边的点,P2为P点投影到梯形角点脚印图的上底边的点,P1x和P1y分别为P1点X坐标和Y坐标,P2x和P2y分别为P2点X坐标和Y坐标。
下面给予示例:视频窗口大小为(W=1047,H=659),角点坐标为:
角点编号 |
A′ |
B′ |
C′ |
D′ |
经度坐标X(°) |
116.363470 |
116.363254 |
116.366116 |
116.366266 |
纬度坐标Y(°) |
40.033338 |
40.037288 |
40.036778 |
40.034031 |
像素坐标为(X1=89,Y1=8)对应的坐标为(116.363486,40.033703)
计算P1点
P1x=Bx*(x1/W)+Ax*(1-x1/W)
P1x=116.363254*(89/1047)+116.363470*(1-89/1047)
P1x=116.36345163896848137535816618911
P1y=By*(x1/W)+Ay*(1-x1/W)
P1y=40.037288*(89/1047)+40.033338*(1-89/1047)
P1y=40.033673768863419293218720152818
计算P2点
P2x=Dx*(x1/W)+Cx*(1-x1/W)
P2x=116.366266*(89/1047)+116.366116*(1-89/1047)
P2x=116.36612875071633237822349570201
P2y=Dy*(x1/W)+Cy*(1-x1/W)
P2y=40.034031*(89/1047)+40.036778*(1-89/1047)
P2y=40.036544491881566380133715377268
计算P点
Px=P2x*(y1/H)+P1x*(1-y1/H)
Px=116.36612875071633237822349570201*(8/659)+116.36345163896848137535816618911*(1-8/659)
Px=116.363484138039708649468892261
Py=P2y*(y1/H)+P1y*(1-y1/H)
Py=40.036544491881566380133715377268*(8/659)+40.033673768863419293218720152818*(1-8/659)
Py=40.033708618308252641770040276939
基于上述系统硬件结构,提出本申请方法各个实施例。
如图8所示,本申请实施例还提供无人机实时视频图像坐标指示方法,包括:
步骤201,获取所述无人机摄像装置的实时视频图像数据;
步骤202,获取所述无人机的摄像装置的拍摄参数,获取所述无人机的飞行参数,并根据所述拍摄参数和飞行参数计算投影覆盖范围;
步骤203,根据所述投影覆盖范围对所述实时视频图像进行像素方位的映射得到映射数据;
步骤204,接收对所述实时视频图像的实时区域选取,并计算实时选取区域的图像像素坐标;
步骤205,根据所述实时选取区域的图像像素坐标和所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。
本申请的无人机实时视频图像坐标指示方法实施例与上述无人机实时视频图像坐标指示系统实施例基于相同的发明构思,方法的一些具体技术特征可参照系统实施例,在此不再详述。
在本实施例中的无人机实时视频图像坐标指示方法,获取所述无人机摄像装置的实时视频图像数据;获取所述无人机的摄像装置的拍摄参数,获取所述无人机的飞行参数,并根据所述拍摄参数和飞行参数计算投影覆盖范围;根据所述投影覆盖范围对所述实时视频图像进行像素方位的映射得到映射数据;接收对所述实时视频图像的实时区域选取,并计算实时选取区域的图像像素坐标;根据所述实时选取区域的图像像素坐标和所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。根据投影覆盖范围与实时视频图像直接的映射数据,在对所述实时视频图像的实时区域选取时,可计算出选取的区域对应所述投影覆盖范围的实际坐标位置,便于后续发起交互式操作。
在一些实施例中,所述方法在获取所述无人机的摄像装置的拍摄参数之前,还包括:以所述无人机的飞行方向为X轴,所述无人机机翼左侧为Y轴,竖直向上为Z轴构建空间直角坐标系;所述摄像装置包括摄像机,所述拍摄参数包括像元尺寸、影像宽度、影像高度、焦距focus、焦距fp和摄像机偏转角;所述飞行参数包括所述无人机航向角和相对航高,所述摄像机长边沿所述无人机的飞行方向,短边垂直于飞行方向,所述摄像机偏转角为omega,所述摄像机偏转角omega绕所述X轴逆时针旋转为正,所述摄像机偏转角omega=0°时摄像机沿Z轴负方向向下拍摄,所述摄像机偏转角omega=45°时摄像机指向机翼左下侧45°;所述无人机航向角为kappa,所述无人机航向角kappa绕所述Z轴顺时针旋转为正,所述无人机航向角kappa=0°时所述无人机机头向北,所述摄像机偏转角kappa=90°时机头向东;计算投影覆盖范围的四个角点A、B、C、D的坐标得到所述投影覆盖范围,计算所述四个角点A、B、C、D坐标的计算算式为:
Xa=(H*(imgH*cos(o)*sin(k)-imgW*cos(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Ya=(H*(imgW*sin(k)+imgH*cos(k)*cos(o)+2*fp*cos(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Xb=(H*(imgW*cos(k)+imgH*cos(o)*sin(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Yb=(H*(imgH*cos(k)*cos(o)-imgW*sin(k)+2*fp*cos(k)*sin(o)))/(2*fp*cos(o)-imgH*sin(o))
Xc=(H*(imgW*cos(k)-imgH*cos(o)*sin(k)+2*fp*sin(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
Yc=-(H*(imgW*sin(k)+imgH*cos(k)*cos(o)-2*fp*cos(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
Xd=-(H*(imgW*cos(k)+imgH*cos(o)*sin(k)-2*fp*sin(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
Yd=(H*(imgW*sin(k)-imgH*cos(k)*cos(o)+2*fp*cos(k)*sin(o)))/(2*fp*cos(o)+imgH*sin(o))
其中,Xa为A点的X坐标,Ya为A点的Y坐标,Xb为B点的X坐标,Yb为B点的Y坐标,Xc为C点的X坐标,Yc为C点的Y坐标,Xd为D点的X坐标,Yd为D点的Y坐标,fp为焦距fp,imgH为影像高度,imgW为影像宽度,o为所述摄像机偏转角omega,k为所述无人机航向角kappa。
在本申请的一个或者多个实施例中,所述接收对所述实时视频图像的实时区域选取,并计算实时选取区域的图像像素坐标之前,所述方法还包括:用于实时视频图像显示的系统按照获取的所述实时视频图像的分辨率变换长宽比例,且所述投影覆盖范围的四个角点A、B、C、D对应用于实时视频图像显示的界面的四个边界点。
在本申请的一个或者多个实施例中,所述接收对所述实时视频图像的实时区域选取,并计算实时选取区域的图像像素坐标具体包括:接收用于实时视频图像显示的界面上鼠标光标的选中操作,记录所述选中操作的所述实时选取区域的图像像素坐标。
在本申请的一个或者多个实施例中,所述根据所述实时选取区域的图像像素坐标和所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置具体包括:根据所述实时选取区域的图像像素坐标占据所述用于实时视频图像显示的界面的长宽比例,计算所述实时选取区域的图像像素坐标的四个边缘角点坐标A′、B′、C′、D′,根据所述四个边缘角点坐标A′、B′、C′、D′结合所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。
在本申请的一个或者多个实施例中,所述方法还包括:当所述摄像机偏转角omega和无人机航向角kappa中的一项或两项不等于零度时,使用双线性插值法计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。
在本申请的一个或者多个实施例中,当所述摄像机偏转角omega和无人机航向角kappa中的一项或两项不等于零度时,实时视频图像的角点脚印图为梯形角点脚印图,所述使用双线性插值法将所述梯形角点脚印图转化成用于实时视频图像显示的界面显示的矩形角点脚印图,反向计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置;其中,所述双线性插值法使用以下计算算式:
计算P1点
P1x=Bx*(x1/W)+Ax*(1-x1/W);
P1y=By*(x1/W)+Ay*(1-x1/W);
计算P2点
P2x=Dx*(x1/W)+Cx*(1-x1/W);
P2y=Dy*(x1/W)+Cy*(1-x1/W);
计算P点
Px=P2x*(y1/H)+P1x*(1-y1/H);
Py=P2y*(y1/H)+P1y*(1-y1/H);
其中,P点为矩形角点脚印图中实时选取区域的图像像素坐标指向的点,Px为P点X坐标,Py为P点X坐标,P1为P点投影到梯形角点脚印图的下底边的点,P2为P点投影到梯形角点脚印图的上底边的点,P1x和P1y分别为P1点X坐标和Y坐标,P2x和P2y分别为P2点X坐标和Y坐标。
如图9所示,本申请实施例还提供一种终端硬件架构的示意图。在图9中,终端包括:第一存储器910、第一处理器920及存储在所述第一存储器910上并可在所述第一处理器920上运行的无人机实时视频图像坐标指示程序930。在本实施例中,所述的无人机实时视频图像坐标指示程序930包括一系列的存储于第一存储器910上的计算机程序指令,当该计算机程序指令被第一处理器920执行时,可以实现本申请各实施例的无人机实时视频图像坐标指示的操作。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,无人机实时视频图像坐标指示程序930可以被划分为一个或多个模块。如图10所示,无人机实时视频图像坐标指示程序930包括:实时视频图像数据获取模块1010、投影覆盖范围计算模块1020、映射模块1030、图像像素坐标计算模块1040以及实际坐标位置计算模块1050。其中,
实时视频图像数据获取模块1010,用于获取所述无人机摄像装置的实时视频图像数据;
投影覆盖范围计算模块1020,用于获取所述无人机的摄像装置的拍摄参数,获取所述无人机的飞行参数,并根据所述拍摄参数和飞行参数计算投影覆盖范围;
映射模块1030,用于根据所述投影覆盖范围对所述实时视频图像进行像素方位的映射得到映射数据;
图像像素坐标计算模块1040,用于接收对所述实时视频图像的实时区域选取,并计算实时选取区域的图像像素坐标;
实际坐标位置计算模块1050,用于根据所述实时选取区域的图像像素坐标和所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。
本申请的终端实施例与上述无人机实时视频图像坐标指示系统实施例基于相同的发明构思,终端的一些具体技术特征可参照系统实施例,在此不再详述。
具体的,本申请实施例的终端930还可以包括坐标系构件模块,用于构建以所述无人机的飞行方向为X轴,所述无人机机翼左侧为Y轴,竖直向上为Z轴的空间直角坐标系。
具体的,本申请实施例的终端930还可以包括视频图像显示模块,用于实时视频图像显示的系统按照获取的所述实时视频图像的分辨率变换长宽比例,且所述投影覆盖范围的四个角点A、B、C、D对应用于实时视频图像显示的界面的四个边界点。
具体的,所述图像像素坐标计算模块1040还用于接收用于实时视频图像显示的界面上鼠标光标的选中操作,记录所述选中操作的所述实时选取区域的图像像素坐标。
具体的,所述实际坐标位置计算模块1050还用于根据所述实时选取区域的图像像素坐标占据所述用于实时视频图像显示的界面的长宽比例,计算所述实时选取区域的图像像素坐标的四个边缘角点坐标A′、B′、C′、D′,根据所述四个边缘角点坐标A′、B′、C′、D′结合所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。
具体的,本申请实施例的终端930还可以包括插值计算模块,用于当所述摄像机偏转角omega和无人机航向角kappa中的一项或两项不等于零度时,使用双线性插值法计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。
本申请实施例的终端930,实时视频图像数据获取模块1010用于获取所述无人机摄像装置的实时视频图像数据;投影覆盖范围计算模块1020用于获取所述无人机的摄像装置的拍摄参数,获取所述无人机的飞行参数,并根据所述拍摄参数和飞行参数计算投影覆盖范围;映射模块1030用于根据所述投影覆盖范围对所述实时视频图像进行像素方位的映射得到映射数据;图像像素坐标计算模块1040用于接收对所述实时视频图像的实时区域选取,并计算实时选取区域的图像像素坐标;实际坐标位置计算模块1050,用于根据所述实时选取区域的图像像素坐标和所述映射数据,计算所述实时选取区域对应所述投影覆盖范围的实际坐标位置。根据投影覆盖范围与实时视频图像直接的映射数据,在对所述实时视频图像的实时区域选取时,可计算出选取的区域对应所述投影覆盖范围的实际坐标位置,便于后续发起交互式操作。
本申请实施例还提供了一种计算机可读存储介质。这里的计算机可读存储介质存储有一个或者多个程序。其中,计算机可读存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。当计算机可读存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例提供的无人机实时视频图像坐标指示方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。