CN109461116A - 一种基于opengl的720全景展开监控方法 - Google Patents
一种基于opengl的720全景展开监控方法 Download PDFInfo
- Publication number
- CN109461116A CN109461116A CN201811202840.0A CN201811202840A CN109461116A CN 109461116 A CN109461116 A CN 109461116A CN 201811202840 A CN201811202840 A CN 201811202840A CN 109461116 A CN109461116 A CN 109461116A
- Authority
- CN
- China
- Prior art keywords
- coordinate
- angle
- hot spot
- latitude
- longitude
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012544 monitoring process Methods 0.000 title claims abstract description 22
- 238000013178 mathematical model Methods 0.000 claims abstract description 9
- 238000009877 rendering Methods 0.000 claims abstract description 6
- 238000004364 calculation method Methods 0.000 claims description 21
- 241000251468 Actinopterygii Species 0.000 claims description 11
- 230000004927 fusion Effects 0.000 claims description 11
- 230000000007 visual effect Effects 0.000 claims description 4
- 210000004720 cerebrum Anatomy 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 5
- 230000007704 transition Effects 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
- G06T3/047—Fisheye or wide-angle transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Closed-Circuit Television Systems (AREA)
- Image Processing (AREA)
Abstract
本发明属于视频监控技术领域,特别是涉及一种基于opengl的720全景展开监控方法。具体包括以下步骤,a、创建蒙版图像;b、建立数学模型计算顶点坐标和纹理坐标;c、图像渲染显示;d、热点区域添加与操作。本发明通过创建一幅与原始图像一样大小的带alpha值的蒙板图来进行拼接处的融合,达到平滑过渡的效果,步骤更加简单,处理效率高效,使画面的真实感与现场感更强。
Description
技术领域
本发明属于视频监控技术领域,特别是涉及一种基于opengl的720全景展开监控方法。
背景技术
图像拼接技术将一组存在重叠的图像序列首先在空间上进行自动配准,然后经过插值融合,最终生成宽视角的图像。基于多路视频拼接的技术,需要每幅图像进行图像预处理,找特征点,然后特征匹配,再进行图像融合等操作,需要耗费更多资源。近年来随着全景技术的发展,双鱼眼广角镜头应用在监控中越来越被广泛应用,能达到无死角监控,通过拼接技术,增强了画面的真实感和现场感。
由于双鱼眼镜头画面重叠区域比较少,使用传统算法提取特征点,可能会导致特征点稀疏无法正确匹配,从而导致图像拼接无效;如果将两幅鱼眼图像通过某种关系映射分别映射成半球,然后一幅图像旋转180度拼接起来,则拼接部分缝隙明显,带来的体验性将很差;目前双鱼眼镜头720度拼接方法,现有技术通过确定重叠区域位置后,对重叠区域像素进行筛选,运用最小二乘法拟合得到色彩偏差转换参数,然后进行颜色转换得到拼接处的平滑过渡效果,但是其处理过程复杂,效率较低,处理效果一般。
发明内容
本发明提供了一种基于opengl的720全景展开监控方法。
具体技术方案是,所述基于opengl的720全景展开监控方法,包括以下步骤,a、创建蒙版图像;b、建立数学模型计算顶点坐标和纹理坐标;c、图像渲染显示;d、热点区域添加与操作。
进一步的,步骤a中创建蒙版图像,具体为使用棋盘格针对相机标定后获取的双鱼眼镜头的内参,接下来假设左镜头获取的内参为左镜头的畸变参数为(kl1 kl2 kl3 kl4),其中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分别为原图像的宽和高。
球面360°展开计算方法为将球进行360展开,展开后的长度为R,R水平方向和竖直方向分别进行nw和nh等分,分别用stepx表示水平方向上每等分的长度,用stepy表示竖直方向上每等分的长度,纬度角(lt)为与X轴正方向的夹角,经度角(lg)为与z轴正方向的夹角,建立经纬度坐标系,计算此坐标系下球面坐标为
重新选择坐标系,纬度角(theta)与z轴正方向为夹角,经度角(alpha)与X轴正方向为夹角。此时theta和alpha计算公式为:
顶点坐标为
步骤c中图像渲染显示,为将左右半球图像顶点坐标和纹理坐标传入shader,将蒙板图像通过glTexImage2D函数指定蒙板图像的纹理颜色组件和像素数据的颜色格式为GL_ALPHA,接下来在shader里使用通道数据进行融合,融合公式表示为:根据顶点的坐标进行计算,如果z顶点坐标大于0,则c=l*a1+(1-a1)*r,如果z顶点坐标小于0,则c=r*a2+(1-a2)*l,其中c为最终的融合后颜色值,l为左半球的颜色值,r为有半球的颜色值,a1为左半球对应的蒙板权重值,a2为右半球对应的蒙板权重值。
步骤d热点区域添加与操作包括在720全景展开的基础上添加半透明区域,用于在全景中标识和关联相关的设备,半透明区域热点添加算法具体步骤为,d1接受用户输入的二维坐标信息,d2通过某种变换得到opengl坐标,具体做法是:d1.1将屏幕输入的二维坐标变换到视窗坐标,屏幕坐标以屏幕左上角为原点,而opengl坐标以屏幕左下角为原点,假设屏幕坐标输入为(x,y),则转换为视窗坐标公式表示为其中v表示为视窗的高度;d1.2将视窗坐标转换为opengl坐标,首先调用glReadPixels函数获取该像素点处的深度缓冲区数据,然后调用gluUnProject获取物体三维坐标,从而实现三维坐标与二维坐标一一对应,再然后经过反投影,将物体坐标转换为窗口坐标,以在窗口中显示出来,具体显示方法是,假设人的眼睛站在球外面看,建立数学模型求此时人的眼睛的可视面的范围方法如下,假设眼睛坐标为(xe,ye,ze),球面半径为R’,以球的中心为坐标建立坐标系,以球面的背面作为可视面,可视角为φ,E为视点位置,则根据余弦公式可算出θ,其中θ为视点位置与观察点连线和过视点位置作与圆相切直线的夹角;则可视角再根据余弦定理的向量公式求出E点与热点区域顶点夹角是否在可视角φ内,从而判断是否需要显示该热点区域;
接下来通过鼠标点击画面点亮热点区域,第一步,将鼠标位置坐标转为场景中的三维坐标,第二步,根据三维坐标反投影得到的场景在窗口坐标中的坐标点是否在多边形内,来判断鼠标所在坐标点是否在热点内,并且根据可视面判断方法判断该热点是否为可视,如果该鼠标位置坐标同时满足上述两个条件,则点亮热点区域,并显示该区域的唯一标识符,反之则不点亮热点区域不进行添加;
基于opengl的720全景展开监控方法还包括将指定热区域按照一定速度旋转到可视窗口中心,从而实现设备的快速预览与状态监控,具体为计算该ID对应的热点区域的中心,记为(a,b,c),建立坐标系,纬度角为点a与坐标原点连线与x轴正方向的夹角,经度角为该中心点投影到yz平面的点p与坐标原点连线与y轴正方向的夹角,则可计算该热点的目标经纬角,公式表示为:
上式中β为目标纬度角,α为目标经度角,然后获取当前场景的经纬度角,每次以一定的速度更新经纬度角直到场景的经纬度角等于指定热点目标经纬度角,完成热点区域的移动到视窗中心的操作。
通过添加热点区域来完成与设备之间的绑定;通过点亮热点区域从而实现根据设备信息增强需要点亮的设备;通过移动热点到画面中心从而便于查看此设备的监控状态。
有益效果,通过创建一幅与原始图像一样大小的带alpha值的蒙板图来进行拼接处的融合,达到平滑过渡的效果,步骤更加简单,处理效率高效,使画面的真实感与现场感更强;通过算法的设计从而实现全景视频实时监控;并且通过在拼接算法的基础上添加热点从而实现联动监控范围内倒设备时,可以实时查看各设备的物理状态。
附图说明
图1是本申请的展开监控流程图。
图2是可视角度示意图。
附图标记说明:φ为可视角;E为视点位置;θ为视点位置与观察点连线和过视点位置作与圆相切直线的夹角。
具体实施方式
实施例1,如图1、图2所示,创建蒙板图像,首先经过使用棋盘格对相机标定后获取双鱼眼镜头的内参,假设左镜头获取的内参为左镜头的畸变参数为(kl1 kl2kl3 kl4),其中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轴正方向的夹角。这样就创造了一幅具有权重的与原始图像一样大小的蒙板图。
建立数学模型计算顶点坐标和纹理坐标。
(1)原始模式(球形展开)
思想:球的经度为360度,纬度为180度,将经度分为nw等分,纬度分为nh等分,然后按照球面坐标计算出顶点,并求出此顶点对应的纹理坐标,R为展开的球半径,alpha为经度角,theta为纬度角,球面坐标公式为:
纹理坐标计算公式为:
其中w,h分别为原图像的宽和高。
(2)360展开
思想:球的经度为360度,纬度为180度,将经度分为nw等分,纬度分为nh等分,展开的长度为R,同样将R水平方向和竖直方向分别分为nw和nh等分,分别用stepx和stepy每等分的长度,纬度角(lt)为与X轴正方向的夹角,经度角(lg)为与z轴正方向的夹角,建立经纬度坐标系,计算此坐标系下球面坐标为
重新选择坐标系,纬度角(theta)与z轴正方向为夹角,经度角(alpha)与X轴正方向为夹角。此时theta和alpha计算公式为:
顶点坐标为
纹理坐标计算方法与球面展开方法一样,在此不再赘述。
图像渲染显示。
将左右半球图像顶点坐标和纹理坐标传入shader,将蒙板图像通过glTexImage2D函数指定蒙板图像的纹理颜色组件和像素数据的颜色格式为GL_ALPHA。则在shader里就可以使用该通道数据进行融合,融合公式表示为:根据顶点的坐标进行计算,如果z顶点坐标大于0,则c=l*a1+(1-a1)*r,如果z顶点坐标小于0,则c=r*a2+(1-a2)*l,其中c为最终的融合后颜色值,l为左半球的颜色值,r为有半球的颜色值,a1为左半球对应的蒙板权重值,a2为右半球对应的蒙板权重值。
热点区域添加与操作。
步骤d热点区域添加与操作包括在720全景展开的基础上添加半透明区域,用于在全景中标识和关联相关的设备,半透明区域热点添加算法具体步骤为,d1接受用户输入的二维坐标信息,d2通过某种变换得到opengl坐标,具体做法是:d1.1将屏幕输入的二维坐标变换到视窗坐标,屏幕坐标以屏幕左上角为原点,而opengl坐标以屏幕左下角为原点,假设屏幕坐标输入为(x,y),则转换为视窗坐标公式表示为其中v表示为视窗的高度;d1.2将视窗坐标转换为opengl坐标,首先调用glReadPixels函数获取该像素点处的深度缓冲区数据,然后调用gluUnProject获取物体三维坐标,从而实现三维坐标与二维坐标一一对应,再然后经过反投影,将物体坐标转换为窗口坐标,以在窗口中显示出来,具体显示方法是,假设人的眼睛站在球外面看,建立数学模型求此时人的眼睛的可视面的范围方法如下,假设眼睛坐标为(xe,ye,ze),球面半径为R’,以球的中心为坐标建立坐标系,以球面的背面作为可视面,可视角为φ,E为视点位置,则根据余弦公式可算出θ,其中θ为视点位置与观察点连线和过视点位置作与圆相切直线的夹角;则可视角再根据余弦定理的向量公式求出E点与热点区域顶点夹角是否在可视角φ内,从而判断是否需要显示该热点区域;
接下来通过鼠标点击画面点亮热点区域,第一步,将鼠标位置坐标转为场景中的三维坐标,第二步,根据三维坐标反投影得到的场景在窗口坐标中的坐标点是否在多边形内,来判断鼠标所在坐标点是否在热点内,并且根据可视面判断方法判断该热点是否为可视,如果该鼠标位置坐标同时满足上述两个条件,则点亮热点区域,并显示该区域的唯一标识符,反之则不点亮热点区域不进行添加;
基于opengl的720全景展开监控方法还包括将指定热区域按照一定速度旋转到可视窗口中心,从而实现设备的快速预览与状态监控,具体为计算该ID对应的热点区域的中心,记为(a,b,c),建立坐标系,纬度角为点a与坐标原点连线与x轴正方向的夹角,经度角为该中心点投影到yz平面的点p与坐标原点连线与y轴正方向的夹角,则可计算该热点的目标经纬角,公式表示为:
上式中β为目标纬度角,α为目标经度角,然后获取当前场景的经纬度角,每次以一定的速度更新经纬度角直到场景的经纬度角等于指定热点目标经纬度角,完成热点区域的移动到视窗中心的操作。
通过添加热点区域来完成与设备之间的绑定;通过点亮热点区域从而实现根据设备信息增强需要点亮的设备;通过移动热点到画面中心从而便于查看此设备的监控状态。
通过创建一幅与原始图像一样大小的带alpha值的蒙板图来进行拼接处的融合,达到平滑过渡的效果,步骤更加简单,处理效率高效,使画面的真实感与现场感更强;通过算法的设计从而实现全景视频实时监控;并且通过在拼接算法的基础上添加热点从而实现联动监控范围内倒设备时,可以实时查看各设备的物理状态。
Claims (6)
1.一种基于opengl的720全景展开监控方法,其特征在于:包括以下步骤,a、创建蒙版图像;b、建立数学模型计算顶点坐标和纹理坐标;c、图像渲染显示;d、热点区域添加与操作。
2.根据权利要求1所述的基于opengl的720全景展开监控方法,其特征在于:
步骤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轴正方向的夹角,得到具有权重的蒙板图。
3.根据权利要求2所述的基于opengl的720全景展开监控方法,其特征在于:
步骤b中建立数学模型计算顶点坐标和纹理坐标,其中球的经度为360度,纬度为180度,将经度分为nw等分,纬度分为nh等分,
球面坐标公式为:
纹理坐标计算公式为:
其中R为展开的球半径,alpha为经度角,theta为纬度角,w,h分别为原图像的宽和高。
4.根据权利要求3所述的基于opengl的720全景展开监控方法,其特征在于:球面360°展开计算方法为将球进行360展开,展开后的长度为R,R水平方向和竖直方向分别进行nw和nh等分,分别用stepx表示水平方向上每等分的长度,用stepy表示竖直方向上每等分的长度,纬度角(lt)为与X轴正方向的夹角,经度角(lg)为与z轴正方向的夹角,建立经纬度坐标系,计算此坐标系下球面坐标为
重新选择坐标系,纬度角(theta)与z轴正方向为夹角,经度角(alpha)与X轴正方向为夹角。此时theta和alpha计算公式为:
顶点坐标为
5.根据权利要求4中所述的基于opengl的720全景展开监控方法,其特征在于:
步骤c中图像渲染显示,为将左右半球图像顶点坐标和纹理坐标传入shader,将蒙板图像通过glTexImage2D函数指定蒙板图像的纹理颜色组件和像素数据的颜色格式为GL_ALPHA,接下来在shader里使用通道数据进行融合,融合公式表示为:根据顶点的坐标进行计算,如果z顶点坐标大于0,则c=l*a1+(1-a1)*r,如果z顶点坐标小于0,则c=r*a2+(1-a2)*l,其中c为最终的融合后颜色值,l为左半球的颜色值,r为有半球的颜色值,a1为左半球对应的蒙板权重值,a2为右半球对应的蒙板权重值。
6.根据权利要求1-5中任一所述的基于opengl的720全景展开监控方法,其特征在于:
步骤d热点区域添加与操作包括在720全景展开的基础上添加半透明区域,用于在全景中标识和关联相关的设备,半透明区域热点添加算法具体步骤为,d1接受用户输入的二维坐标信息,d2通过某种变换得到opengl坐标,具体做法是:d1.1将屏幕输入的二维坐标变换到视窗坐标,屏幕坐标以屏幕左上角为原点,而opengl坐标以屏幕左下角为原点,假设屏幕坐标输入为(x,y),则转换为视窗坐标公式表示为其中v表示为视窗的高度;d1.2将视窗坐标转换为opengl坐标,首先调用glReadPixels函数获取该像素点处的深度缓冲区数据,然后调用gluUnProject获取物体三维坐标,从而实现三维坐标与二维坐标一一对应,再然后经过反投影,将物体坐标转换为窗口坐标,以在窗口中显示出来,具体显示方法是,假设人的眼睛站在球外面看,建立数学模型求此时人的眼睛的可视面的范围方法如下,假设眼睛坐标为(xe,ye,ze),球面半径为R’,以球的中心为坐标建立坐标系,以球面的背面作为可视面,可视角为φ,E为视点位置,则根据余弦公式可算出θ,其中θ为视点位置与观察点连线和过视点位置作与圆相切直线的夹角;则可视角再根据余弦定理的向量公式求出E点与热点区域顶点夹角是否在可视角φ内,从而判断是否需要显示该热点区域;
接下来通过鼠标点击画面点亮热点区域,第一步,将鼠标位置坐标转为场景中的三维坐标,第二步,根据三维坐标反投影得到的场景在窗口坐标中的坐标点是否在多边形内,来判断鼠标所在坐标点是否在热点内,并且根据可视面判断方法判断该热点是否为可视,如果该鼠标位置坐标同时满足上述两个条件,则点亮热点区域,并显示该区域的唯一标识符,反之则不点亮热点区域不进行添加;
基于opengl的720全景展开监控方法还包括将指定热区域按照一定速度旋转到可视窗口中心,从而实现设备的快速预览与状态监控,具体为计算该ID对应的热点区域的中心,记为(a,b,c),建立坐标系,纬度角为点a与坐标原点连线与x轴正方向的夹角,经度角为该中心点投影到yz平面的点p与坐标原点连线与y轴正方向的夹角,则可计算该热点的目标经纬角,公式表示为:
上式中β为目标纬度角,α为目标经度角,然后获取当前场景的经纬度角,每次以一定的速度更新经纬度角直到场景的经纬度角等于指定热点目标经纬度角,完成热点区域的移动到视窗中心的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811202840.0A CN109461116B (zh) | 2018-10-16 | 2018-10-16 | 一种基于opengl的720全景展开监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811202840.0A CN109461116B (zh) | 2018-10-16 | 2018-10-16 | 一种基于opengl的720全景展开监控方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109461116A true CN109461116A (zh) | 2019-03-12 |
CN109461116B CN109461116B (zh) | 2023-04-28 |
Family
ID=65607746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811202840.0A Active CN109461116B (zh) | 2018-10-16 | 2018-10-16 | 一种基于opengl的720全景展开监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109461116B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111256598A (zh) * | 2020-03-04 | 2020-06-09 | 中国水产科学研究院黄海水产研究所 | 活体对虾生长表型高精度测量系统和方法 |
CN113160422A (zh) * | 2021-03-24 | 2021-07-23 | 北京皮尔布莱尼软件有限公司 | 一种展品位置的定位方法、计算设备及可读存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW421969B (en) * | 1999-03-19 | 2001-02-11 | Asustek Comp Inc | 3D image processing device and method |
US20090262125A1 (en) * | 2008-04-18 | 2009-10-22 | Vasanth Swaminathan | Rendering A Multiple Viewpoint Image Into A Single Frame Buffer Using Off-Screen Rendering Surfaces |
CN102385762A (zh) * | 2011-10-20 | 2012-03-21 | 上海交通大学 | 集成Modelica的三维视景仿真系统 |
US20150116310A1 (en) * | 2013-10-28 | 2015-04-30 | Vmware, Inc. | Method and system to virtualize graphic processing services |
US20150222861A1 (en) * | 2014-02-05 | 2015-08-06 | Panasonic Intellectual Property Management Co., Ltd. | Monitoring apparatus, monitoring system, and monitoring method |
CN105354248A (zh) * | 2015-10-19 | 2016-02-24 | 南通大学 | 基于灰度的分布式图像底层特征识别方法及系统 |
CN105991992A (zh) * | 2016-06-21 | 2016-10-05 | 浩云科技股份有限公司 | 全空间同步监控摄像系统 |
CN106224007A (zh) * | 2016-08-26 | 2016-12-14 | 招商局重庆交通科研设计院有限公司 | 隧道施工安全监测预警管理系统 |
CN106570938A (zh) * | 2016-10-21 | 2017-04-19 | 哈尔滨工业大学深圳研究生院 | 基于opengl 的全景监控方法及系统 |
CN108198208A (zh) * | 2017-12-27 | 2018-06-22 | 浩云科技股份有限公司 | 一种基于目标跟踪的移动侦测方法 |
CN108399646A (zh) * | 2017-02-07 | 2018-08-14 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法及装置 |
-
2018
- 2018-10-16 CN CN201811202840.0A patent/CN109461116B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW421969B (en) * | 1999-03-19 | 2001-02-11 | Asustek Comp Inc | 3D image processing device and method |
US20090262125A1 (en) * | 2008-04-18 | 2009-10-22 | Vasanth Swaminathan | Rendering A Multiple Viewpoint Image Into A Single Frame Buffer Using Off-Screen Rendering Surfaces |
CN102385762A (zh) * | 2011-10-20 | 2012-03-21 | 上海交通大学 | 集成Modelica的三维视景仿真系统 |
US20150116310A1 (en) * | 2013-10-28 | 2015-04-30 | Vmware, Inc. | Method and system to virtualize graphic processing services |
US20150222861A1 (en) * | 2014-02-05 | 2015-08-06 | Panasonic Intellectual Property Management Co., Ltd. | Monitoring apparatus, monitoring system, and monitoring method |
CN105354248A (zh) * | 2015-10-19 | 2016-02-24 | 南通大学 | 基于灰度的分布式图像底层特征识别方法及系统 |
CN105991992A (zh) * | 2016-06-21 | 2016-10-05 | 浩云科技股份有限公司 | 全空间同步监控摄像系统 |
CN106224007A (zh) * | 2016-08-26 | 2016-12-14 | 招商局重庆交通科研设计院有限公司 | 隧道施工安全监测预警管理系统 |
CN106570938A (zh) * | 2016-10-21 | 2017-04-19 | 哈尔滨工业大学深圳研究生院 | 基于opengl 的全景监控方法及系统 |
CN108399646A (zh) * | 2017-02-07 | 2018-08-14 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法及装置 |
CN108198208A (zh) * | 2017-12-27 | 2018-06-22 | 浩云科技股份有限公司 | 一种基于目标跟踪的移动侦测方法 |
Non-Patent Citations (3)
Title |
---|
刘志等: "车载3D全景模型及纹理映射算法", 《计算机工程与设计》 * |
李铭等: "AFRS人脸自动识别系统的设计与开发", 《信号处理》 * |
罗汀等: "虚拟现实在机场高填方压实质量监控系统中的应用", 《工业建筑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111256598A (zh) * | 2020-03-04 | 2020-06-09 | 中国水产科学研究院黄海水产研究所 | 活体对虾生长表型高精度测量系统和方法 |
CN113160422A (zh) * | 2021-03-24 | 2021-07-23 | 北京皮尔布莱尼软件有限公司 | 一种展品位置的定位方法、计算设备及可读存储介质 |
CN113160422B (zh) * | 2021-03-24 | 2024-02-23 | 北京皮尔布莱尼软件有限公司 | 一种展品位置的定位方法、计算设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109461116B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021120407A1 (zh) | 一种基于多对双目相机的视差图像拼接与可视化方法 | |
CN109003311B (zh) | 一种鱼眼镜头的标定方法 | |
CN106101689B (zh) | 利用手机单目摄像头对虚拟现实眼镜进行增强现实的方法 | |
CN103763479B (zh) | 实时高速高清全景视频的拼接装置及其方法 | |
CN105243637B (zh) | 一种基于三维激光点云进行全景影像拼接方法 | |
CN106534670B (zh) | 一种基于固联鱼眼镜头摄像机组的全景视频生成方法 | |
CN112085659B (zh) | 一种基于球幕相机的全景拼接融合方法、系统及存储介质 | |
CN101146231A (zh) | 根据多视角视频流生成全景视频的方法 | |
CN108200360A (zh) | 一种多鱼眼镜头全景摄像机的实时视频拼接方法 | |
CN104506828B (zh) | 一种无有效重叠变结构的定点定向视频实时拼接方法 | |
CN105957048A (zh) | 鱼眼镜头拍摄图像的3d全景显示方法和系统 | |
CN111062869B (zh) | 一种面向曲面幕的多通道校正拼接的方法 | |
CN102096949B (zh) | 一种360度数字球幕电影的制作方法 | |
CN107862718B (zh) | 4d全息视频捕捉方法 | |
CN104318604A (zh) | 一种3d图像拼接方法及装置 | |
CN105809729B (zh) | 一种虚拟场景的球形全景渲染方法 | |
JPH11175762A (ja) | 光環境計測装置とそれを利用した仮想画像への陰影付与装置及び方法 | |
CN109523622A (zh) | 一种非结构化的光场渲染方法 | |
Zhang et al. | Research and implementation of digital 3D panoramic visual communication technology based on virtual reality | |
CN110675484A (zh) | 一种基于复眼相机的具有时空一致性的动态三维数字场景构建方法 | |
CN107197135A (zh) | 一种视频生成方法、播放方法及视频生成装置、播放装置 | |
CN111770326A (zh) | 一种全景视频投射的室内三维监控方法 | |
CN109461116A (zh) | 一种基于opengl的720全景展开监控方法 | |
CN101807311A (zh) | 一种数字球幕电影的制作方法 | |
CN109801273A (zh) | 一种基于极平面线性相似度的光场图像质量评价方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |