CN112433662B - 图像矫正方法、装置、电子设备及存储介质 - Google Patents
图像矫正方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112433662B CN112433662B CN202011355418.6A CN202011355418A CN112433662B CN 112433662 B CN112433662 B CN 112433662B CN 202011355418 A CN202011355418 A CN 202011355418A CN 112433662 B CN112433662 B CN 112433662B
- Authority
- CN
- China
- Prior art keywords
- image
- correction
- vertex
- corrected
- axis coordinate
- 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
- 238000003702 image correction Methods 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012937 correction Methods 0.000 claims abstract description 213
- 230000001960 triggered effect Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 13
- 230000004044 response Effects 0.000 claims abstract description 13
- 239000011159 matrix material Substances 0.000 claims description 82
- 238000006073 displacement reaction Methods 0.000 claims description 15
- 238000010276 construction Methods 0.000 claims description 8
- 230000000007 visual effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 5
- 230000009191 jumping Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开关于一种图像矫正方法、装置、电子设备及存储介质。该图像矫正方法包括:响应于对待矫正图像的图像矫正指令,显示图像矫正界面;该图像矫正界面中包括矫正操作区域以及待矫正图像;待矫正图像为透视图像,矫正操作区域用于调整待矫正图像的顶点在本地坐标系中的坐标;响应于矫正操作区域中触发的图像矫正操作指令,确定矫正信息;根据矫正信息对待矫正图像进行透视投影处理,得到目标矫正图像;显示目标矫正图像。根据本公开的技术方案,使得用户可以直观便捷的对待矫正图像的本地坐标进行矫正调整,保证调整幅度的精准可控。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及一种图像矫正方法、装置、电子设备及存储介质。
背景技术
图像拍摄中,由于图像捕捉硬件或拍摄视角等不同,会导致拍摄的图像发生畸变,使得图像不够自然。现有技术中,会对发生畸变的图像进行矫正,但是矫正的方法比较复杂且不能准确控制矫正幅度。
发明内容
本公开提供一种图像矫正方法、装置、电子设备及存储介质,以至少解决相关技术中如何便捷且精准控制矫正幅度的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种图像矫正方法,包括:
响应于对待矫正图像的图像矫正指令,显示图像矫正界面;所述图像矫正界面中包括矫正操作区域以及所述待矫正图像;所述待矫正图像为透视图像,所述矫正操作区域用于调整所述待矫正图像的顶点在本地坐标系中的坐标;
响应于所述矫正操作区域中触发的图像矫正操作指令,确定矫正信息;
根据所述矫正信息对所述待矫正图像进行透视投影处理,得到目标矫正图像;
显示所述目标矫正图像。
在一种可能的实现方式中,所述响应于所述矫正操作区域中触发的图像矫正操作指令,确定矫正信息步骤包括:
根据所述图像矫正操作指令中的输入信息,得到所述待矫正图像的顶点Z轴坐标矫正值;
将所述待矫正图像的顶点Z轴坐标矫正值作为所述矫正信息。
在一种可能的实现方式中,当所述输入信息包括方向信息和位移信息时,所述根据所述图像矫正操作指令中的输入信息,得到所述待矫正图像的顶点Z轴坐标矫正值步骤包括:
根据所述方向信息,确定目标矫正顶点;
根据所述位移信息,确定所述目标矫正顶点的Z轴坐标矫正值;
将所述待矫正图像的非目标矫正顶点的Z轴坐标初始值和所述目标矫正顶点的Z轴坐标矫正值,作为所述待矫正图像的顶点Z轴坐标矫正值。
在一种可能的实现方式中,所述根据所述矫正信息对所述待矫正图像进行透视投影处理,得到目标矫正图像步骤包括:
获取模型视图投影矩阵;
将所述待矫正图像的顶点Z轴坐标矫正值与所述模型视图投影矩阵进行相乘处理,得到所述目标矫正图像。
在一种可能的实现方式中,所述获取模型视图投影矩阵步骤包括:
获取预设投影模型中的视点的坐标、视角、近平面到所述视点的距离、远平面到所述视点的距离以及视口比例;
根据所述视点的坐标、所述视角、所述近平面到所述视点的距离、所述远平面到所述视点的距离和所述视口比例,构建模型矩阵、视图矩阵和投影矩阵;
根据所述模型矩阵、所述视图矩阵和所述投影矩阵,获取所述模型视图投影矩阵。
根据本公开实施例的第二方面,提供一种图像矫正装置,包括:
图像矫正界面显示模块,被配置为执行响应于对待矫正图像的图像矫正指令,显示图像矫正界面;所述图像矫正界面中包括矫正操作区域以及所述待矫正图像;所述待矫正图像为透视图像,所述矫正操作区域用于调整所述待矫正图像的顶点在本地坐标系中的坐标;
矫正信息确定模块,被配置为执行响应于所述矫正操作区域中触发的图像矫正操作指令,确定矫正信息;
目标矫正图像获取模块,被配置为执行根据所述矫正信息对所述待矫正图像进行透视投影处理,得到目标矫正图像;
目标矫正图像显示模块,被配置为执行显示所述目标矫正图像。
在一种可能的实现方式中,所述矫正信息确定模块包括:
顶点Z轴坐标矫正值获取单元,被配置为执行根据所述图像矫正操作指令中的输入信息,得到所述待矫正图像的顶点Z轴坐标矫正值;
矫正信息确定单元,被配置为执行将所述待矫正图像的顶点Z轴坐标矫正值作为所述矫正信息。
在一种可能的实现方式中,当所述输入信息包括方向信息和位移信息时,所述顶点Z轴坐标矫正值获取单元包括:
目标矫正顶点确定子单元,被配置为执行根据所述方向信息,确定目标矫正顶点;
目标矫正顶点的Z轴坐标矫正值确定子单元,被配置为执行根据所述位移信息,确定所述目标矫正顶点的Z轴坐标矫正值;
顶点Z轴坐标矫正值确定子单元,被配置为执行将所述待矫正图像的非目标矫正顶点的Z轴坐标初始值和所述目标矫正顶点的Z轴坐标矫正值,作为所述待矫正图像的顶点Z轴坐标矫正值。
在一种可能的实现方式中,所述目标矫正图像获取模块包括:
模型视图投影矩阵获取单元,被配置执行获取模型视图投影矩阵;
目标矫正图像获取单元,被配置执行将所述待矫正图像的顶点Z轴坐标矫正值与所述模型视图投影矩阵进行相乘处理,得到所述目标矫正图像。
在一种可能的实现方式中,所述模型视图投影矩阵获取单元包括:
预设投影模型信息获取子单元,被配置执行获取预设投影模型中的视点的坐标、视角、近平面到所述视点的距离、远平面到所述视点的距离以及视口比例;
矩阵构建子单元,被配置执行根据所述视点的坐标、所述视角、所述近平面到所述视点的距离、所述远平面到所述视点的距离和所述视口比例,构建模型矩阵、视图矩阵和投影矩阵;
模型视图投影矩阵获取子单元,被配置执行根据所述模型矩阵、所述视图矩阵和所述投影矩阵,获取所述模型视图投影矩阵。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现上述第一方面中任一项所述的图像矫正方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述图像矫正方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面中任一项所述的图像矫正方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
在图像矫正中,通过显示图像矫正界面,并设置图像矫正界面中包括矫正操作区域,该矫正操作区域可以用于调整待矫正图像的顶点在本地坐标系中的坐标,即通过将透视投影中图像的本地坐标的调整以矫正操作区域的方式展示给用户,使得用户可以直观便捷的对待矫正图像的本地坐标进行矫正调整,保证调整幅度的精准可控;从而基于该矫正调整和透视投影技术,可以实时渲染以显示目标矫正图像,使得图像矫正可以更加准确和高效。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种图像矫正方法的流程图。
图2是根据一示例性实施例示出的一种图像矫正触发界面的示意图。
图3是根据一示例性实施例示出的一种图像矫正方法的流程图。
图4是根据一示例性实施例示出的一种图像矫正界面的示意图。
图5是根据一示例性实施例示出的一种图像矫正界面的示意图。
图6是根据一示例性实施例示出的一种根据图像矫正操作指令中的输入信息,得到待矫正图像的顶点Z轴坐标矫正值的方法流程图。
图7是根据一示例性实施例示出的一种图像矫正界面的示意图。
图8是根据一示例性实施例示出的获取模型视图投影矩阵的方法流程图。
图9是根据一示例性实施例示出的视点、视角、近平面和远平面的示意图。
图10是根据一示例性实施例示出的一种图像矫正装置的框图。
图11是根据一示例性实施例示出的一种用于图像矫正的电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种图像矫正方法的流程图。该图像矫正方法可以应用于终端,该终端可以用于提供面向用户的图像矫正处理。其中,终端提供面向用户的图像矫正处理的方式可以包括但不限于应用程序方式、网页方式等。如图1所示,图像矫正方法可以包括以下步骤。
在步骤S101中,响应于对待矫正图像的图像矫正指令,显示图像矫正界面。
本说明书实施例中,图像矫正界面中可以包括矫正操作区域以及待矫正图像。其中,待矫正图像可以为透视图像,即待矫正图像可以是基于透视投影技术得到的图像。矫正操作区域可以用于调整待矫正图像的顶点在本地坐标系中的坐标,例如,可以用于调整待矫正图像的顶点在本地坐标系中的Z轴坐标。其中,本地坐标系可以是指以待矫正图像中的一个点为原点的坐标系。
本说明书实施例中,可以如图2所示,用户可以通过触发“选择待矫正图像”区域进行待矫正图像的选择,通过点击或触摸“矫正”区域,触发对待矫正图像的图像矫正指令。响应于对待矫正图像的图像矫正指令,可以跳转到图像矫正界面。
在步骤S103中,响应于矫正操作区域中触发的图像矫正操作指令,确定矫正信息。
本说明书实施例中,响应于矫正操作区域中触发的图像矫正操作指令,可以确定矫正信息。例如,响应于矫正操作区域中触发的图像矫正操作指令,可以获取图像矫正操作指令中的待矫正图像的各顶点的Z轴坐标的矫正值,从而可以将待矫正图像的各顶点的Z轴坐标的矫正值作为矫正信息。
在步骤S105中,根据矫正信息对待矫正图像进行透视投影处理,得到目标矫正图像。
本说明书实施例中,可以根据矫正信息,利用透视投影技术对待矫正图像进行透视投影处理,确定目标矫正图像。
在一个示例中,步骤S105可以包括:获取模型视图投影矩阵;将待矫正图像的顶点Z轴坐标矫正值与所述模型视图投影矩阵进行相乘处理,得到目标矫正图像。顶点Z轴坐标矫正值可以是指待矫正图像的各顶点的Z轴坐标矫正值。其中,模型视图投影矩阵可以是预先构建的,具体构建过程可以参见下面图8相应内容的介绍。
在步骤S107中,显示所述目标矫正图像。
本说明书实施例中,作为一个示例,可以将目标矫正图像渲染在待矫正图像所在的区域,从而显示目标矫正图像。本公开对目标矫正图像的显示位置和显示方式不作限定。
在图像矫正中,通过显示图像矫正界面,并设置图像矫正界面中包括矫正操作区域,该矫正操作区域可以用于调整待矫正图像的顶点在本地坐标系中的坐标,即通过将透视投影中图像的本地坐标的调整以矫正操作区域的方式展示给用户,使得用户可以直观便捷的对待矫正图像的本地坐标进行矫正调整,保证调整幅度的精准可控;从而基于该矫正调整和透视投影技术,可以实时渲染以显示目标矫正图像,使得图像矫正可以更加准确和高效。
图3是根据一示例性实施例示出的一种图像矫正方法的流程图。如图3所示,步骤S103可以包括以下步骤:
在步骤S301中,根据图像矫正操作指令中的输入信息,得到待矫正图像的顶点Z轴坐标矫正值;
在步骤S303中,将待矫正图像的顶点Z轴坐标矫正值作为矫正信息。
本说明书实施例中,用户可以在矫正操作区域中进行矫正操作,比如可以调整待矫正图像的顶点Z轴坐标的值。可以将用户在矫正操作区域中进行的矫正操作作为输入信息,并可以基于该输入信息,生成图像矫正操作指令。从而可以根据图像矫正操作指令中的输入信息,得到待矫正图像的顶点Z轴坐标矫正值。可以将待矫正图像的顶点Z轴坐标矫正值作为矫正信息。
在一个示例中,矫正操作区域可以包括待矫正图像的顶点坐标输入区域。对于待矫正图像的顶点坐标输入区域,可以如图4所示,以输入框的方式,可以在输入框中输入待矫正图像各顶点的z轴坐标的矫正值。其中z′1(A)对应的顶点坐标输入区域可以用于输入顶点A在z轴方向上的坐标、z′2(B)对应的顶点坐标输入区域可以用于输入顶点B在z轴方向上的坐标、z′3(C)对应的顶点坐标输入区域可以用于输入顶点C在z轴方向上的坐标、z′4(D)对应的顶点坐标输入区域可以用于输入顶点D在z轴方向上的坐标。[Zmin,Zmax]可以是指每个顶点的z轴坐标的调整范围,该调整范围可以是预先设置的对应顶点的z轴坐标的限值范围,比如可以是根据透射投影技术预先设置的,本公开对此不作限定。
本说明书实施例中,当矫正操作区域包括待矫正图像的顶点坐标输入区域时,如图4所示,输入信息可以包括待矫正图像的各顶点对应的顶点坐标输入区域中的输入信息,待矫正图像的顶点对应的顶点坐标输入区域中的输入信息可以包括待矫正图像的各顶点对应的z轴坐标的矫正值。此时,可以根据待矫正图像的顶点对应的顶点坐标输入区域中的输入信息,获取待矫正图像的顶点对应的z轴坐标的矫正值,从而可以将待矫正图像的顶点对应的z轴坐标的矫正值作为待矫正图像的顶点Z轴坐标矫正值,并可以将待矫正图像的顶点Z轴坐标矫正值作为矫正信息。
可选地,可以在顶点坐标输入区域中的输入操作结束时,触发图像矫正操作指令,该输入操作结束可以包括检测到输入确认按钮被触发、检测到回车键被触发、预设时间内未检测到输入操作等,本公开对此不作限定。该输入确认按钮可以设置在矫正操作区域中,图4中未示出。
在另一个示例中,如图5所示,可以设置每一顶点对应的滑动操作区域用于调整每一顶点在z轴方向上的坐标,输入信息可以是指滑动操作区域中的输入信息。其中z′1(A)对应的滑动操作区域可以用于调整顶点A在z轴方向上的坐标、z′2(B)对应的滑动操作区域可以用于调整顶点B在z轴方向上的坐标、z′3(C)对应的滑动操作区域可以用于调整顶点C在z轴方向上的坐标、z′4(D)对应的滑动操作区域可以用于调整顶点D在z轴方向上的坐标。每一顶点对应的滑动操作区域可以具有调整范围,该调整范围可以是预先设置的对应顶点的z轴坐标的限值范围,比如根据透射投影技术预先设置的,本公开对此不作限定。其中,每一顶点对应的滑动操作区域的调整范围可以相同,本公开对此也不作限定。需要说明的是,这里的z轴方向上的坐标可以是指本地坐标系中的z轴坐标。
可选地,z′1(A)、z′2(B)、z′3(C)、z′4(D)可以共用一个滑动操作区域,用户在操作滑动操作区域时,可以先选择z′1(A)、z′2(B)、z′3(C)、z′4(D)中的一个,这样就可以确定滑动操作区域中的z轴坐标的调整是针对该选择z′1(A)、z′2(B)、z′3(C)、z′4(D)中的一个。例如,选择了z′1(A),则可以确定滑动操作区域是用于z′1(A)的调整,即用于对顶点A的调整。
本说明书实施例中,每一顶点对应的滑动操作区域还可以包括滑动图标(如图5所示的三角形图标),在跳转到图像矫正界面时,该滑动图标可以处于滑动操作区域中预先设置的位置,比如中间位置。该预先设置的位置可以作为滑动图标的初始位置。在一个示例中,该滑动图标的初始位置对应的值可以与待矫正图像的z轴坐标初始值相同,待矫正图像的z轴坐标初始值可以为0。
本说明书实施例中,用户可以操作滑动图标在滑动操作区域滑动,以调整对应顶点的z轴坐标。用户完成滑动操作,可以触发图像矫正操作指令,响应于该图像矫正操作指令,可以获取每一顶点对应的z轴坐标矫正值,将每一顶点对应的z轴坐标矫正值作为矫正信息。其中,每一顶点对应的z轴坐标矫正值可以是指每一顶点对应的滑动操作区域中滑动图标在完成滑动操作时所在位置对应的值。这里的完成滑动操作可以包括滑动图标停止滑动、滑动图标停止滑动达到时间阈值;或者,矫正操作区域还包括矫正确认按钮,此时,完成滑动操作可以是指检测到矫正确认按钮被触发。本公开对该完成滑动操作的具体方式不作限定。
通过输入框或滑动操作区域的输入方式,可以保证调整幅度的精准可控。并且可以对待矫正图像的各顶点的z轴坐标进行分别调整,可以实现更细粒度的图像矫正操作。
图6是根据一示例性实施例示出的一种根据图像矫正操作指令中的输入信息,得到待矫正图像的顶点Z轴坐标矫正值的方法流程图。在一种可能的实现方式中,当输入信息包括方向信息和位移信息时,如图6所示,即步骤S301可以包括:
在步骤S601中,根据方向信息,确定目标矫正顶点。
本说明书实施例中,在至少两个顶点共用一个滑动操作区域时,比如,至少两个顶点共用一个滑竿时,可以根据方向信息,确定目标矫正顶点。该目标矫正顶点可以是指滑动操作区域的滑动操作所调整的顶点。
在一个示例中,如图7所示,矫正操作区域可以包括滑动操作区域和图像矫正方向操作区域,其中,图像矫正方向操作区域可以包括两个目标矫正方向:左右、上下,该左右可以是指待矫正图像的左右两条边:AD、BC,该上下可以是指待矫正图像的上下两条边:AB、DC。可以将滑动操作区域划分为两个滑动子区域,例如[N,O)滑动子区域、(O,M]滑动子区域。可以将[N,O)滑动子区域作为第一滑动子区域,将(O,M]滑动子区域作为第二滑动子区域。在目标矫正方向为左右时,可以设置第一滑动子区域对应待矫正图像的左面的边AD,以用于对待矫正图像的左面的边AD进行矫正操作;可以设置第二滑动子区域对应待矫正图像的右面的边BC,以用于对待矫正图像的右面的边BC进行矫正操作。在目标矫正方向为上下时,可以设置第一滑动子区域对应待矫正图像的上面的边AB,以用于对待矫正图像的上面的边AB进行矫正操作;可以设置第二滑动子区域对应待矫正图像的下面的边DC,以用于对待矫正图像的下面的边DC进行矫正操作。
在另一个示例中,可以将滑动操作区域的两个滑动临界点(N和M)分别与待矫正图像在目标矫正方向对应的两个边对齐,比如目标矫正方向为左右时,N可以与待矫正图像左面的边AD对齐,即滑动操作区域指向N的滑动操作可以用于调整待矫正图像左面的边AD的z轴坐标;M可以与待矫正图像右面的边BC对齐,即滑动操作区域指向M的滑动操作可以用于调整待矫正图像右面的边BC的z轴坐标。
可选地,在跳转到图像矫正界面时,滑动图标可以处于O点所在的位置,即O点所在的位置可以作为滑动图标的初始位置。该滑动图标的初始值可以对应调整范围的下限值。本公开对此不作限定。
本说明书实施例中,图像矫正方向操作区域中的目标矫正方向也可以分别对应一个滑动操作区域,或者,待矫正图像的每条边可以分别对应一个滑动操作区域,本公开对此不作限定。
本说明书实施例中,当矫正操作区域包括滑动操作区域和图像矫正方向操作区域时,相应地,图像矫正操作指令中的输入信息可以包括方向信息和位移信息。该方向信息可以包括图像矫正方向操作区域中触发的目标矫正方向信息和滑动操作区域中触发的滑动方向信息。从而可以根据目标矫正方向信息和滑动操作区域中触发的滑动方向信息,确定目标矫正顶点。例如,用户在图像矫正方向操作区域选择目标矫正方向时,可以根据图像矫正方向操作区域中触发的图像矫正方向确认指令,响应于该图像矫正方向确认指令,可以确定目标矫正方向信息。例如,用户选择目标矫正方向:左右,可以确定目标矫正方向信息为左右,即可以确定待矫正的顶点为顶点A和顶点D;或者待矫正的顶点为顶点B和顶点C。还可以获取滑动方向信息,从而可以根据目标矫正方向信息和滑动方向信息,确定目标矫正顶点。例如,目标矫正方向信息为左右、滑动方向信息为O至M方向时,可以确定目标矫正边为右边BC,从而可以确定目标矫正顶点为顶点B和顶点C。
在步骤S603中,根据位移信息,确定目标矫正顶点的Z轴坐标矫正值。
本说明书实施例中,位移信息可以是指滑动图标从初始位置滑动的距离信息,即该距离信息可以是指滑动图标的矫正位置相对于滑动图标的初始位置的距离。这里滑动图标的矫正位置可以是指触发图像矫正操作指令时,滑动图标在滑动操作区域的位置。
在一个示例中,可以将目标矫正顶点的Z轴坐标初始值与位移信息中的距离信息相加,得到目标矫正顶点的Z轴坐标矫正值。
在步骤S605中,将待矫正图像的非目标矫正顶点的Z轴坐标初始值和目标矫正顶点的Z轴坐标矫正值,作为待矫正图像的顶点Z轴坐标矫正值。
本说明书实施例中,非目标矫正顶点可以是指待矫正图像的顶点中除目标矫正顶点之外的其它顶点。例如,目标矫正顶点为顶点B和顶点C,非目标矫正顶点可以为顶点A和顶点D。可以将待矫正图像的非目标矫正顶点的Z轴坐标初始值和目标矫正顶点的Z轴坐标矫正值,作为待矫正图像的顶点Z轴坐标矫正值。即可以将矫正后的各顶点的Z轴坐标值作为待矫正图像的顶点Z轴坐标矫正值。
通过在矫正操作区域可以包括滑动操作区域和图像矫正方向操作区域,使得矫正操作区域可以更加简洁,便于终端显示,也使得用户操作更加简单。
在一种可能的实现方式中,滑动操作区域可以具有预设精度的刻度标识。可以使得滑动操作更加精准可控。
图8是根据一示例性实施例示出的获取模型视图投影矩阵的方法流程图。如图8所示,所述获取模型视图投影矩阵步骤可以包括:
在步骤S801中,获取预设投影模型中的视点的坐标、视角、近平面到视点的距离、远平面到视点的距离以及视口比例。
本说明书实施例中,可以获取预设投影模型中的视点的坐标(视点坐标)、视角、近平面到视点的距离、远平面到视点的距离以及视口比例。
在一个示例中,可以利用OpenGL(Open Graphics Library,开放图形库)的透视投影技术设置预设投影模型,该预设投影模型中可以包括近平面、远平面、视点、视点坐标、视角、近平面到视点的距离、远平面到视点的距离、视口比例。其中视点可以是指拍摄设备,视点坐标可以是拍摄设备的坐标;视点、视角、近平面和远平面可以参见图9所示;视口比例可以是指用于显示图像的区域的长宽比例。本公开的视点坐标、视角、近平面到视点的距离、远平面到视点的距离、视口比例的设置均可以基于实际需求,利用OpenGL中的函数实现,本公开对此不作限定。
在步骤S803中,根据视点的坐标、视角、近平面到所述视点的距离、远平面到视点的距离和视口比例,构建模型矩阵、视图矩阵和投影矩阵。
本说明书实施例中,可以基于视点的坐标、视角、近平面到视点的距离、远平面到视点的距离、视口比例,构建模型矩阵、视图矩阵和投影矩阵。该构建过程可以基于OpenGL中的相应函数实现,本公开对此也不作限定。
其中,模型矩阵可以用于将待矫正图像的本地坐标转换为世界坐标;视图矩阵可以用于将世界坐标转换为观察坐标;投影矩阵可以用于将观察坐标转换为裁剪坐标。这里的本地坐标可以是指相对于待矫正图像的原点的坐标;世界坐标可以是指相对于世界原点的坐标;观察坐标可以是指相对于拍摄设备或观察者的坐标;裁剪坐标可以是指透射投影模型中的标准化坐标。即模型矩阵、视图矩阵和投影矩阵可以用于将待矫正图像的本地坐标转换为透视投影模型中的标准化坐标,即可以将本地坐标转换为(-1,-1,-1)至(1,1,1)的一个立方体的归一化坐标。
在步骤S805中,根据模型矩阵、视图矩阵和投影矩阵,获取模型视图投影矩阵。
本说明书实施例中,可以将模型矩阵、所述视图矩阵和所述投影矩阵相乘,得到模型视图投影矩阵。该模型视图投影矩阵可以用于将视锥体中的图像的本地坐标渲染为(-1,-1,-1)到(1,1,1)的一个立方体内的归一化坐标。视锥体可以是上述利用OpenGL设置的近平面与远平面之间的四棱锥。
图10是根据一示例性实施例示出的一种图像矫正装置框图。该图像矫正装置可以应用于终端。参照图10,该图像矫正装置可以包括:
图像矫正界面显示模块1001,被配置为执行响应于对待矫正图像的图像矫正指令,显示图像矫正界面;所述图像矫正界面中包括矫正操作区域以及所述待矫正图像;所述待矫正图像为透视图像,所述矫正操作区域用于调整所述待矫正图像的顶点在本地坐标系中的坐标;
矫正信息确定模块1003,被配置为执行响应于所述矫正操作区域中触发的图像矫正操作指令,确定矫正信息;
目标矫正图像获取模块1005,被配置为执行根据所述矫正信息对所述待矫正图像进行透视投影处理,得到目标矫正图像;
目标矫正图像显示模块1007,被配置为执行显示所述目标矫正图像。
在图像矫正中,通过显示图像矫正界面,并设置图像矫正界面中包括矫正操作区域,该矫正操作区域可以用于调整待矫正图像的顶点在本地坐标系中的坐标,即通过将透视投影中图像的本地坐标的调整以矫正操作区域的方式展示给用户,使得用户可以直观便捷的对待矫正图像的本地坐标进行矫正调整,保证调整幅度的精准可控;从而基于该矫正调整和透视投影技术,可以实时渲染以显示目标矫正图像,使得图像矫正可以更加准确和高效。
在一种可能的实现方式中,所述矫正信息确定模块1003可以包括:
顶点Z轴坐标矫正值获取单元,被配置为执行根据所述图像矫正操作指令中的输入信息,得到所述待矫正图像的顶点Z轴坐标矫正值;
矫正信息确定单元,被配置为执行将所述待矫正图像的顶点Z轴坐标矫正值作为所述矫正信息。
在一种可能的实现方式中,当所述输入信息包括方向信息和位移信息时,所述顶点Z轴坐标矫正值获取单元可以包括:
目标矫正顶点确定子单元,被配置为执行根据所述方向信息,确定目标矫正顶点;
目标矫正顶点的Z轴坐标矫正值确定子单元,被配置为执行根据所述位移信息,确定所述目标矫正顶点的Z轴坐标矫正值;
顶点Z轴坐标矫正值确定子单元,被配置为执行将所述待矫正图像的非目标矫正顶点的Z轴坐标初始值和所述目标矫正顶点的Z轴坐标矫正值,作为所述待矫正图像的顶点Z轴坐标矫正值。
在一种可能的实现方式中,所述目标矫正图像获取模块1005可以包括:
模型视图投影矩阵获取单元,被配置执行获取模型视图投影矩阵;
目标矫正图像获取单元,被配置执行将所述待矫正图像的顶点Z轴坐标矫正值与所述模型视图投影矩阵进行相乘处理,得到所述目标矫正图像。
在一种可能的实现方式中,所述模型视图投影矩阵获取单元可以包括:
预设投影模型信息获取子单元,被配置执行获取预设投影模型中的视点的坐标、视角、近平面到所述视点的距离、远平面到所述视点的距离以及视口比例;
矩阵构建子单元,被配置执行根据所述视点的坐标、所述视角、所述近平面到所述视点的距离、所述远平面到所述视点的距离和所述视口比例,构建模型矩阵、视图矩阵和投影矩阵;
模型视图投影矩阵获取子单元,被配置执行根据所述模型矩阵、所述视图矩阵和所述投影矩阵,获取所述模型视图投影矩阵。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11是根据一示例性实施例示出的一种用于图像矫正的电子设备的框图,该电子设备可以是终端,其内部结构图可以如图11所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像矫正的方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如本公开实施例中的图像矫正方法。
在示例性实施例中,还提供了一种存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例中的图像矫正方法。
在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本公开实施例中的图像矫正方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种图像矫正方法,其特征在于,包括:
响应于对待矫正图像的图像矫正指令,显示图像矫正界面;所述图像矫正界面中包括矫正操作区域以及所述待矫正图像;所述待矫正图像为透视图像,所述矫正操作区域用于调整所述待矫正图像的顶点在本地坐标系中的Z轴坐标;
响应于所述矫正操作区域中触发的图像矫正操作指令,确定矫正信息;所述矫正信息为所述待矫正图像的顶点Z轴坐标矫正值;
将所述待矫正图像的顶点Z轴坐标矫正值与模型视图投影矩阵进行相乘处理,得到目标矫正图像;
显示所述目标矫正图像。
2.根据权利要求1所述的图像矫正方法,其特征在于,所述响应于所述矫正操作区域中触发的图像矫正操作指令,确定矫正信息步骤包括:
根据所述图像矫正操作指令中的输入信息,得到所述待矫正图像的顶点Z轴坐标矫正值;
将所述待矫正图像的顶点Z轴坐标矫正值作为所述矫正信息。
3.根据权利要求2所述的图像矫正方法,其特征在于,当所述输入信息包括方向信息和位移信息时,所述根据所述图像矫正操作指令中的输入信息,得到所述待矫正图像的顶点Z轴坐标矫正值步骤包括:
根据所述方向信息,确定目标矫正顶点;
根据所述位移信息,确定所述目标矫正顶点的Z轴坐标矫正值;
将所述待矫正图像的非目标矫正顶点的Z轴坐标初始值和所述目标矫正顶点的Z轴坐标矫正值,作为所述待矫正图像的顶点Z轴坐标矫正值。
4.根据权利要求1所述的图像矫正方法,其特征在于,所述方法还包括:
获取预设投影模型中的视点的坐标、视角、近平面到所述视点的距离、远平面到所述视点的距离以及视口比例;
根据所述视点的坐标、所述视角、所述近平面到所述视点的距离、所述远平面到所述视点的距离和所述视口比例,构建模型矩阵、视图矩阵和投影矩阵;
根据所述模型矩阵、所述视图矩阵和所述投影矩阵,获取所述模型视图投影矩阵。
5.一种图像矫正装置,其特征在于,包括:
图像矫正界面显示模块,被配置为执行响应于对待矫正图像的图像矫正指令,显示图像矫正界面;所述图像矫正界面中包括矫正操作区域以及所述待矫正图像;所述待矫正图像为透视图像,所述矫正操作区域用于调整所述待矫正图像的顶点在本地坐标系中的Z轴坐标;
矫正信息确定模块,被配置为执行响应于所述矫正操作区域中触发的图像矫正操作指令,确定矫正信息;所述矫正信息为所述待矫正图像的顶点Z轴坐标矫正值;
目标矫正图像获取模块,被配置为执行将所述待矫正图像的顶点Z轴坐标矫正值与模型视图投影矩阵进行相乘处理,得到目标矫正图像;
目标矫正图像显示模块,被配置为执行显示所述目标矫正图像。
6.根据权利要求5所述的图像矫正装置,其特征在于,所述矫正信息确定模块包括:
顶点Z轴坐标矫正值获取单元,被配置为执行根据所述图像矫正操作指令中的输入信息,得到所述待矫正图像的顶点Z轴坐标矫正值;
矫正信息确定单元,被配置为执行将所述待矫正图像的顶点Z轴坐标矫正值作为所述矫正信息。
7.根据权利要求6所述的图像矫正装置,其特征在于,当所述输入信息包括方向信息和位移信息时,所述顶点Z轴坐标矫正值获取单元包括:
目标矫正顶点确定子单元,被配置为执行根据所述方向信息,确定目标矫正顶点;
目标矫正顶点的Z轴坐标矫正值确定子单元,被配置为执行根据所述位移信息,确定所述目标矫正顶点的Z轴坐标矫正值;
顶点Z轴坐标矫正值确定子单元,被配置为执行将所述待矫正图像的非目标矫正顶点的Z轴坐标初始值和所述目标矫正顶点的Z轴坐标矫正值,作为所述待矫正图像的顶点Z轴坐标矫正值。
8.根据权利要求5所述的图像矫正装置,其特征在于,所述装置还包括模型视图投影矩阵获取单元,所述模型视图投影矩阵获取单元包括:
预设投影模型信息获取子单元,被配置执行获取预设投影模型中的视点的坐标、视角、近平面到所述视点的距离、远平面到所述视点的距离以及视口比例;
矩阵构建子单元,被配置执行根据所述视点的坐标、所述视角、所述近平面到所述视点的距离、所述远平面到所述视点的距离和所述视口比例,构建模型矩阵、视图矩阵和投影矩阵;
模型视图投影矩阵获取子单元,被配置执行根据所述模型矩阵、所述视图矩阵和所述投影矩阵,获取所述模型视图投影矩阵。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至4中任一项所述的图像矫正方法。
10.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至4中任一项所述的图像矫正方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011355418.6A CN112433662B (zh) | 2020-11-26 | 2020-11-26 | 图像矫正方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011355418.6A CN112433662B (zh) | 2020-11-26 | 2020-11-26 | 图像矫正方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112433662A CN112433662A (zh) | 2021-03-02 |
CN112433662B true CN112433662B (zh) | 2022-08-12 |
Family
ID=74698962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011355418.6A Active CN112433662B (zh) | 2020-11-26 | 2020-11-26 | 图像矫正方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433662B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115984096A (zh) * | 2022-12-13 | 2023-04-18 | 北京字跳网络技术有限公司 | 图像处理方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778200A (zh) * | 2010-02-08 | 2010-07-14 | 王晓年 | 基于非均匀采样的图像校正系统及方法 |
KR20110096638A (ko) * | 2010-02-23 | 2011-08-31 | 나비스오토모티브시스템즈 주식회사 | 네비게이션 시스템의 맵 드로잉 방법 및 그 장치 |
CN107248145A (zh) * | 2017-05-05 | 2017-10-13 | 珠海全志科技股份有限公司 | 图像畸变矫正方法、处理方法、处理设备及观看设备 |
CN107343146A (zh) * | 2012-01-17 | 2017-11-10 | 夏普株式会社 | 图像处理装置以及图像处理方法 |
CN108320290A (zh) * | 2017-12-29 | 2018-07-24 | 中国银联股份有限公司 | 目标图片提取矫正方法及装置、计算机设备和记录介质 |
-
2020
- 2020-11-26 CN CN202011355418.6A patent/CN112433662B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778200A (zh) * | 2010-02-08 | 2010-07-14 | 王晓年 | 基于非均匀采样的图像校正系统及方法 |
KR20110096638A (ko) * | 2010-02-23 | 2011-08-31 | 나비스오토모티브시스템즈 주식회사 | 네비게이션 시스템의 맵 드로잉 방법 및 그 장치 |
CN107343146A (zh) * | 2012-01-17 | 2017-11-10 | 夏普株式会社 | 图像处理装置以及图像处理方法 |
CN107248145A (zh) * | 2017-05-05 | 2017-10-13 | 珠海全志科技股份有限公司 | 图像畸变矫正方法、处理方法、处理设备及观看设备 |
CN108320290A (zh) * | 2017-12-29 | 2018-07-24 | 中国银联股份有限公司 | 目标图片提取矫正方法及装置、计算机设备和记录介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112433662A (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10964049B2 (en) | Method and device for determining pose of camera | |
US9495802B2 (en) | Position identification method and system | |
CN109726647B (zh) | 点云的标注方法、装置、计算机设备和存储介质 | |
JP4677281B2 (ja) | 画像処理方法、画像処理装置 | |
JP4743818B2 (ja) | 画像処理装置、画像処理方法、コンピュータプログラム | |
JP2002259992A (ja) | 画像処理装置およびその方法並びにプログラムコード、記憶媒体 | |
EP2977961B1 (de) | Verfahren und Kommunikationseinrichtung zum Erstellen und/oder Ändern virtueller Objekte | |
CN109782901A (zh) | 增强现实交互方法、装置、计算机设备及存储介质 | |
CN112346725B (zh) | 页面设计方法、装置、设备及存储介质 | |
CN109740487B (zh) | 点云标注方法、装置、计算机设备和存储介质 | |
CN111273772A (zh) | 基于slam测绘方法的增强现实交互方法、装置 | |
CN109901123A (zh) | 传感器标定方法、装置、计算机设备和存储介质 | |
CN112433662B (zh) | 图像矫正方法、装置、电子设备及存储介质 | |
KR101875047B1 (ko) | 사진측량을 이용한 3d 모델링 시스템 및 방법 | |
CN109686225A (zh) | 电力系统数据可视化方法、装置、计算机设备和存储介质 | |
CN111464795B (zh) | 监控设备配置的实现方法、装置及电子设备 | |
KR20150026396A (ko) | 이미지를 합성하기 위한 방법 및 그 전자 장치 | |
US20200225743A1 (en) | Screen Estimation | |
CN105912101A (zh) | 一种投影控制方法和电子设备 | |
US20170094244A1 (en) | Image processing device and image processing method | |
CN115311364A (zh) | 相机定位方法、装置、电子设备及计算机可读存储介质 | |
CN108665525B (zh) | 基于引擎的虚拟摄像机视场角的计算方法、存储介质 | |
CN108830928A (zh) | 三维模型的映射方法、装置、终端设备和可读存储介质 | |
JP2010033397A (ja) | 画像合成装置および方法 | |
US11039083B1 (en) | Facilitating motion capture camera placement |
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 |