[发明专利]一种基于opengl的720全景展开监控方法有效
申请号: | 201811202840.0 | 申请日: | 2018-10-16 |
公开(公告)号: | CN109461116B | 公开(公告)日: | 2023-04-28 |
发明(设计)人: | 王锦文 | 申请(专利权)人: | 浩云科技股份有限公司 |
主分类号: | G06T3/00 | 分类号: | G06T3/00;G06T3/40;G06T5/00;G06T5/50;G06T7/40;G06T7/80;G06T7/90 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 颜希文;宋静娜 |
地址: | 510000 广东省广州市番禺区东环*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 opengl 720 全景 展开 监控 方法 | ||
1.一种基于opengl的720全景展开监控方法,其特征在于:包括以下步骤,a、创建蒙版图像;b、建立数学模型计算顶点坐标和纹理坐标;c、图像渲染显示;d、热点区域添加与操作;
步骤a中创建蒙版图像,为使用棋盘格针对相机标定后获取的双鱼眼镜头的内参,接下来假设左镜头获取的内参为左镜头的畸变参数为(kl1 kl2 kl3kl4),其中flx,fly分别为图像U轴和V轴上的焦距尺度因子,(Clx Cly)为图像的主点坐标;右镜头的内参为右镜头的畸变参数为(kr1 kr2 kr3 kr4),取作为图像融合部分的权重,可记为[α,β];根据鱼眼图像的投影模型,使用多项式的方式计算投影函数,投影函数为:r=theta+k1·theta3+k2·theta5+k·theta7+k4·theta9,其中theta为入射角,(k1 k2 k3 k4)为镜头畸变参数,根据此公式分别计算取最小融合角α时左右镜头的对应的鱼眼图像中的点到畸变中心的距离,对左镜头距离记为(Xl,Yl),右镜头距离为(Xr,Yr),计算公式为:将得到两个椭圆内部区域填充为白色;然后取[α,β]部分计算权重,计算方法为,从α角开始计算,每次迭代增量设置为T,直到β停止计算;假设此时的视角为φ,则权重公式计算为:按照投影函数公式分别计算左右镜头投影球面点到投影中心的距离记为(r1,r2);由鱼眼图像中的点到畸变中心的距离计算公式,得到此时左右镜头对应的图像点到畸变中心点的距离,分别计算左右镜头围绕一圈的像素点,将w赋值给该像素点作为此像素点对应的权重;像素点的计算公式为:其中λ为图像中该像素点与图像中心连线与x轴正方向的夹角,得到具有权重的蒙版图;
步骤b中建立数学模型计算顶点坐标和纹理坐标,其中球的经度为360度,纬度为180度,将经度分为nw等分,纬度分为nh等分,
球面坐标公式为:
纹理坐标计算公式为:
其中R为展开的球半径,alpha为经度角,theta为纬度角,w,h分别为原图像的宽和高;
步骤c中图像渲染显示,为将左右半球图像顶点坐标和纹理坐标传入shader,将蒙版图像通过glTexImage2D函数指定蒙版图像的纹理颜色组件和像素数据的颜色格式为GL_ALPHA,接下来在shader里使用通道数据进行融合;
步骤d热点区域添加与操作包括在720全景展开的基础上添加半透明区域,用于在全景中标识和关联相关的设备。
2.根据权利要求1所述的基于opengl的720全景展开监控方法,其特征在于:球面360°展开计算方法为将球进行360展开,展开后的长度为R,R水平方向和竖直方向分别进行nw和nh等分,分别用stepx表示水平方向上每等分的长度,用stepy表示竖直方向上每等分的长度,纬度角(lt)为与X轴正方向的夹角,经度角(lg)为与z轴正方向的夹角,建立经纬度坐标系,计算此坐标系下球面坐标为
重新选择坐标系,纬度角(theta)与z轴正方向为夹角,经度角(alpha)与X轴正方向为夹角;此时theta和alpha计算公式为:
顶点坐标为
3.根据权利要求2中所述的基于opengl的720全景展开监控方法,其特征在于:
所述在shader里使用通道数据进行融合中的融合公式表示为:根据顶点的坐标进行计算,如果z顶点坐标大于0,则c=l*a1+(1-a1)*r,如果z顶点坐标小于0,则c=r*a2+(1-a2)*l,其中c为最终的融合后颜色值,l为左半球的颜色值,r为有半球的颜色值,a1为左半球对应的蒙版权重值,a2为右半球对应的蒙版权重值。
4.根据权利要求3所述的基于opengl的720全景展开监控方法,其特征在于:
所述在720全景展开的基础上添加半透明区域中的半透明区域热点添加算法具体步骤为,d1接受用户输入的二维坐标信息,d2通过某种变换得到opengl坐标,具体做法是:d1.1将屏幕输入的二维坐标变换到视窗坐标,屏幕坐标以屏幕左上角为原点,而opengl坐标以屏幕左下角为原点,假设屏幕坐标输入为(x,y),则转换为视窗坐标公式表示为其中v表示为视窗的高度;d1.2将视窗坐标转换为opengl坐标,首先调用glReadPixels函数获取该像素点处的深度缓冲区数据,然后调用gluUnProject获取物体三维坐标,从而实现三维坐标与二维坐标一一对应,再然后经过反投影,将物体坐标转换为窗口坐标,以在窗口中显示出来,具体显示方法是,假设人的眼睛站在球外面看,建立数学模型求此时人的眼睛的可视面的范围方法如下,假设眼睛坐标为(xe,ye,ze),球面半径为R’,以球的中心为坐标建立坐标系,以球面的背面作为可视面,可视角为φ,E为视点位置,则根据余弦公式可算出θ,其中θ为视点位置与观察点连线和过视点位置作与圆相切直线的夹角;则可视角再根据余弦定理的向量公式求出E点与热点区域顶点夹角是否在可视角φ内,从而判断是否需要显示该热点区域;
接下来通过鼠标点击画面点亮热点区域,第一步,将鼠标位置坐标转为场景中的三维坐标,第二步,根据三维坐标反投影得到的场景在窗口坐标中的坐标点是否在多边形内,来判断鼠标所在坐标点是否在热点内,并且根据可视面判断方法判断该热点是否为可视,如果该鼠标位置坐标同时满足上述两个条件,则点亮热点区域,并显示该区域的唯一标识符,反之则不点亮热点区域不进行添加;
基于opengl的720全景展开监控方法还包括将指定热区域按照一定速度旋转到可视窗口中心,从而实现设备的快速预览与状态监控,具体为计算该唯一标识符对应的热点区域的中心,记为(a,b,c),建立坐标系,纬度角为点a与坐标原点连线与x轴正方向的夹角,经度角为该中心点投影到yz平面的点p与坐标原点连线与y轴正方向的夹角,则可计算该热点的目标经纬角,公式表示为:
其中,sign取值为:当c0时,当c0时,
上式中β为目标纬度角,α为目标经度角,然后获取当前场景的经纬度角,每次以一定的速度更新经纬度角直到场景的经纬度角等于指定热点目标经纬度角,完成热点区域的移动到视窗中心的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浩云科技股份有限公司,未经浩云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811202840.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于深度卷积网络的自动图像配准方法
- 下一篇:一种图像处理方法及移动终端