CN112184801A - 一种用于鱼眼摄像头的数据展示方法和移动终端 - Google Patents

一种用于鱼眼摄像头的数据展示方法和移动终端 Download PDF

Info

Publication number
CN112184801A
CN112184801A CN202011058574.6A CN202011058574A CN112184801A CN 112184801 A CN112184801 A CN 112184801A CN 202011058574 A CN202011058574 A CN 202011058574A CN 112184801 A CN112184801 A CN 112184801A
Authority
CN
China
Prior art keywords
image
processing unit
target navigation
projection matrix
window
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.)
Pending
Application number
CN202011058574.6A
Other languages
English (en)
Inventor
王小荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hubei Antai Zaze Technology Co ltd
Original Assignee
Hubei Antai Zaze Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hubei Antai Zaze Technology Co ltd filed Critical Hubei Antai Zaze Technology Co ltd
Priority to CN202011058574.6A priority Critical patent/CN112184801A/zh
Publication of CN112184801A publication Critical patent/CN112184801A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/003Reconstruction from projections, e.g. tomography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例提供一种用于鱼眼摄像头的数据展示方法和移动终端,涉及智慧城市技术领域。该方法包括:CPU复制图像数据得到第一图像数据和第二图像数据,并分别传输至第一处理单元、第二处理单元;第一处理单元根据第一投影矩阵和第一图像模型将第一图像数据渲染为大视角下的第一图像,并在第一窗口中显示第一图像;第二处理单元根据第二投影矩阵和第二图像模型,以及第二图像数据生成小视角下的第二图像,并在第二窗口中显示第二图像;第三处理单元根据第二投影矩阵和第一图像模型确定并处理第二图像对应第一图像模型内的目标导航区域,以得到目标导航图像并突出显示。本申请实施例提高对图像数据的理解效率,降低移动终端的耗电量。

Description

一种用于鱼眼摄像头的数据展示方法和移动终端
技术领域
本申请涉及智慧城市技术领域,具体涉及一种用于鱼眼摄像头的数据展示方法和移动终端。
背景技术
在传统的视频监控中,主要是2D平面图片的展示,但是随着计算机技术的崛起,鱼眼图像在监控行业中的优势越发明显。传统的平面摄像头中只能监控一个方位的场景,但鱼眼摄像头由于拥有更广的视角,能监控到视野更加广阔,这样原本需要多个平面摄像头监控的场地,现在只需要一个鱼眼摄像头就可以解决,大大节约了硬件成本。
由于鱼眼摄像头拥有更广的视角,所拍摄得到的鱼眼图像(图像数据)往往具有很大的畸变,且拍摄得到的鱼眼图像通常通过圆形来展示,不太好理解,需要专业技术人员才能看懂,导致鱼眼图像的应用不能很好的推广开来。
发明内容
本申请实施例提供一种用于鱼眼摄像头的数据展示方法和移动终端,可提高对鱼眼摄像头采集的图像数据的理解效率,降低了移动终端的耗电量,提升用户体验。
本申请实施例提供了一种用于鱼眼摄像头的数据展示方法,适用于与鱼眼摄像头无线通信的移动终端,所述移动终端包括中央处理器、存储器以及运行于图形处理器上的第一处理单元、第二处理单元、第三处理单元;所述数据展示方法包括:
所述中央处理器从所述存储器中读取鱼眼摄像头采集的图像数据;
复制所述图像数据得到第一图像数据和第二图像数据,并传输所述第一图像数据至所述第一处理单元、传输所述第二图像数据至所述第二处理单元;
所述第一处理单元根据第一投影矩阵和第一图像模型将所述第一图像数据渲染为大视角下的第一图像,并在数据展示界面的第一窗口展示所述第一图像;
所述中央处理器检测用户在所述数据展示界面的第二窗口上的控制操作;
所述中央处理器根据用户在所述数据展示界面的第二窗口上的控制操作,确定第二投影矩阵,并将所述第二投影矩阵传输至所述第二处理单元以及所述第三处理单元;
所述第二处理单元根据所述第二投影矩阵和第二图像模型,以及所述第二图像数据生成小视角下的第二图像,以及在所述第二窗口展示所述第二图像,所述第二投影矩阵与所述第一投影矩阵不相同,所述第二图像模型和所述第一图形模型相同;
所述第三处理单元根据所述第二投影矩阵和所述第一图像模型确定所述第二图像对应所述第一图像模型内的目标导航区域;
所述第三处理单元通过预设方式处理所述目标导航区域,得到目标导航图像,以在所述第一窗口内突出显示所述目标导航图像,其中,所述目标导航图像表示小视角下的所述第二图像在大视角下的所述第一图像中的位置信息。
本申请实施例还提供了一种移动终端,所述移动终端包括:
一个或多个中央处理器;存储器;一个或多个图形处理器,以及一个或多个计算机程序,其中所述中央处理器和所述存储器、所述图形处理器相连接,所述一个或多个计算机程序被存储于所述存储器中,并配置为由所述中央处理器和所述图形处理器执行上述所述的用于鱼眼摄像头的数据展示方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述所述的用于鱼眼摄像头的数据展示方法中的步骤。
本申请实施例通过移动终端的中央处理器和运行于图形处理器上的处理单元,将鱼眼摄像头采集的图像数据进行处理并展示,具体的,中央处理器复制图像数据得到第一图像数据和第二图像数据,并将第一图像数据传输至第一处理单元,将第二图像数据传输至第二处理单元;第一处理单元根据第一投影矩阵和第一图像模型将第一图像数据渲染为大视角下的第一图像,并在第一窗口中显示第一图像;第二处理单元根据第二投影矩阵和第二图像模型,以及第二图像数据生成小视角下的第二图像,并在第二窗口中显示第二图像,如此利用图形处理器来对图像数据进行处理,降低移动终端的耗电量,提高对图像数据处理的效率;处理后得到不同视角下的图像,提高对图像数据内容的理解效率;第三处理单元根据第二投影矩阵和第一图像模型确定第二图像对应第一图像模型内的目标导航区域,并通过预设方式处理目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像,一方面,利用图形处理器进行处理,提高对图像数据处理的效率,降低移动终端的耗电量,另一方面,由于目标导航图像表示小视角下的第二图像在大视角下的第一图像中的位置信息,因此根据目标导航图像使得用户可以很清晰的知道第二窗口内显示的第二图像,处于第一窗口内显示的第一图像中的哪个位置,以建立不同视角下的图像之间的关联关系,进一步提高对图像数据内容的理解效率,提高用户定位图像数据中所关注区域的速度,提升用户体验。此外,通过第二窗口显示的第二图像,也实现了图像数据的细节展示。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的数据展示方法的系统场景示意图;
图1b是本申请实施例提供的移动终端的结构示意图;
图1c是本申请实施例提供的移动终端的结构示意图;
图2是本申请实施例提供的用于鱼眼摄像头的数据展示方法的流程示意图;
图3是本申请实施例提供的鱼眼摄像头采集的图像数据的示意图;
图4是本申请实施例提供的顶点坐标和纹理坐标的示意图;
图5是本申请实施例提供的透视投影的成像原理示意图;
图6是本申请实施例提供的数据展示界面的示意图;
图7a和图7b是本申请实施例提供的数据展示方法的另一流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种用于鱼眼摄像头的数据展示方法、移动终端和存储介质。该移动终端包括但不限于智能手机、平板电脑、笔记本电脑、智能机器人、可穿戴设备、车载终端,等等。
请参阅图1a,是本申请实施例提供的数据展示系统的场景示意图。该数据展示系统包括鱼眼摄像头和移动终端。鱼眼摄像头的数量可以为一个或多个,移动终端也可以为一个或者多个,鱼眼摄像头与移动终端可以直接连接,也可以通过网络连接。鱼眼摄像头与移动终端可以通过有线的方式连接,也可以通过无线的方式连接等。如图1a实施例中的鱼眼摄像头与移动终端通过网络连接,其中,网络中包括路由器、网关等网络实体。
鱼眼摄像头可进行拍摄,以得到初始图像数据,其中,初始图像数据指的是鱼眼摄像头所拍摄的图像,并将拍摄的初始图像数据发送至移动终端;移动终端接收鱼眼摄像头拍摄的初始图像数据,将初始图像数据保存在存储器中。在一种情况下,直接将初始图像数据作为鱼眼摄像头采集的图像数据,接收图像数据并保存至存储器中,在另一情况下,对初始图像数据矫正处理,以得到鱼眼摄像头采集的图像数据,并保存至存储器中。最后通过处理器和图像处理器对图像数据进行相应处理并进行数据展示。
具体地,移动终端中包括处理器101,处理器101是该移动终端的控制中心。其中,处理器101包括一个或者一个以上处理核心的中央处理器1011(central processingunit,CPU),和至少一个图形处理器1012(Graphics Processing Unit,GPU)。至少一个图形处理器1012与中央处理器1011连接。如图1b所示,图形处理器1012中包括第一处理单元、第二处理单元、第三处理单元。多个移动终端中还包括一个或一个以上计算机可读存储介质的存储器102,存储器102与中央处理器1011连接。需要注意的是,本申请实施例中的第一处理单元、第二处理单元、第三处理单元可以是运行于一个图形处理器1012上的三个相同或者不同的模块单元,也可以是运行于至少两个图形处理器1012上的不同模块单元。若第一处理单元、第二处理单元、第三处理单元是运行于至少两个图形处理器1012上的不同模块单元(如第一处理单元运行于一个图形处理器,第二处理单元运行于另一个图形处理器,第三处理单元运行于又一个图形处理器等),可理解为将移动终端的硬件进行了改进,提供了至少两个图形处理器(现有技术中,移动终端要么没有图形处理器,要么有一个图形处理器),可以通过至少两个图像处理器并行执行,大幅提高数据处理的效率,且利用图形处理器对数据进行处理,相对于CPU对数据进行处理,大幅提高了数据处理的效率和准确率,大大降低了移动终端的耗电量。
其中,中央处理器1011利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器102内的软件程序(计算机程序)和/或模块,以及调用存储在存储器102内的数据,如图像数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。可选的,中央处理器可包括一个或多个处理核心;优选的,中央处理器可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解地是,上述调制解调处理器也可以不集成到中央处理器中。图形处理器1012,主要实现对中央处理器传递过来的数据进行加速处理,如渲染等。
存储器102可用于存储软件程序(计算机程序)以及模块,处理器101通过运行存储在存储器102的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器102可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据移动终端的使用所创建的数据、鱼眼摄像头采集的图像数据等。此外,存储器102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器102还可以包括存储器控制器,以提供处理器101对存储器102的访问。
如图1c所示,移动终端中除了包括处理器101和存储器102之外,还可以包括:射频(Radio Frequency,RF)电路103、电源104、输入单元105、以及显示单元106等部件。本领域技术人员可以理解,图中示出的移动终端结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路103可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器101处理;另外,将涉及上行的数据发送给基站。通常,RF电路103包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路103还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobilecommunication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband CodeDivision Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
移动终端还包括给各个部件供电的电源104(比如电池),优选的,电源104可以通过电源管理系统与处理器101逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源104还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该移动终端还可包括输入单元105,该输入单元105可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体地实施例中,输入单元105可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器101,并能接收处理器101发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元105还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
该移动终端还可包括显示单元106,该显示单元106可用于显示由用户输入的信息或提供给用户的信息以及移动终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元106可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器101以确定触摸事件的类型,随后处理器101根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
尽管未示出,移动终端还可以包括摄像头(需要注意的是,该处的摄像头与下文所述的虚拟相机不同,该处的摄像头指的是硬件)、蓝牙模块等,在此不再赘述。具体在本实施例中,移动终端中的处理器101会按照对应的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器102中,并由处理器101来运行存储在存储器102中的计算机程序,从而实现下文中所述的任一用于鱼眼摄像头的数据展示方法中的步骤。因此,也可以实现下文中所述的任一用于鱼眼摄像头的数据展示方法所能实现的有益效果,具体请参看下文中的用于鱼眼摄像头的数据展示方法对应的描述。
图2是本申请实施例提供的用于鱼眼摄像头的数据展示方法的流程示意图。该数据展示方法运行于移动终端中,该数据展示方法包括如下步骤:
201,中央处理器从存储器中读取鱼眼摄像头采集的图像数据。
由于鱼眼摄像头的视角更广,所以鱼眼摄像头拍摄得到的图像比平面摄像头拍摄得到的图像包括更多的信息。鱼眼摄像头拍摄角度为类似半球形,得到的图像通过类似圆形等来表示,如若鱼眼摄像头的视角为180度,则拍摄角度刚好为半球,得到的图像以圆形呈现在二维平面上。
图3为本申请实施例提供的鱼眼摄像头直接采集得到的初始图像数据的示意图,中间的圆形区域即为鱼眼摄像头拍摄得到的初始图像。图3中鱼眼摄像头朝向天空,所拍摄得到的图像包括天空以及鱼眼摄像头所处位置周围的建筑物、树木等。
步骤201中,鱼眼摄像头采集的图像数据,可理解为鱼眼摄像头直接采集的初始图像数据,如图3所示的初始图像数据。鱼眼摄像头直接采集的初始图像数据,可通过网络发送至移动终端,如图1a所示,移动终端接收到鱼眼摄像头直接采集的初始图像数据,并将其保存至存储器中。鱼眼摄像头直接采集的初始图像数据,也可发送至其他终端,再由其他终端通过网络发送至本申请实施例中的移动终端,由移动终端接收并保存至存储器中。如此,步骤201中,中央处理器从存储器中读取鱼眼摄像头采集的图像数据,即读取的是鱼眼摄像头直接采集的初始图像数据。
在一些情况下,为了达到更好的展示效果,需要对鱼眼摄像头直接采集的初始图像数据进行进一步的处理。具体地,步骤201,包括:中央处理器从存储器中获取鱼眼摄像头拍摄得到的初始图像数据;中央处理器基于对鱼眼摄像头进行数据标定的标定结果,对初始图像数据进行畸变校正,将畸变矫正后的图像数据作为鱼眼摄像头采集的图像数据。
可以理解地,摄像头成像模型设计的时候会有理论参数,但不同的厂家经过点胶、烘烤等工艺之后,组装引入误差,会导致每个鱼眼镜头对应的参数都不一样。为了解决鱼眼摄像头硬件之间的差异性带来的影响,以及保证展示效果的精准性,对鱼眼摄像头进行数据标定。鱼眼摄像头厂家在鱼眼摄像头量产之前需要先对鱼眼摄像头进行标定,并提供标定接口,用户在购买鱼眼摄像头后,通过标定接口输入标定参数,以对鱼眼摄像头进行标定。数据标定的主要目的是为了得到鱼眼镜头对应的参数,以寻找图3所示的初始图像数据中的圆形区域。由于鱼眼摄像头硬件差异性,每个不同的鱼眼摄像头拍摄得到的初始图像数据中,圆形区域在图像中的位置是不同的。
对鱼眼摄像头进行数据标定后,根据数据标定的结果,对初始图像数据进行畸变校正。如采用经纬法对初始图像数据进行畸变校正,或者采用其他的方法对初始图像数据进行畸变校正,将畸变校正后的图像数据作为步骤201中的图像数据。畸变校正的目的是为了降低或者消除初始鱼眼图像中的畸变。如将图3所示的圆形区域的初始图像转换为一个2:1的长方形的图像数据。
进一步地,将校正后的图像数据转换为纹理单元,以便后续进行纹理映射。
202,复制图像数据得到第一图像数据和第二图像数据,并传输第一图像数据至第一处理单元、传输第二图像数据至第二处理单元。
中央处理器读取图像数据后,复制图像数据,将图像数据复制至两份,分别得到第一图像数据和第二图像数据。将第一图像数据传输至第一处理单元,以使第一处理单元对第一图像数据进行处理;将第二图像数据传输至第二图像处理器,以使第二处理单元对第二图像数据进行处理。
203,第一处理单元根据第一投影矩阵和第一图像模型将第一图像数据渲染为大视角下的第一图像,并在数据展示界面的第一窗口展示第一图像。
在虚拟场景中,通常需要构建物体坐标系,并在物体坐标系中建立模型(俗称建模)。本申请实施例中建立第一图像模型,该第一图像模型为球形;在其他情况下,可根据具体使用场景对应不同形状的图像模型。
以下将以第一图像模型为球形为例进行说明,可以简单理解为第一图像模型是按照经度分为n个圆,每个圆上分配m个点所形成的球形,如n=180,m=30等。需要注意的是,n越大,m越大,所形成的球形越圆。
通过OpenGL所建立的第一图像模型中包括多个点,每个点用[(x,y,z)(u,v)]表示,其中(x,y,z)表示顶点坐标,(u,v)表示纹理坐标。顶点坐标(x,y,z)是三维空间坐标,决定了物体的形状;(u,v)是二维坐标,确定去纹理单元的什么位置去提取纹理。需要注意的是,为了统一度量,顶点坐标和纹理坐标都采用了归一化的方法,如将顶点坐标统一映射到[-1,1]上,将纹理坐标统一映射到[0,1]上。同时需要注意的是,顶点坐标和纹理坐标所采用的坐标系是不同的。
如图4所示,为顶点坐标和纹理坐标的示意图。其中,A、B、C、D为模型上的四个点,该四个点的顶点坐标和纹理坐标分别为A[(-1,-1,0)(0,0.5)],B[(1,-1,0)(0.5,0.5)],C[(-1,0,0)(0,1)],D[(1,0,0)(0.5,1]。
建立好模型后,可构建投影矩阵。在虚拟场景中,物体(或者模型,在模型上进行纹理贴图后即显示为物体)所在的坐标系称为物体坐标系,相机坐标系是以相机的聚焦中心为原点构建的三维坐标系,还对应有一个世界坐标系。虚拟相机、物体等都处于世界坐标系下。世界坐标系里面的虚拟相机、物体、模型,虚拟相机的广角、仰角、镜头到近平面和远平面的距离等的关系都体现在投影矩阵中。
第一投影矩阵可通过如下方式确定:CPU获取设置的第一虚拟相机的初始参数,该初始参数包括第一虚拟相机的位置、欧拉角、第一虚拟相机的镜头到投影面(也可称为近平面)的距离、第一虚拟相机的镜头到远平面的距离等;CPU根据第一虚拟相机的初始参数确定第一投影矩阵。如根据第一虚拟相机的初始参数,利用数学库来确定第一投影矩阵,如将第一虚拟相机的初始参数,输入至GLM(OpenGL Mathematics)数据库的对应函数中,利用该函数计算第一投影矩阵。需要注意的是,根据所设置的第一虚拟相机的初始参数确定的第一投影矩阵,也可以理解为初始第一投影矩阵。在本申请实施例中,由于初始第一投影矩阵一直都没有改变,因此第一投影矩阵即为初始第一投影矩阵。
如图5所示,为本申请实施例提供的透视投影的成像原理图。其中,镜头到近平面11的距离,即点0和点1之间的距离,镜头到远平面12的距离,即点0和点2之间的距离。虚拟相机的位置包括0点在世界坐标系中的坐标、虚拟相机的镜头朝向等信息。
上述所述的第一图像模型和第一投影矩阵可预先进行确定,即在执行步骤203之前,确定第一图像模型和第一投影矩阵;执行步骤203时,直接获取所确定的第一图像模型和第一投影矩阵。第一图像模型和第一投影矩阵也可以在执行步骤203的过程中确定,即在执行步骤203的过程中,先确定第一图像模型和第一投影矩阵。以第一图像模型和第一投影矩阵预先确定为例进行说明。
其中,步骤203,包括:CPU获取第一投影矩阵和第一图像模型;CPU将第一投影矩阵和第一图像模型发送至第一处理单元中;第一处理单元根据第一投影矩阵和第一图像模型,将第一图像数据渲染为大视角下的第一图像。具体地,将第一图像模型中的顶点发送至顶点着色器中,将第一图像模型中的纹理坐标发送至片元着色器中,并根据第一图像数据确定纹理坐标所对应的纹理单元,利用第一处理单元进行渲染,得到大视角下的第一图像。
其中,大视角指的是进行渲染后,视野内至少可以看到完整的图像数据的视角。可以简单理解,大视角是将第一虚拟相机放置于第一图像模型外侧的较远处,从而视野内所看到的第一图像模型所对应的完整平面图像的视角。大视角本质上就是把第一图像模型放入至第一虚拟相机的视锥体内所对应的视角。如图5所示,视锥体即为近平面11和远平面12之间的梯形区域。可以理解地,在大视角下,第一图像模型整体都在第一虚拟相机的视锥体内。该步骤中得到大视角下的第一图像,以便于用户从整体上对图像数据的内容进行理解。
第一处理单元处理得到大视角下的第一图像后,在数据展示界面的第一窗口展示第一图像。
数据展示界面中包括至少一个第一窗口和至少一个第二窗口。请参看图6,图6为本申请实施例提供的数据展示界面的示意图。数据展示界面20上包括位于数据展示界面左侧的一个第一窗口21和位于第一窗口21右侧的两个第二窗口22。在第一窗口21中的底层展示的是第一图像。由图6可知,得到的第一图像与图像数据相对应/一致。其中,第一窗口和/或第二窗口可以是以显示控件的形式存在于数据展示界面20上,如第一窗口中包括至少一个显示控件,第二窗口包括一个显示控件;第一窗口和/或第二窗口还可以以其他的形成存在数据展示界面20上。
204,CPU检测用户在数据展示界面的第二窗口上的控制操作。
用户可以在数据展示界面的第二窗口上进行控制操作。该控制操作可以通过用户在第二窗口上进行滑动触摸操作来实现;还可以通过语音方式来实现,如在数据展示界面上检测到语音,并对语音进行识别,得到“向左滑动2cm”等指令,并根据指令来完成控制操作;还可以通过检测用户在第二窗口上的手势,根据手势来实现控制操作等。控制操作的具体实现方式不做具体限定。
本申请实施例中以滑动触摸操作为例进行说明。滑动触摸操作所对应的控制操作的事件包括滑动事件、点击事件等。滑动事件用于控制在手指滑动过程中的各种情况。滑动事件包括手指按下事件、手指移动事件(包括手指移动的坐标点等信息)、手指抬起事件等。用户在数据展示界面的第二窗口上的控制操作,包括用户在第二窗口上触发的滑动事件、点击事件等。
205,CPU根据用户在数据展示界面的第二窗口上的控制操作,确定第二投影矩阵,并将第二投影矩阵传输至第二图像处理器以及第三处理单元。
需要注意的是,与初始第一投影矩阵一样,也存在初始第二投影矩阵。其中,初始第二投影矩阵和初始第一投影矩阵可理解为打开数据展示界面时,所对应的默认投影矩阵。利用该初始第二投影矩阵和第二图像模型、初始第一投影矩阵和第一图像模型可确定初始第二图像和初始第一图像,即打开数据展示界面后,未进行任何控制操作前所对应的初始第一图像和初始第二图像。初始第一图像和初始第二图像即为默认对应投影矩阵所对应的默认视角下的图像。
其中,初始第二投影矩阵可通过如下方式确定:获取设置的第二虚拟相机的初始参数,该初始参数包括第二虚拟相机的位置、欧拉角、第二虚拟相机的镜头到近平面的距离、第二虚拟相机的镜头到远平面的距离等;根据第二虚拟相机的初始参数确定初始第二投影矩阵。该初始第二投影矩阵可预先进行设定。需要注意的是,初始第一投影矩阵和初始第二投影矩阵不相同。
在打开数据展示界面,得到第一窗口内的初始第一图像和第二窗口内的初始第二图像之后,用户可在第二窗口内对当前所展示的第二图像进行控制操作,以便于用户查看所关注的区域。
具体地,根据用户在数据展示界面的第二窗口上的控制操作,确定第二投影矩阵的步骤,包括:根据用户在数据展示界面的第二窗口上的控制操作,确定控制操作所对应的操作参数;根据操作参数确定第二投影矩阵。可以理解地,根据操作参数确定的第二投影矩阵是更新后的第二投影矩阵。具体地,根据操作参数和上一次确定的第二投影矩阵确定更新后的第二投影矩阵,也即本次的第二投影矩阵。可以理解地,在控制操作未结束时,根据用户在数据展示界面的第二窗口上的控制操作。
根据控制操作确定的操作参数,如包括操作加速度、操作距离,等等。根据操作参数确定操作角度,根据操作角度和前一次确定的第二投影矩阵确定第二投影矩阵。如检测到用户在图6的右侧上方的第二窗口22上的控制操作,根据该控制操作来确定第二投影矩阵。
其中,根据操作参数确定第二投影矩阵的步骤,包括:确定操作参数所对应的操作距离;将操作距离转换为对应的偏移角度;根据所述偏移角度生成第二投影矩阵。
可以理解地,在根据用户在第二窗口上的控制操作(滑动触摸操作)来确定第二投影矩阵中,因为滑动触摸操作会变化,如手指滑动的位置一直在改变,导致控制操作也一直在变化,进而使得第二投影矩阵也在更新。
确定第二投影矩阵后,将第二投影矩阵传输至第二处理单元,以及第三处理单元,以使得第二处理单元和第三处理单元根据第二投影矩阵分别进行不同的处理。
206,第二处理单元根据第二投影矩阵和第二图像模型,以及第二图像数据生成小视角下的第二图像,以及在第二窗口展示第二图像,其中,第二投影矩阵与第一投影矩阵不相同,第二图像模型和第一图形模型相同。
其中,第二图像模型可预先进行确定。在本申请实施例中,第二图像模型和第一图像模型相同,则可直接获取第一图像模型,作为第二图像模型。
其中,根据第二投影矩阵和第二图像模型,以及图像数据生成小视角下的第二图像的步骤,包括:CPU获取第二图像模型;CPU将第二图像模型传输至第二处理单元中;第二处理单元根据第二投影矩阵和第二图像模型,以及第二图像数据生成小视角下的第二图像。具体地,CPU将第二图像模型中的顶点传输至顶点着色器中,将第二图像模型中的纹理坐标拷贝至片元着色器中,并根据第二图像数据确定纹理坐标所对应的纹理单元,利用第二处理单元进行渲染,生成小视角下的第二图像。
其中,小视角指的是进行渲染后,视野内可以看到局部的图像数据的视角。可以简单理解,小视角是将第二虚拟相机放置于第二图像模型内部,从而视野内所看到的第二图像模型投影后所对应的局部平面图像的视角。该步骤中得到小视角下的第二图像,以便于用户从局部上(小视角上)对图像数据的内容进行理解,提高对图像数据内容的理解效率。
生成小视角下的第二图像后,在数据展示界面的第二窗口展示第二图像。可以理解地,由于第二投影矩阵一直在更新,使得根据第二投影矩阵和第二图像模型、第二图像数据生成的小视角下的第二图像也在更新,因此,第二窗口上展示的第二图像也同步更新。
若在数据展示界面上,第二窗口22只有一个,那么在该第二窗口内展示第二图像。若在数据展示界面上,第二窗口22有多个,则在控制操作所对应的第二窗口上展示第二图像。多个第二窗口中,每个第二窗口所对应的小视角可以不同,同一时刻所展示的第二图像也显示为不同的图像。
以上步骤中,实现在数据展示界面上的第一窗口展示大视角下的第一图像,在第二窗口展示小视角下的第二图像,如此以得到图像数据在不同视角下的平面图像,可从不同视角来理解图像数据,便于用户对图像数据内容的理解,提高对图像数据内容的理解效率。且可在第二窗口内进行控制操作,以根据控制操作控制所显示的第二图像,通过控制操作可以看到小视角下的所有可以看到的区域,方便用户从第二图像中快速定位出所关注区域。可以理解地,若对第二窗口进行控制操作,则第二窗口内显示的第二图像一直在不停的变化。
由于第一图像和第二图像是通过同一个图像模型(第一图像模型和第二图像模型相同)投影在大视角、小视角下,且使用相同的纹理(图像数据)贴图得到的。通过大视角下的第一图像从整体上理解图像数据,通过小视角下的第二图像从局部上理解图像数据,实现图像数据的细节展示。在对小视角下的第二窗口进行控制操作的过程中,小视角下的第二图像一直在不停的变化。且第二图像模型是球形,360度,没有边界,因此,在对第二窗口进行控制操作的过程中,所看到的第二图像很容易出现重复,即出现转圈圈的情况。因此,用户在对第二窗口进行控制时,不知道当前第二窗口上显示的第二图像对应于第一图像中的哪个部分,降低了用户定位所关注区域的速度,严重影响了用户体验。本申请实施例通过步骤207至208来解决该技术问题。
207,第三处理单元根据所述第二投影矩阵和所述第一图像模型确定第二图像对应第一图像模型内的目标导航区域。
以上所述的根据投影矩阵(分别为第一投影矩阵和第二投影矩阵)和图像模型(分别为第一图像模型和第二图像模型)来确定的第一图像或者第二图像,是通过透视投影的成像原理所得到的图像。如图5所示,图像模型中在近平面11和远平面12之间的点投影,可以在我们视野内被看到。
根据透视投影的成像原理,我们视野可以看到的部分,其实就是图像模型上的顶点乘以投影矩阵后,落在近平面上的顶点,经过归一化、裁剪、以及纹理贴图最终展现出来的效果。因此,若想确定第二图像对应第一图像模型内的目标导航区域,则可通过逆向思维将问题转换为:确定第一图像模型上的哪些顶点可投影至第二投影矩阵的近平面上,确定这些顶点后,将这些顶点所对应的区域作为目标导航区域,对目标导航区域对应的纹理坐标突出指定,并渲染显示。进一步的,若想确定第一图像模型上的哪些顶点可投影至第二投影矩阵的近平面上,可通过第二投影矩阵和第一图像模型来确定。其中,目标导航区域指的是第二图像在第一图像模型中的目标区域。该目标导航区域中的点都是第一图像模型中的点。
具体地,根据第二投影矩阵和第一图像模型确定第二图像对应第一图像内的目标导航区域的步骤,包括:CPU获取第一图像模型;将第一图像模型发送至第三处理单元;第三处理单元根据第二投影矩阵和第一图像模型,从第一图像模型的顶点中,确定投影至第二投影矩阵对应近平面中的目标顶点;将目标顶点所对应的区域作为第二图像对应第一图像模型内的目标导航区域。目标顶点所对应的区域理解为目标顶点所在的区域。
目标顶点理解为第一图像模型中的,可以投影至第二投影矩阵的近平面中的顶点。具体地,根据第二投影矩阵和第一图像模型,从第一图像模型的顶点中,确定投影至第二投影矩阵对应近平面中的目标顶点的步骤,具体包括以下步骤:第三处理单元根据第二投影矩阵,确定第一图像模型的顶点投影后的坐标,如将第一图像模型中的顶点乘以第二投影矩阵后,得到每个顶点投影后的坐标;第三处理单元根据第一图像模型的顶点投影后的坐标确定投影至第二投影矩阵对应投影面中的目标顶点。其中,根据第一图像模型的顶点投影后的坐标确定投影至第二投影矩阵对应投影面中的目标顶点的步骤,包括:第三处理单元检测每个顶点投影后的坐标是否在第二投影矩阵对应投影面的范围内;若是,则将顶点确定为目标顶点;若否,则将顶点确定为非目标顶点。其中,目标顶点投影到第二投影矩阵的近平面之后可被用户看到,而非目标顶点投影后不可被用户看到。
具体地,若第一图像模型按照经度分为180个圆,每个圆上分配30个点,则顶点数量为180*30。第三处理单元将所有顶点坐标作为一个矩阵,利用第二投影矩阵和该顶点的顶点坐标矩阵进行相乘,以确定该顶点投影后的坐标,若投影后的坐标在第二投影矩阵对应的近平面的范围内,则确定为目标顶点,否则,确定该顶点为非目标顶点。可以理解地,第二投影矩阵确定后,第二投影矩阵所对应的近平面的范围也是确定的。若投影后坐标(x1,y1,z1)中的x1和y1的坐标在[-1,1]的范围内,即-1≤x1≤1,且-1≤y1≤1,则确定投影后的坐标在第二投影矩阵对应的近平面的范围内。确定了目标顶点后,将目标顶点所对应的区域作为第二图像对应第一图像模型内的目标导航区域。需要注意的是,这里不需要判断z1投影后的坐标,因此近平面是二维的,所有的z轴坐标是相等的。z1投影后的坐标后续会用来做景深,以实现近大远小的效果。
可以理解地,第一投影矩阵与第一图像模型的顶点相乘,可确定投影至第一投影矩阵的近平面上的顶点,经过裁剪渲染等后即为第一图像;第二投影矩阵与第二图像模型的顶点相乘,可确定投影至第二投影矩阵的近平面上的顶点,经过裁剪渲染等后即为第二图像;因此,利用第二投影矩阵与第一图像模型相乘了之后,所确定的目标顶点,即为第二图像在第一图像模型中的对应顶点(该对应顶点投影至第二投影矩阵后可得到第二图像)。
或者也可以简单理解,在第一图像模型外侧,利用第一投影矩阵与第一图像模型的顶点相乘,经过裁剪渲染等后为第一图像;在第二图像模型内部,利用第二投影矩阵与第二图像模型的顶点相乘,经过裁剪渲染等后为第二图像;那么利用内部的第二投影矩阵和第一图像模型相乘之后,就可以得出第一图像模型中的哪些顶点可投影至第二投影矩阵的近平面上,将所得到的顶点作为目标顶点。
需要注意的是,以上根据第二投影矩阵和第一图像模型确定第二图像对应第一图像模型内的目标导航区域是通过第三处理单元来实现的。第三处理单元使用矩阵的方式计算第一图像模型的顶点投影后的坐标,大大提高了处理速度,且减少移动终端的耗电量。可以理解地,若使用CPU来计算,则需要CPU遍历第一图像转换模型中的每个顶点,即遍历的顶点数量为180*30,每遍历一个顶点时,根据第二投影矩阵和该顶点,计算顶点投影后的坐标,大大降低了处理速度,且导致移动终端耗电量大。另一方面,计算第一图像模型的顶点投影后的坐标,若采用CPU计算,则CPU浮点运算效率不高,导致误差较大;而GPU专门用来处理浮点运算,效率高,如此大大提高了处理的准确度。可以理解地,在GPU的第三处理单元的片元着色器中,可以同时把第一图像模型的顶点和纹理坐标一起传递进来,把第二投影矩阵传递进来,判断第一图像模型的顶点是否是目标顶点(然后直接调整透明度的值),去掉了利用CPU判断顶点是否为目标顶点时复杂的浮点运算操作,提高了处理的效率,减少移动终端的耗电量。
208,第三处理单元通过预设方式处理目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像,其中,目标导航图像表示小视角下的第二图像在大视角下的第一图像中的位置信息。
从上述描述中可知,若用户在第二窗口上进行滑动触摸操作,使得控制操作在变化,根据控制操作确定的第二投影矩阵也同步更新,根据第二投影矩阵生成的第二图像也在更新,对应的目标导航区域也在更新,处理目标导航区域得到的目标导航图像也在更新;目标导航图像表示第二图像在第一图像中的位置信息,即第一窗口中显示的目标导航图像也一直在更新。
第三处理单元确定了目标顶点后,确定目标顶点所对应的纹理坐标;第三处理单元根据纹理坐标通过预设方式处理目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像。目标导航图像,表示第二图像在第一图像内的位置。
需要注意的是,若采用CPU来处理,则CPU确定了目标顶点和目标顶点所对应的纹理坐标后,还需将纹理坐标拷贝至GPU中的第三处理单元中,以使GPU根据所述纹理坐标处理目标导航区域,以在第一窗口内突出显示所述目标导航区域。而采用本申请实施例中的方案,第三处理单元确定目标顶点和对应的纹理坐标,无需将纹理坐标进行拷贝,节约了CPU到GPU拷贝的大量时间,进一步提高了处理效率,进一步减少移动终端的耗电量。
其中,第三处理单元根据纹理坐标通过预设方式处理目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像的步骤,包括:获取目标导航区域预设纹理,该目标导航区域预设纹理包括预设颜色或者预设图片;第三处理单元根据目标导航区域预设纹理、纹理坐标渲染目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像。具体地,将纹理坐标所对应的纹理设置为目标导航区域预设纹理,第三处理单元根据所设置的纹理(即目标导航区域预设纹理)渲染目标导航区域,以得到目标导航图像。如此,通过预设颜色或者预设图片渲染目标导航区域,达到突出显示第二图像在第一图像中的位置的目的。
进一步地,第三处理单元根据纹理坐标通过预设方式处理目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像的步骤,包括:获取目标导航区域预设纹理和第一预设透明度,该目标导航区域预设纹理包括预设颜色或者预设图片;第三处理单元根据目标导航区域预设纹理、第一预设透明度、纹理坐标渲染目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像。具体地,第三处理单元将纹理坐标所对应的纹理设置为目标导航区域预设纹理,并设置目标导航区域预设纹理的透明度为第一预设透明度;第三处理单元根据所设置的纹理渲染目标导航区域。如此,将目标导航区域渲染为目标导航区域预设纹理,且显示的透明度为第一预设透明度,达到突出显示第二图像在第一图像中的位置的目的。
进一步地,将目标导航区域之外的区域作为非目标导航区域,或者将非目标顶点所对应的区域作为非目标导航区域,具体地,第三处理单元根据纹理坐标通过预设方式处理目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像的步骤,包括:
获取目标导航区域预设纹理、第一预设透明度,以及第二预设透明度,其中,第二预设透明度小于第一预设透明度,目标导航区域预设纹理为预设颜色或者预设图片;第三处理单元根据目标导航区域预设纹理、第一预设透明度和纹理坐标渲染目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像;第三处理单元将非目标导航区域渲染为第二预设透明度。其中,第三处理单元根据目标导航区域预设纹理、第一预设透明度和纹理坐标渲染目标导航区域,具体包括:将纹理坐标所对应的纹理设置为目标导航区域预设纹理,并设置纹理坐标所对应的纹理的透明度为第一预设透明度,第三处理单元根据所设置的纹理渲染目标导航区域。将目标导航区域渲染为目标导航区域预设纹理,且显示的透明度为第一预设透明度,达到突出显示第二图像在第一图像中的位置的目的。
可以理解地,若目标导航区域在第一图像之后渲染,则目标导航图像会显示于第一图像之上。为了不遮挡第一图像中非目标导航区域所对应的区域,以提高显示效果,将第二预设透明度设置为0.8以下,如可设置第二预设透明度为0。为了突出显示目标导航图像,可将第一预设透明度设置为(0,1)之间,为了不会将第一图像中目标导航图像所对应的区域完全覆盖,以提高用户体验,可设置第一预设透明度为0.8。其中,预设颜色可以设置为红色,以突出显示目标导航图像。
如图6中的左图所示,目标导航图像23和渲染后的非目标导航区域位于第一图像之上,且目标导航图像23的当前第一预设透明度不为1,通过目标导航图像23还可以看到位于目标导航图像23之下的第一图像对应的部分区域,位于目标导航图像23之下的第一图像对应的部分区域,与第二图像一致。由于第二预设透明度为0,因此,渲染后的非目标导航区域是透明的,并不能被人眼看到。
在其他的一些情况下,将目标导航区域之外的区域作为非目标导航区域,或者将非目标顶点所对应的区域作为非目标导航区域,具体地,第三处理单元根据纹理坐标通过预设方式处理目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像的步骤,包括:
获取目标导航区域预设纹理、第一预设透明度,以及非目标导航区域预设纹理、第二预设透明度,其中,第二预设透明度小于第一预设透明度,目标导航区域预设纹理为第一预设颜色或者第一预设图片,非目标导航区域预设纹理为第二预设颜色或者第二预设图片;第三处理单元根据目标导航区域预设纹理、第一预设透明度、纹理坐标渲染目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像;第三处理单元根据非目标导航区域预设纹理、第二预设透明度渲染非目标导航区域。
其中,第三处理单元根据目标导航区域预设纹理、第一预设透明度、纹理坐标渲染目标导航区域,包括:将纹理坐标所对应的纹理设置为目标导航区域预设纹理,并设置纹理坐标所对应的纹理的透明度为第一预设透明度;根据所设置的纹理渲染目标导航区域,以将目标导航区域渲染为目标导航区域预设纹理,且显示的透明度为第一预设透明度。第三处理单元根据非目标导航区域预设纹理、第二预设透明度渲染非目标导航区域,包括:将非目标导航区域所对应的纹理设置为非目标导航区域预设纹理,并设置非目标导航区域预设纹理的透明度为第二预设透明度;根据所设置的纹理渲染非目标导航区域,以将非目标导航区域渲染为非目标导航区域预设纹理,且显示的透明度为第二预设透明度。其中,第一预设透明度、第二预设透明度的设置可参看上文中的描述;目标导航区域预设纹理和非目标导航区域预设纹理可相同,也可不同。将目标导航区域突出显示,将非目标导航区域也利用非目标导航区域预设纹理进行渲染,并设置为第二预设透明度。
上述实施例中区分目标导航区域和非目标导航区域,进一步突出显示目标导航图像,即进一步突出显示第二图像在第一图像中的位置,提高用户体验。
需要注意的是,第三处理单元根据纹理坐标处理目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像的步骤的实现场景可以有多个。
如一个实现场景为,在第一窗口中只存在一个显示控件,通过该显示控件既可以显示目标导航图像(和渲染后的非目标导航区域),也可以显示第一图像。如该显示控件中包括两个纹理单元:第一纹理单元和第二纹理单元。其中,第一纹理单元用来显示第一图像,第二纹理单元用来显示目标导航图像(和渲染后的非目标导航区域),第二纹理单元位于第一纹理单元之上。具体地,在数据展示界面的第一窗口展示第一图像的步骤之前,还包括:获取第一窗口的显示控件中的第一纹理单元和第二纹理单元;将第二纹理单元设置于第一纹理单元之上。如此,在数据展示界面第一窗口展示第一图像的步骤,包括:在第一窗口的显示控件中的第一纹理单元内展示第一图像。在第一窗口内突出显示目标导航图像的步骤,包括:在第一窗口的显示控件中的第二纹理单元内突出显示目标导航图像(和渲染后的非目标导航区域)。需要注意的是,在该种情况下,在执行通过预设方式处理所述目标导航区域,得到目标导航图像,并在第一窗口显示控件中的第二纹理单元内突出展示目标导航图像的步骤的同时,还会同步执行根据第一投影矩阵和第一图像模型将所述第一图像数据渲染为大视角下的第一图像,并在第一窗口显示控件中的第一纹理单元内展示第一图像的步骤。可以理解地,因为第一图像和目标导航图像是在一个显示控件中进行显示的,因此第一图像和目标导航图像(和非目标导航区域)会同时被渲染出来,如果仅仅渲染目标导航图像(和非目标导航区域),那么在第一窗口中将不会显示第一图像,如此达不到本申请的目的。如此,在通过预设方式处理目标导航区域时,既渲染第二纹理单元中的目标导航区域(和非目标导航区域),又渲染第一纹理单元对应的第一图像等。
如另一种实现场景为,在第一窗口中存在两个显示控件,第一显示控件用于显示第一图像,第二显示控件用于显示目标导航图像(和处理后的非目标导航区域)。具体地,在数据展示界面的第一窗口展示第一图像的步骤之前,还包括:获取第一窗口中的第一显示控件和第二显示控件;将第二显示控件设置于第一显示控件之上。如此,在数据展示界面第一窗口展示第一图像的步骤,包括:在数据展示界面第一窗口的第一显示控件中展示第一图像。在第一窗口内突出显示目标导航图像的步骤,包括:在第一窗口的第二显示控件中突出显示目标导航图像(和渲染后的非目标导航区域)。如此,通过两个显示控件分别来显示第一图像以及目标导航图像(和渲染后的非目标导航区域),分开处理,提高处理效率。如在处理目标导航区域时,只需要渲染第二显示控件上显示的内容即可,无需渲染第一显示控件上显示的内容,减少了移动终端的消耗,提高了处理效率和速度。
需要注意的是,以上步骤206和步骤207至步骤208可串行执行,也可并行执行;并行执行以提高处理效率。
通过上述方案将当前第二窗口上显示的第二图像对应于第一图像中的位置进行突出显示,根据目标导航图像使得用户可以很清晰的知道第二窗口内显示的第二图像,处于第一窗口内显示的第一图像中的哪个位置,以建立不同视角下的图像之间的关联关系,进一步提高对图像数据内容的理解效率,且便于用户调整所观看的区域,便于引导用户快速找到所关注区域,提高用户定位图像数据中所关注区域的速度,提升用户体验。此外,通过第二窗口显示的第二图像,也实现了图像数据的细节展示。本申请实施例中的数据展示方法可应用于更多应用场景。
图7a和图7b是本申请实施例提供的数据展示方法的流程示意图。请结合图7a和图7b参看本申请实施例的数据展示方法。
如图7a所示,在打开数据展示界面时,CPU获取所设置的第一虚拟相机的初始参数和所设置的第二虚拟相机的初始参数、第一图像模型和第二图像模型,以及鱼眼摄像头采集的图像数据;CPU复制图像数据得到第一图像数据和第二图像数据,并将第一图像数据传输至第一处理单元,将第二图像数据传输至第二处理单元;CPU根据第一虚拟相机的初始参数确定初始第一投影矩阵,并将第一投影矩阵传输至第一处理单元;CPU根据第二虚拟相机的初始参数确定初始第二投影矩阵,并将第二投影矩阵传输给第二处理单元和第三处理单元;第一处理单元根据初始第一投影矩阵、第一图像模型和第一图像数据确定大视角下的初始第一图像,并在数据展示界面的第一窗口内展示初始第一图像;第二处理单元根据初始第二投影矩阵、第二图像模型和第二图像数据生成小视角下的初始第二图像,并在数据展示界面的第二窗口内展示初始第二图像;第三处理单元根据初始第二投影矩阵以及第一图像模型确定第二图像对应第一图像模型内的目标导航区域,并通过预设方式处理目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像,以突出显示初始第二图像在初始第一图像中的位置信息。以上是在打开数据展示界面所对应的步骤。
之后,如图7b所示,CPU检测用户在数据展示界面的第二窗口上的控制操作,当检测到在数据展示界面的第二窗口上的控制操作时,根据控制操作和初始第二投影矩阵(或者是上一次确定的第二投影矩阵)确定第二投影矩阵,第二投影矩阵是更新后的投影矩阵,并将第二投影矩阵传输给第二处理单元和第三处理单元。第二处理单元根据第二投影矩阵和第二图像模型以及第二图像数据生成小视角下的第二图像,并在第二窗口内展示第二图像,该第二图像是更新后的图像。第三处理单元根据第二投影矩阵、和第一图像模型确定第二图像对应第一图像模型内的目标导航区域,并通过预设方式处理目标导航区域,得到目标导航图像,以在第一窗口内突出显示目标导航图像。可以理解地,在数据展示界面打开后,后续当检测到控制操作,根据该控制操作确定第二投影矩阵,以更新第二窗口内展示的第二图像,并更新目标导航图像。
需要注意的是,图7a和图7b一起展示的数据展示方法的整个流程。其中,每个步骤的详细内容,请参看上文中对应步骤的描述,在此不再赘述。
需要注意的是,本申请实施例中的第一投影矩阵和第二投影矩阵对应为MVP矩阵,其中,MVP=prespective*view*model。model矩阵对应的是图像模型的操作矩阵。view矩阵主要对应的是虚拟相机的位置、朝向等,prespective矩阵对应的是虚拟相机的欧拉角、近平面、远平面等信息。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令(计算机程序)来完成,或通过指令(计算机程序)控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的用于鱼眼摄像头的数据展示方法中任一实施例的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一用于鱼眼摄像头的数据展示方法实施例中的步骤,因此,可以实现本申请实施例所提供的任一用于鱼眼摄像头的数据展示方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种用于鱼眼摄像头的数据展示方法、移动终端以及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种用于鱼眼摄像头的数据展示方法,其特征在于,适用于与鱼眼摄像头进行通信的移动终端,所述移动终端包括中央处理器、存储器以及运行于图形处理器上的第一处理单元、第二处理单元、第三处理单元;所述数据展示方法包括:
所述中央处理器从所述存储器中读取鱼眼摄像头采集的图像数据;
复制所述图像数据得到第一图像数据和第二图像数据,并传输所述第一图像数据至所述第一处理单元、传输所述第二图像数据至所述第二处理单元;
所述第一处理单元根据第一投影矩阵和第一图像模型将所述第一图像数据渲染为大视角下的第一图像,并在数据展示界面的第一窗口展示所述第一图像;
所述中央处理器检测用户在所述数据展示界面的第二窗口上的控制操作;
所述中央处理器根据用户在所述数据展示界面的第二窗口上的控制操作,确定第二投影矩阵,并将所述第二投影矩阵传输至所述第二处理单元以及所述第三处理单元;
所述第二处理单元根据所述第二投影矩阵和第二图像模型,以及所述第二图像数据生成小视角下的第二图像,以及在所述第二窗口展示所述第二图像,所述第二投影矩阵与所述第一投影矩阵不相同,所述第二图像模型和所述第一图形模型相同;
所述第三处理单元根据所述第二投影矩阵和所述第一图像模型确定所述第二图像对应所述第一图像模型内的目标导航区域;
所述第三处理单元通过预设方式处理所述目标导航区域,得到目标导航图像,以在所述第一窗口内突出显示所述目标导航图像,其中,所述目标导航图像表示小视角下的所述第二图像在大视角下的所述第一图像中的位置信息。
2.根据权利要求1所述的数据展示方法,其特征在于,所述第三处理单元根据所述第二投影矩阵和所述第一图像模型确定所述第二图像对应所述第一图像模型内的目标导航区域的步骤,包括:
所述第三处理单元根据所述第二投影矩阵和所述第一图像模型,从所述第一图像模型的顶点中,确定投影至所述第二投影矩阵对应投影面中的目标顶点;
将所述目标顶点所对应的区域作为所述第二图像对应所述第一图像模型内的目标导航区域。
3.根据权利要求2所述的数据展示方法,其特征在于,所述第三处理单元根据所述第二投影矩阵和所述第一图像模型,从所述第一图像模型的顶点中,确定投影至所述第二投影矩阵对应投影面中的目标顶点的步骤,包括:
所述第三处理单元根据所述第二投影矩阵,确定所述第一图像模型的顶点投影后的坐标;
所述第三处理单元根据所述第一图像模型的顶点投影后的坐标确定投影至所述第二投影矩阵对应投影面中的目标顶点。
4.根据权利要求3所述的数据展示方法,其特征在于,所述根据所述第一图像模型的顶点投影后的坐标确定投影至所述第二投影矩阵对应投影面中的目标顶点的步骤,包括:
检测所述第一图像模型的顶点投影后的坐标是否在所述第二投影矩阵对应投影面的范围内;
若是,则将所述顶点确定为目标顶点;
若否,则将所述顶点确定为非目标顶点。
5.根据权利要求1所述的数据展示方法,其特征在于,所述在数据展示界面的第一窗口展示所述第一图像的步骤之前,还包括:
所述中央处理器获取所述第一窗口中的第一显示控件和第二显示控件;
将所述第二显示控件设置于所述第一显示控件之上;
所述在数据展示界面的第一窗口展示所述第一图像的步骤,包括:在数据展示界面第一窗口的第一显示控件中展示所述第一图像;
所述第三处理单元通过预设方式处理所述目标导航区域,得到目标导航图像,以在所述第一窗口内突出显示所述目标导航图像的步骤,包括:所述第三处理单元通过预设方式处理所述目标导航区域,得到目标导航图像,以在所述第一窗口的第二显示控件上突出展示所述导航图像。
6.根据权利要求1所述的数据展示方法,其特征在于,所述第三处理单元通过预设方式处理所述目标导航区域,得到目标导航图像,以在所述第一窗口内突出显示所述目标导航图像的步骤,包括:
所述第三处理单元确定所述目标导航区域所对应的目标顶点的纹理坐标;
所述第三处理单元根据所述纹理坐标通过预设方式处理所述目标导航区域,得到目标导航图像,以在第一窗口内突出显示所述目标导航图像。
7.根据权利要求6所述的数据展示方法,其特征在于,所述根据所述纹理坐标通过预设方式处理所述目标导航区域,得到目标导航图像,以在第一窗口内突出显示所述目标导航图像的步骤,包括:
获取目标导航区域预设纹理和第一预设透明度,所述目标导航区域预设纹理包括预设颜色或者预设图片;
所述第三处理单元根据所述目标导航区域预设纹理、所述第一预设透明度和所述纹理坐标渲染所述目标导航区域,得到目标导航图像,以在第一窗口内突出显示所述目标导航图像。
8.根据权利要求7所述的数据展示方法,其特征在于,将所述目标导航区域之外的区域作为非目标导航区域,所述数据展示方法还包括:
获取第二预设透明度,所述第二预设透明度小于所述第一预设透明度;
所述第三处理单元根据第二预设透明度渲染所述非目标导航区域。
9.根据权利要求7所述的数据展示方法,其特征在于,所述第三处理单元根据目标导航区域预设纹理、第一预设透明度和所述纹理坐标渲染所述目标导航区域的步骤,包括:
将所述纹理坐标所对应的纹理设置为目标导航区域预设纹理,并设置目标导航区域预设纹理的透明度为第一预设透明度;
所述第三处理单元根据所设置的所述纹理渲染所述目标导航区域。
10.一种移动终端,其特征在于,所述移动终端包括:一个或多个中央处理器;存储器;一个或多个图形处理器,以及一个或多个计算机程序,其中所述中央处理器和所述存储器、所述图形处理器相连接,所述一个或多个计算机程序被存储于所述存储器中,并配置为由所述中央处理器和所述图形处理器执行上述权利要求1至9任一项所述的用于鱼眼摄像头的数据展示方法。
CN202011058574.6A 2020-09-30 2020-09-30 一种用于鱼眼摄像头的数据展示方法和移动终端 Pending CN112184801A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011058574.6A CN112184801A (zh) 2020-09-30 2020-09-30 一种用于鱼眼摄像头的数据展示方法和移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011058574.6A CN112184801A (zh) 2020-09-30 2020-09-30 一种用于鱼眼摄像头的数据展示方法和移动终端

Publications (1)

Publication Number Publication Date
CN112184801A true CN112184801A (zh) 2021-01-05

Family

ID=73946191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011058574.6A Pending CN112184801A (zh) 2020-09-30 2020-09-30 一种用于鱼眼摄像头的数据展示方法和移动终端

Country Status (1)

Country Link
CN (1) CN112184801A (zh)

Similar Documents

Publication Publication Date Title
WO2020207202A1 (zh) 阴影渲染方法、装置、计算机设备及存储介质
US10055879B2 (en) 3D human face reconstruction method, apparatus and server
CN111932664B (zh) 图像渲染方法、装置、电子设备及存储介质
KR101770648B1 (ko) 파노라마와 3차원 건물평면도 기반 실내 가상체험 제공 방법, 이를 이용한 휴대용 단말기 및 그 동작 방법
WO2019184889A1 (zh) 增强现实模型的调整方法、装置、存储介质和电子设备
CN111833243B (zh) 一种数据展示方法、移动终端和存储介质
CN112017133B (zh) 一种图像展示方法、装置及电子设备
CN111813290B (zh) 一种数据处理方法、装置以及电子设备
CN111311757B (zh) 一种场景合成方法、装置、存储介质及移动终端
KR102633468B1 (ko) 핫스팟 맵 표시 방법 및 장치, 그리고 컴퓨터 기기와 판독 가능한 저장 매체
EP3618006B1 (en) Image processing method and apparatus
CN110717964B (zh) 场景建模方法、终端及可读存储介质
KR20150079387A (ko) 카메라 광 데이터로 가상 환경을 조명하는 방법
CN112308766B (zh) 一种图像数据展示方法、装置、电子设备及存储介质
WO2019227485A1 (zh) 用于无线电模拟的增强现实的方法、设备
CN112308768B (zh) 一种数据处理方法、装置、电子设备以及存储介质
CN112308767B (zh) 一种数据展示方法、装置、存储介质以及电子设备
CN109842722B (zh) 一种图像处理方法及终端设备
CN112181230A (zh) 一种数据展示方法、装置以及电子设备
CN112184543B (zh) 一种用于鱼眼摄像头的数据展示方法和装置
CN112308757B (zh) 一种数据展示方法和移动终端
CN112184801A (zh) 一种用于鱼眼摄像头的数据展示方法和移动终端
CN112306344B (zh) 一种数据处理方法及移动终端
CN110941389A (zh) 一种焦点触发ar信息点的方法及装置
CN116704107B (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