CN117830173A - 畸变矫正方法、装置及电子设备、存储介质 - Google Patents

畸变矫正方法、装置及电子设备、存储介质 Download PDF

Info

Publication number
CN117830173A
CN117830173A CN202311869485.3A CN202311869485A CN117830173A CN 117830173 A CN117830173 A CN 117830173A CN 202311869485 A CN202311869485 A CN 202311869485A CN 117830173 A CN117830173 A CN 117830173A
Authority
CN
China
Prior art keywords
image
coordinates
point
parameter
determining
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
CN202311869485.3A
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.)
Hefei Jiangcheng Technology Co ltd
Original Assignee
Hefei Jiangcheng 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 Hefei Jiangcheng Technology Co ltd filed Critical Hefei Jiangcheng Technology Co ltd
Priority to CN202311869485.3A priority Critical patent/CN117830173A/zh
Publication of CN117830173A publication Critical patent/CN117830173A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

本申请提供一种畸变矫正方法、装置及电子设备、存储介质。该方法包括:在用户界面显示待矫正的图像,并获取所述图像中每个控制点的原始坐标;根据像素点移动操作移动所述图像中的指定像素点,并获取所述图像中的指定像素点的原始坐标和移动后的坐标;根据所述指定像素点的原始坐标和移动后的坐标、所述图像中每个控制点的原始坐标,确定所述图像中每个控制点的目标坐标,并基于所述图像中每个控制点的目标坐标生成目标图像,在用户界面显示所述目标图像。本申请的方法可以解决如何帮助用户对HUD显示的画面进行畸变矫正,以提高HUD的显示性能,改善HUD的画面显示效果的问题。

Description

畸变矫正方法、装置及电子设备、存储介质
技术领域
本申请涉及HUD领域中的画面畸变矫正技术,尤其涉及一种畸变矫正方法、装置及电子设备、存储介质。
背景技术
常规驾驶时,我们的视线往往需要在行车路面和仪表或手机导航之间来回切换,存在因视觉疲劳和注意力分散导致的安全风险。HUD(Head Up Display,简称抬头显示器)应用于车载***,通过将车速、油耗、导航等信息投影到前挡风玻璃(或独立树脂玻璃)上供驾驶员查看,可以很大程度上减少这种风险。
HUD长时间使用后,可能会出现画面畸变的问题,例如画面出现筒形畸变、枕形畸变、梯形畸变等。在出现画面畸变的问题后,用户需要对HUD显示的画面进行畸变矫正。
因此,如何帮助用户对HUD显示的画面进行畸变矫正,以提高HUD的显示性能,改善HUD的画面显示效果,仍然是需要考虑的。
发明内容
本申请提供一种畸变矫正方法、装置及电子设备、存储介质,用以解决如何帮助用户对HUD显示的画面进行畸变矫正,以提高HUD的显示性能,改善HUD的画面显示效果的问题。
一方面,本申请提供一种畸变矫正方法,包括:
在用户界面显示待矫正的图像,并获取所述图像中每个控制点的原始坐标;
根据像素点移动操作移动所述图像中的指定像素点,并获取所述图像中的指定像素点的原始坐标和移动后的坐标;
根据所述指定像素点的原始坐标和移动后的坐标、所述图像中每个控制点的原始坐标,确定所述图像中每个控制点的目标坐标,并基于所述图像中每个控制点的目标坐标生成目标图像,在用户界面显示所述目标图像。
其中一个实施例中,当所述指定像素点为所述图像中的四个角点时,所述根据所述指定像素点的原始坐标和移动后的坐标、所述图像中每个控制点的原始坐标,确定所述图像中每个控制点的目标坐标包括:
根据所述指定像素点的原始坐标和移动后的坐标,确定移动前的所述指定像素点和移动后的所述指定像素点之间的单应矩阵;
根据所述单应矩阵和所述图像中每个控制点的原始坐标,确定所述图像中每个控制点的目标坐标。
其中一个实施例中,当所述指定像素点为所述图像的四个边线中每个边线的中心点时,所述根据所述指定像素点的原始坐标和移动后的坐标、所述图像中每个控制点的原始坐标,确定所述图像中每个控制点的目标坐标包括:
针对任一个中心点,获取中心点所处边线上的两个端点中每个端点的原始坐标,以及,获取所述中心点的原始坐标和移动后的坐标;
根据每个端点的原始坐标、所述中心点的原始坐标和移动后的坐标,确定参数数组,所述参数数组包括三个参数;
根据所述三个参数和所述中心点所在边上每个控制点的原始坐标,确定所述中心线所在边上每个控制点的目标坐标;
检测到所述中心点所在边与所述图像的中心线之间共有M行控制点时,根据M和所述三个参数,确定所述中心点所在边与所述图像的中心线之间的每个控制点的目标坐标;其中,所述中心线与所述中心点所在的边相互平行,M为大于一的自然数;
返回执行上述针对任一个中心点的确定控制点的目标坐标的步骤,直到遍历所述图像的四个边线中每个边线的中心点时,获取到所述图像中每个控制点的目标坐标。
其中一个实施例中,所述根据M和所述三个参数,确定所述中心点所在边与所述图像的中心线之间的每个控制点的目标坐标包括:
根据M对所述三个参数中的第一参数和第二参数进行均分,获取到均分后的第一参数和均分后的第二参数;
针对处于第N行的控制点,根据所述三个参数、所述均分后的第一参数、所述均分后的第二参数、处于第N行的控制点在第一方向上的原始坐标、所述中心线上的中心点与边线上中心点之间在第二方向上的距离、N,确定处于第N行的控制点的目标坐标;
反复执行步骤所述针对处于第N行的控制点,根据所述三个参数、所述均分后的第一参数、所述均分后的第二参数、处于第N行的控制点在第一方向上的原始坐标、所述中心线上的中心点与边线上中心点之间在第二方向上的距离、N,确定处于第N行的控制点的目标坐标,直到确定所述中心点所在边与所述图像的中心线之间处于每行的每个控制点的目标坐标;
其中,N为自然数,N的起始值为1,N的终止值等于M,所述第二方向与所述第一方向相互垂直。
其中一个实施例中,所述根据所述三个参数、所述均分后的第一参数、所述均分后的第二参数、处于第N行的控制点在所述第一方向上的原始坐标、所述中心线上的中心点与边线上中心点之间在所述第二方向上的距离、N,确定处于第N行的控制点的目标坐标包括:
根据所述三个参数、所述均分后的第一参数、所述均分后的第二参数、处于第N行的控制点在所述第一方向上的原始坐标、所述中心线上的中心点与边线上中心点之间在所述第二方向上的距离、N,确定处于第N行的控制点在所述第二方向上的目标坐标;
根据处于第N行的控制点在所述第二方向上的目标坐标和处于第N行的控制点在所述第一方向的原始坐标,构建处于第N行的控制点的目标坐标。
其中一个实施例中,所述根据所述三个参数、所述均分后的第一参数、所述均分后的第二参数、处于第N行的控制点在所述第一方向上的原始坐标、所述中心线上的中心点与边线上中心点之间在所述第二方向上的距离、N,确定处于第N行的控制点在所述第二方向上的目标坐标包括:
根据所述三个参数中的第一参数、所述均分后的所述第一参数、处于第N行的控制点在所述第一方向上的原始坐标和N,确定第一值;
根据所述三个参数中的第二参数、所述均分后的所述第二参数、处于第N行的控制点在所述第一方向上的原始坐标和N,确定第二值;
根据所述三个参数中的第三参数、所述中心线上的中心点与边线上中心点之间在所述第二方向上的距离、N,确定第三值;
根据所述第一值、所述第二值和所述第三值的加和值,确定处于第N行的控制点在所述第二方向上的目标坐标。
其中一个实施例中,所述根据所述三个参数中的第一参数、所述均分后的所述第一参数、处于第N行的控制点在所述第一方向上的原始坐标和N,确定第一值包括:
根据公式L1=(V1-V1/M×N)×y2确定所述第一值;
所述根据所述三个参数中的第二参数、所述均分后的所述第二参数、处于第N行的控制点在所述第一方向上的原始坐标和N,确定第二值包括:
根据公式L2=(V2-V2/M×N)×y确定所述第二值;
所述根据所述三个参数中的第三参数、所述中心线上的中心点与边线上中心点之间在所述第二方向上的距离、N,确定第三值包括:
根据公式L3=V3+Z/M×N确定所述第三值;
其中,L1代表所述第一值,L2代表所述第二值,L3代表所述第三值,V1代表所述三个参数中的第一参数,V2代表所述三个参数中的第二参数,V3代表所述三个参数中的第三参数;V1/M代表均分后的所述第一参数;V2/M代表均分后的所述第二参数;V3/M代表均分后的所述第三参数;
y代表处于第N行的控制点在所述第一方向上的原始坐标,Z代表所述中心线上的中心点与边线上中心点之间在所述第二方向上的距离。
另一方面,本申请提供一种畸变矫正装置,包括:
显示模块,用于在用户界面显示待矫正的图像;
获取模块,用于获取所述图像中每个控制点的原始坐标;
移动模块,用于根据像素点移动操作移动所述图像中的指定像素点;
所述获取模块还用于获取所述图像中的指定像素点的原始坐标和移动后的坐标;
处理模块,用于根据所述指定像素点的原始坐标和移动后的坐标、所述图像中每个控制点的原始坐标,确定所述图像中每个控制点的目标坐标;
图像生成模块,用于基于所述图像中每个控制点的目标坐标生成目标图像;
所述显示模块还用于在用户界面显示所述目标图像。
另一方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的畸变矫正方法。
另一方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述指令被执行时,使得计算机执行如第一方面所述的畸变矫正方法。
另一方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如了第一方面所述的畸变矫正方法。
综上,本实施例提供的该畸变矫正方法包括:在用户界面显示待矫正的图像,并获取该图像中每个控制点的原始坐标;根据像素点移动操作移动该图像中的指定像素点,并获取该图像中的指定像素点的原始坐标和移动后的坐标;根据该指定像素点的原始坐标和移动后的坐标、该图像中每个控制点的原始坐标,确定该图像中每个控制点的目标坐标,并基于该图像中每个控制点的目标坐标生成目标图像,在用户界面显示该目标图像。
即,显示出待进行畸变矫正的图像后,根据移动操作所移动的指定像素点的坐标,对该图像中的控制点(非指定像素点)的坐标进行矫正,最终获取到并显示出畸变矫正后的图像。因此,本申请提供的方法可以帮助用户对HUD显示的画面进行畸变矫正,以提高HUD的显示性能,改善HUD的画面显示效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请提供的畸变矫正方法的一种应用场景示意图;
图2为本申请的一个实施例提供的畸变矫正方法的流程示意图;
图3为本申请的一个实施例提供的畸变矫正方法中图像的示意图;
图4为本申请的另一个实施例提供的畸变矫正装置的流程示意图;
图5为本申请的一个实施例提供的畸变矫正装置的示意图;
图6为本申请的一个实施例提供的电子设备的示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
常规驾驶时,我们的视线往往需要在行车路面和仪表或手机导航之间来回切换,存在因视觉疲劳和注意力分散导致的安全风险。HUD(Head Up Display,简称抬头显示器)应用于车载***,通过将车速、油耗、导航等信息投影到前挡风玻璃(或独立树脂玻璃)上供驾驶员查看,可以很大程度上减少这种风险。尤其是新一代的AR-HUD利用AR(AugmentedReality,简称增强现实)技术与HUD融合创新,进一步将投影图像画面的和信息叠加到现实路面行车中,形成虚实相生、如影随形的显示效果,从而增强驾驶员的信息感知便利性和人车交互体验。
HUD长时间使用后,可能会出现画面畸变的问题,例如画面出现筒形畸变、枕形畸变、梯形畸变等。在出现画面畸变的问题后,用户需要对HUD显示的画面进行畸变矫正。
基于此,本申请提供一种畸变矫正方法、装置及电子设备、存储介质。该畸变矫正方法包括:在用户界面显示待矫正的图像,并获取该图像中每个控制点的原始坐标;根据像素点移动操作移动该图像中的指定像素点,并获取该图像中的指定像素点的原始坐标和移动后的坐标;根据该指定像素点的原始坐标和移动后的坐标、该图像中每个控制点的原始坐标,确定该图像中每个控制点的目标坐标,并基于该图像中每个控制点的目标坐标生成目标图像,在用户界面显示该目标图像。
即,显示出待进行畸变矫正的图像后,根据移动操作所移动的指定像素点的坐标,对该图像中的控制点(非指定像素点)的坐标进行矫正,最终获取到并显示出畸变矫正后的图像。因此,本申请提供的方法可以帮助用户对HUD显示的画面进行畸变矫正,以提高HUD的显示性能,改善HUD的画面显示效果。
本申请提供的畸变矫正方法应用于电子设备,该电子设备例如车载处理器、云服务器等。图1为本申请提供的畸变矫正方法的应用示意图,图中,该电子设备在用户界面显示待矫正的图像,并获取该图像中每个控制点的原始坐标。根据像素点移动操作移动该图像中的指定像素点,并获取该图像中的指定像素点的原始坐标和移动后的坐标。根据该指定像素点的原始坐标和移动后的坐标、该图像中每个控制点的原始坐标,确定该图像中每个控制点的目标坐标,并基于该图像中每个控制点的目标坐标生成目标图像,在用户界面显示该目标图像。
请参见图2,本申请的一个实施例提供一种畸变矫正方法,包括:
S210,在用户界面显示待矫正的图像,并获取该图像中每个控制点的原始坐标。
该待矫正的图像指的是发生了畸变的图像,如发生了筒形畸变、枕形畸变和梯形畸变。本实施例提供的该畸变矫正方法用于矫正图像的整体畸变。
该待矫正的图像可以是用户定义的,也可以是根据检测结果确定的。该检测结果可以是根据预设定的标准图像显示规格和图像确定的,即,在确定图像不符合标准图像显示规格时,将图像定义为待矫正的图像。
该控制点可以是该图像中被设定的可以用于图像畸变矫正的像素点,例如可以是随机标定的多个像素点,或者是提前设定的多个像素点。该控制点还可以是该图像中被设定的可以用于图像畸变矫正的非像素点,例如可以是随机标定的多个非像素点,或者是提前设定的多个像素点。该控制点还可以包括像素点和非像素点。该控制点的数量越多,图像的畸变矫正的效果越好。
S220,根据像素点移动操作移动该图像中的指定像素点,并获取该图像中的指定像素点的原始坐标和移动后的坐标。
该像素点移动操作即移动该指定像素点到目标位置,是用户基于该用户界面进行的操作。该指定像素点可以是图像的四个角点,也可以是图像的四个边的每个边的中心点。该指定像素点的原始坐标即该指定像素点移动前的坐标。
请参见图3,例如,图像的像素尺寸大小为800×400,设定图像左上角角点的像素坐标为(0,0),延左上角角点的正右为第一方向(X方向),延左上角角点的正下方向为第二方向(Y方向),则四个角点的原始坐标表达为(y,x)时分别为(0,0)、(0,800)、(400,800)和(400,0)。对应的,组成二维数组S1={(0,0),(0,800),(400,800),(400,0)}。假设,从(0,0)坐标上的点为原点A顺时针分别为A、B、C、D,现在根据该像素点移动操作,将B点向右移动20且向下移动10,将C点向上移动7向左移动15。则四个角点的移动后的坐标分别为(0,0),(10,820),(393,785)和(400,0),对应的二维数组为S2={(0,0),(10,820),(393,785),(400,0)}。
请参见图3,例如,图像的像素尺寸大小为800×400,平均分为32×16个控制点,该指定像素点为图像的四个边中每个边的中点。
以图像的上边中点A1,延A1的正右为第一方向(X方向),延左上角角点的正下方向为第二方向(Y方向)。以(y,x)的形式表达,则A1(0,400)、右边的中点B1(200,400)、下边的中点C1(400,400)、左边的中点D1(200,0),即则四个中点的原始坐标分别为(0,400)、(200,400)、(400,400)和(200,0)。对应的,组成二维数组S1={(0,400),(200,400),(400,400),(200,0)}。若根据该像素点移动操作,将A1点向下移动20且向左移动10,将B1点向下移动5且向左移动15。则四个中点的移动后的坐标分别为(20,390)、(205,385)、(400,400)和(200,0)。
S230,根据该指定像素点的原始坐标和移动后的坐标、该图像中每个控制点的原始坐标,确定该图像中每个控制点的目标坐标,并基于该图像中每个控制点的目标坐标生成目标图像,在用户界面显示该目标图像。
即,根据该指定像素点的移动,控制该控制点的移动,以达到矫正该图像的目的。如上所描述的,则该控制点的数量越多,该图像的畸变矫正效果越好。
在一个可选的实施例中,当该指定像素点为该图像中的四个角点时,根据该指定像素点的原始坐标和移动后的坐标,确定移动前的该指定像素点和移动后的该指定像素点之间的单应矩阵。再根据该单应矩阵和该图像中每个控制点的原始坐标,确定该图像中每个控制点的目标坐标。
如上例,图像的像素尺寸大小为800×400,设定图像左上角角点的像素坐标为(0,0),延左上角角点的正右为第一方向(X方向),延左上角角点的正下方向为第二方向(Y方向)。以(y,x)的形式表达坐标时,则四个角点的原始坐标以分别为(0,0)、(0,800)、(400,800)和(400,0)。对应的,组成二维数组S1={(0,0),(0,800),(400,800),(400,0)}。假设,从(0,0)坐标上的点为原点A顺时针分别为A、B、C、D,现在根据该像素点移动操作,将B点向右移动20且向下移动10,将C点向上移动7向左移动15。则四个角点的移动后的坐标分别为(0,0),(10,820),(393,785)和(400,0),对应的二维数组为S2={(0,0),(10,820),(393,785),(400,0)}。
使用opencv中的函数cv::Mat H=cv::findHomography(S1,S2),计算该单应矩阵H,得到为一个3*3矩阵。将矩阵归一化H2=H/H[3][3]使用矩阵H2依次乘以每个控制点的原始坐标得到每个控制点的目标坐标,基于每个控制点的目标坐标可以得到一个新的图片坐标。可选的,也可以使用矩阵H2乘以该图像中每个像素点的原始坐标得到每个像素点的目标坐标,基于每个控制点的目标坐标可以得到一个新的图片坐标。
在一个可选的实施例中,当该指定像素点为该图像的四个边线中每个边线的中心点时,创建两个数组进行拟合,再对该控制点进行对应移动。以下描述针对任一个中心点确定一些控制点的目标坐标的方法。
可选的,针对任一个中心点,获取中心点所处边线上的两个端点中每个端点的原始坐标,以及,获取该中心点的原始坐标和移动后的坐标;根据每个端点的原始坐标、该中心点的原始坐标和移动后的坐标,确定参数数组,该参数数组包括三个参数;根据该三个参数和该中心点所在边上每个控制点的原始坐标,确定该中心线所在边上每个控制点的目标坐标;检测到该中心点所在边与该图像的中心线之间共有M行控制点时,根据M和该三个参数,确定该中心点所在边与该图像的中心线之间的每个控制点的目标坐标;其中,该中心线与该中心点所在的边相互平行,M为大于一的自然数。
如上例,图像的像素尺寸大小为800×400,平均分为32×16个控制点,该指定像素点为图像的四个边中每个边的中点。
以图像的上边中点A1,延图像左上角点的正右为第一方向(X方向),延图像左上角角点的正下方向为第二方向(Y方向)。以(y,x)的形式表达,则A1(0,400)、右边的中点B1(200,400)、下边的中点C1(400,400)、左边的中点D1(200,0),即则四个中点的原始坐标分别为(0,400)、(200,400)、(400,400)和(200,0)。对应的,组成二维数组S1={(0,400),(200,400),(400,400),(200,0)}。若根据该像素点移动操作,将A1点向下移动20且向左移动10,将B1点向下移动5且向左移动15。则四个中点的移动后的坐标分别为(20,390)、(205,385)、(400,400)和(200,0)。
针对A1,拟合A1所在边。先获取中心点A1所处边线上的两个端点中每个端点的原始坐标,获取该中心点的原始坐标和移动后的坐标。设A1的两个端点分别为A11(0,0)、A12(0,800),移动A1后A1坐标为(20,390),A1、A11和A12的X数组为S1{0,390,800},Y数组为S2{0,20,0}。将Y数组和X数组放入opencv函数cv::solve(S1,S2,2)获取参数数组{V1,V2,V3}。V1代表该参数数组中的第一参数,V2代表该参数数组中的第二参数,V3代表该参数数组中的第三参数。
则得出方程y=V1×x2+V2×x+V3。将该中心点A1所在边上每个控制点的原始坐标中的y坐标代入至方程y=V1×x2+V2×x+V3,得到该中心点A1所在边上每个控制点在第一方向上的目标坐标。A1所在边上每个控制点的目标坐标即包括在第一方向上的目标坐标和在第二方向上的原始坐标。根据得到的x对该中心点A1所在边上每个控制点进行移动。
检测到该中心点A1所在边与该图像的中心线之间共有M行控制点时,根据M对该三个参数中的第一参数(V1)和第二参数(V2)进行均分,获取到均分后的第一参数(V1/M)和均分后的第二参数(V2/M)。针对处于第N行的控制点,根据该三个参数(V1、V2和V3)、该均分后的第一参数(V1/M)和该均分后的第二参数(V2/M),处于第N行的控制点在第二坐标上的原始坐标。处于第N行的控制点在第一方向上的原始坐标、该中心线上的中心点与边线上中心点之间在第二方向上的距离、N,确定处于第N行的控制点在该第二方向上的目标坐标。根据处于第N行的控制点在该第二方向上的目标坐标和处于第N行的控制点在该第一方向的原始坐标,构建处于第N行的控制点的目标坐标。
可选的,根据该三个参数中的第一参数、该均分后的该第一参数、处于第N行的控制点在第一方向上的原始坐标和N,确定第一值。根据该三个参数中的第二参数、该均分后的该第二参数、处于第N行的控制点在第一方向上的原始坐标和N,确定第二值。根据该三个参数中的第三参数、该中心线上的中心点与边线上中心点之间在第二方向上的距离、N,确定第三值。根据该第一值、该第二值和该第三值的加和值,确定处于第N行的控制点在该第二方向上的目标坐标。
例如,根据公式L1=(V1-V1/M×N)×x2确定该第一值。根据公式L2=(V2-V2/M×N)×x确定该第二值。根据公式L3=V3+Z/M×N确定该第三值。其中,L1代表该第一值,L2代表该第二值,L3代表该第三值,V1代表该三个参数中的第一参数,V2代表该三个参数中的第二参数,V3代表该三个参数中的第三参数。V1/M代表均分后的该第一参数;V2/M代表均分后的该第二参数;V3/M代表均分后的该第三参数。x代表处于第N行的控制点在第一方向上的原始坐标,Z代表该中心线上的中心点与边线上中心点之间在第二方向上的距离。根据公式y=L1+L2+L3=(V1-V1/M×N)×x2+(V2-V2/M×N)×x+V3+Z/M×N可以确定控制点在第一方向的目标坐标。根据控制点在第一方向的目标坐标和在第二方向的原始坐标,可以确定控制点的目标坐标。
依据公式y=L1+L2+L3=(V1-V1/M×N)×x2+(V2-V2/M×N)×x+V3+Z/M×N,可以确定出该中心点A1所处边线到该中心线之间的每行控制点的目标坐标。例如,检测到该中心点A1所在边与该图像的中心线之间共有7.5行控制点,该中心线为y=200。则针对处于第一行的控制点,根据公式y=L1+L2+L3=(V1-V1/7.5×1)×x2+(V2-V2/7.5×1)×x+V3+400/7.5×1可以确定出处于第一行的控制点的目标坐标。针对处于第二行的控制点,根据公式y=L1+L2+L3=(V1-V1/7.5×2)×x2+(V2-V2/7.5×2)×x+V3+400/7.5×2可以确定出处于第二行的控制点的目标坐标。依此类推,可以确定出处于该中心点A1所处边线到中心线之间的每行控制点的目标坐标。
针对中心点B1、中心点C1和中心点D1,返回执行上述针对任一个中心点(例如上述中心点A1)的确定控制点的目标坐标的步骤。直到遍历该图像的四个边线中每个边线的中心点(B1、C1和D1)时,获取到该图像中每个控制点的目标坐标。
确定该图像中每个控制点的目标坐标后,基于该图像中每个控制点的目标坐标生成目标图像,在用户界面显示该目标图像。
综上,本实施例提供一种申请提供一种畸变矫正方法、装置及电子设备、存储介质。该畸变矫正方法包括:在用户界面显示待矫正的图像,并获取该图像中每个控制点的原始坐标;根据像素点移动操作移动该图像中的指定像素点,并获取该图像中的指定像素点的原始坐标和移动后的坐标;根据该指定像素点的原始坐标和移动后的坐标、该图像中每个控制点的原始坐标,确定该图像中每个控制点的目标坐标,并基于该图像中每个控制点的目标坐标生成目标图像,在用户界面显示该目标图像。
即,显示出待进行畸变矫正的图像后,根据移动操作所移动的指定像素点的坐标,对该图像中的控制点(非指定像素点)的坐标进行矫正,最终获取到并显示出畸变矫正后的图像。因此,本申请提供的方法可以帮助用户对HUD显示的画面进行畸变矫正,以提高HUD的显示性能,改善HUD的画面显示效果。
请参见图4,本申请的另一个实施例提供一种畸变矫正方法,包括:
S410,在用户界面显示待矫正的图像,并根据像素点移动操作对该待矫正的图像进行矫正,生成目标图像并显示目标图像。
关于步骤S410的描述可以参考以上实施例中关于步骤S210至步骤S230的相关描述,此处不再赘述。
S420,当接收到该目标图像的矫正指令时,更新该待矫正的图像为该目标图像,并返回执行步骤该在用户界面显示待矫正的图像,直到达到矫正结束条件时,在用户界面显示最终的目标图像。
该矫正指令是在用户不满意该图像的畸变矫正结果的情况下生成的。例如,在执行步骤S410显示出该目标图像后,用户认为该目标图像仍然是畸变图像时,根据用户操作生成该矫正指令。该用户操作例如可以是移动该目标图像中的指定像素点,或者可以是选中该目标图像,或者可以是其他操作,本实施例不做限定。
用户可以通过目测来确定该目标图像是否仍然是畸变图像。用户还可以通过摄像机拍摄该目标图像后,将拍摄到的该目标图像与预设的标准图像进行比对,当拍摄到的该目标图像与预设的标准图像之间的像素差在预设像素差范围(例如5像素)外时,确定该目标图像仍然是畸变图像。
该矫正结束条件例如可以是预设时长内未接收到该矫正指令时,默认可以结束矫正,例如可以是接收到由用户发出的矫正结束指令后,达到该矫正结束条件。
综上,本实施例提供的该畸变矫正方法,包括:在用户界面显示待矫正的图像,并根据像素点移动操作对该待矫正的图像进行矫正,生成目标图像并显示目标图像;当接收到该目标图像的矫正指令时,更新该待矫正的图像为该目标图像,并返回执行步骤该在用户界面显示待矫正的图像,直到达到矫正结束条件时,在用户界面显示最终的目标图像。
本实施例提供的方法可以对第一次进行了畸变矫正的图像再进行判断,当不符合要求时再进行畸形矫正,还可以对第二次进行了畸变矫正的图像再进行判断,即,可以对图像进行多次畸变矫正,以及可以对每次畸变矫正的结果进行判断。多次畸变矫正和多次畸变矫正的判断,可以更进一步提高图像畸变矫正的效果。
请参见图5,本申请的一个实施例还提供一种畸变矫正装置10,包括:
显示模块11,用于在用户界面显示待矫正的图像。
获取模块12,用于获取该图像中每个控制点的原始坐标。
移动模块13,用于根据像素点移动操作移动该图像中的指定像素点。
该获取模块12还用于获取该图像中的指定像素点的原始坐标和移动后的坐标。
处理模块14,用于根据该指定像素点的原始坐标和移动后的坐标、该图像中每个控制点的原始坐标,确定该图像中每个控制点的目标坐标。
图像生成模块15,用于基于该图像中每个控制点的目标坐标生成目标图像。
该显示模块11还用于在用户界面显示该目标图像。
可选的,当该指定像素点为该图像中的四个角点时,该处理模块14具体用于:据该指定像素点的原始坐标和移动后的坐标,确定移动前的该指定像素点和移动后的该指定像素点之间的单应矩阵;根据该单应矩阵和该图像中每个控制点的原始坐标,确定该图像中每个控制点的目标坐标。
可选的,当该指定像素点为该图像的四个边线中每个边线的中心点时,该处理模块14具体用于:针对任一个中心点,获取中心点所处边线上的两个端点中每个端点的原始坐标,以及,获取该中心点的原始坐标和移动后的坐标;根据每个端点的原始坐标、该中心点的原始坐标和移动后的坐标,确定参数数组,该参数数组包括三个参数;根据该三个参数和该中心点所在边上每个控制点的原始坐标,确定该中心线所在边上每个控制点的目标坐标;检测到该中心点所在边与该图像的中心线之间共有M行控制点时,根据M和该三个参数,确定该中心点所在边与该图像的中心线之间的每个控制点的目标坐标;其中,该中心线与该中心点所在的边相互平行,M为大于一的自然数;返回执行上述针对任一个中心点的确定控制点的目标坐标的步骤,直到遍历该图像的四个边线中每个边线的中心点时,获取到该图像中每个控制点的目标坐标。
可选的,该处理模块14具体用于:根据M对该三个参数中的第一参数和第二参数进行均分,获取到均分后的第一参数和均分后的第二参数;针对处于第N行的控制点,根据该三个参数、该均分后的第一参数、该均分后的第二参数、处于第N行的控制点在第一方向上的原始坐标、该中心线上的中心点与边线上中心点之间在第二方向上的距离、N,确定处于第N行的控制点的目标坐标;反复执行步骤该针对处于第N行的控制点,根据该三个参数、该均分后的第一参数、该均分后的第二参数、处于第N行的控制点在第一方向上的原始坐标、该中心线上的中心点与边线上中心点之间在第二方向上的距离、N,确定处于第N行的控制点的目标坐标,直到确定该中心点所在边与该图像的中心线之间处于每行的每个控制点的目标坐标;其中,N为自然数,N的起始值为1,N的终止值等于M,该第二方向与该第一方向相互垂直。
可选的,该处理模块14具体用于:根据该三个参数、该均分后的第一参数、该均分后的第二参数、处于第N行的控制点在第一方向上的原始坐标、该中心线上的中心点与边线上中心点之间在第二方向上的距离、N,确定处于第N行的控制点在该第二方向上的目标坐标;根据处于第N行的控制点在该第二方向上的目标坐标和处于第N行的控制点在该第一方向的原始坐标,构建处于第N行的控制点的目标坐标。
可选的,该处理模块14具体用于:根据该三个参数中的第一参数、该均分后的该第一参数、处于第N行的控制点在第一方向上的原始坐标和N,确定第一值;根据该三个参数中的第二参数、该均分后的该第二参数、处于第N行的控制点在第一方向上的原始坐标和N,确定第二值;根据该三个参数中的第三参数、该中心线上的中心点与边线上中心点之间在第二方向上的距离、N,确定第三值;根据该第一值、该第二值和该第三值的加和值,确定处于第N行的控制点在该第二方向上的目标坐标。
可选的,该处理模块14具体用于:根据公式L1=(V1-V1/M×N)×x2确定该第一值。根据公式L2=(V2-V2/M×N)×x确定该第二值。根据公式L3=V3+Z/M×N确定该第三值。其中,L1代表该第一值,L2代表该第二值,L3代表该第三值,V1代表该三个参数中的第一参数,V2代表该三个参数中的第二参数,V3代表该三个参数中的第三参数;V1/M代表均分后的该第一参数;V2/M代表均分后的该第二参数;V3/M代表均分后的该第三参数;x代表处于第N行的控制点在第一方向上的原始坐标,Z代表该中心线上的中心点与边线上中心点之间在第二方向上的距离。
请参见图6,本申请的一个实施例还提供一种电子设备20,包括处理器21,以及与该处理器21通信连接的存储器22。该存储器22存储计算机执行指令,该处理器21执行该存储器22存储的计算机执行指令,以实现如上任一项实施例提供的该畸变矫正方法。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当该指令被执行时,使得计算机执行指令被处理器执行时用于实现如上任一项实施例提供的该畸变矫正方法。
本申请还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时用于实现如上任一项实施例提供的该畸变矫正方法。
需要说明的是,上述计算机可读存储介质可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器。也可以是包括上述存储器之一或任意组合的各种电子设备,如移动电话、计算机、平板设备、个人数字助理等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所描述的方法。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种畸变矫正方法,其特征在于,包括:
在用户界面显示待矫正的图像,并获取所述图像中每个控制点的原始坐标;
根据像素点移动操作移动所述图像中的指定像素点,并获取所述图像中的指定像素点的原始坐标和移动后的坐标;
根据所述指定像素点的原始坐标和移动后的坐标、所述图像中每个控制点的原始坐标,确定所述图像中每个控制点的目标坐标,并基于所述图像中每个控制点的目标坐标生成目标图像,在用户界面显示所述目标图像。
2.根据权利要求1所述的方法,其特征在于,当所述指定像素点为所述图像中的四个角点时,所述根据所述指定像素点的原始坐标和移动后的坐标、所述图像中每个控制点的原始坐标,确定所述图像中每个控制点的目标坐标包括:
根据所述指定像素点的原始坐标和移动后的坐标,确定移动前的所述指定像素点和移动后的所述指定像素点之间的单应矩阵;
根据所述单应矩阵和所述图像中每个控制点的原始坐标,确定所述图像中每个控制点的目标坐标。
3.根据权利要求1所述的方法,其特征在于,当所述指定像素点为所述图像的四个边线中每个边线的中心点时,所述根据所述指定像素点的原始坐标和移动后的坐标、所述图像中每个控制点的原始坐标,确定所述图像中每个控制点的目标坐标包括:
针对任一个中心点,获取中心点所处边线上的两个端点中每个端点的原始坐标,以及,获取所述中心点的原始坐标和移动后的坐标;
根据每个端点的原始坐标、所述中心点的原始坐标和移动后的坐标,确定参数数组,所述参数数组包括三个参数;
根据所述三个参数和所述中心点所在边上每个控制点的原始坐标,确定所述中心线所在边上每个控制点的目标坐标;
检测到所述中心点所在边与所述图像的中心线之间共有M行控制点时,根据M和所述三个参数,确定所述中心点所在边与所述图像的中心线之间的每个控制点的目标坐标;其中,所述中心线与所述中心点所在的边相互平行,M为大于一的自然数;
返回执行上述针对任一个中心点的确定控制点的目标坐标的步骤,直到遍历所述图像的四个边线中每个边线的中心点时,获取到所述图像中每个控制点的目标坐标。
4.根据权利要求3所述的方法,其特征在于,所述根据M和所述三个参数,确定所述中心点所在边与所述图像的中心线之间的每个控制点的目标坐标包括:
根据M对所述三个参数中的第一参数和第二参数进行均分,获取到均分后的第一参数和均分后的第二参数;
针对处于第N行的控制点,根据所述三个参数、所述均分后的第一参数、所述均分后的第二参数、处于第N行的控制点在第一方向上的原始坐标、所述中心线上的中心点与边线上中心点之间在第二方向上的距离、N,确定处于第N行的控制点的目标坐标;
反复执行步骤所述针对处于第N行的控制点,根据所述三个参数、所述均分后的第一参数、所述均分后的第二参数、处于第N行的控制点在第一方向上的原始坐标、所述中心线上的中心点与边线上中心点之间在第二方向上的距离、N,确定处于第N行的控制点的目标坐标,直到确定所述中心点所在边与所述图像的中心线之间处于每行的每个控制点的目标坐标;
其中,N为自然数,N的起始值为1,N的终止值等于M,所述第二方向与所述第一方向相互垂直。
5.根据权利要求4所述的方法,其特征在于,所述根据所述三个参数、所述均分后的第一参数、所述均分后的第二参数、处于第N行的控制点在第一方向上的原始坐标、所述中心线上的中心点与边线上中心点之间在第二方向上的距离、N,确定处于第N行的控制点的目标坐标包括:
根据所述三个参数、所述均分后的第一参数、所述均分后的第二参数、处于第N行的控制点在所述第一方向上的原始坐标、所述中心线上的中心点与边线上中心点之间在所述第二方向上的距离、N,确定处于第N行的控制点在所述第二方向上的目标坐标;
根据处于第N行的控制点在所述第二方向上的目标坐标和处于第N行的控制点在所述第一方向的原始坐标,构建处于第N行的控制点的目标坐标。
6.根据权利要求5所述的方法,其特征在于,所述根据所述三个参数、所述均分后的第一参数、所述均分后的第二参数、处于第N行的控制点在所述第一方向上的原始坐标、所述中心线上的中心点与边线上中心点之间在所述第二方向上的距离、N,确定处于第N行的控制点在所述第二方向上的目标坐标包括:
根据所述三个参数中的第一参数、所述均分后的所述第一参数、处于第N行的控制点在所述第一方向上的原始坐标和N,确定第一值;
根据所述三个参数中的第二参数、所述均分后的所述第二参数、处于第N行的控制点在所述第一方向上的原始坐标和N,确定第二值;
根据所述三个参数中的第三参数、所述中心线上的中心点与边线上中心点之间在所述第二方向上的距离、N,确定第三值;
根据所述第一值、所述第二值和所述第三值的加和值,确定处于第N行的控制点在所述第二方向上的目标坐标。
7.根据权利要求6所述的方法,其特征在于,所述根据所述三个参数中的第一参数、所述均分后的所述第一参数、处于第N行的控制点在所述第一方向上的原始坐标和N,确定第一值包括:
根据公式L1=(V1-V1/M×N)×x2确定所述第一值;
所述根据所述三个参数中的第二参数、所述均分后的所述第二参数、处于第N行的控制点在所述第一方向上的原始坐标和N,确定第二值包括:
根据公式L2=(V2-V2/M×N)×x确定所述第二值;
所述根据所述三个参数中的第三参数、所述中心线上的中心点与边线上中心点之间在所述第二方向上的距离、N,确定第三值包括:
根据公式L3=V3+Z/M×N确定所述第三值;
其中,L1代表所述第一值,L2代表所述第二值,L3代表所述第三值,V1代表所述三个参数中的第一参数,V2代表所述三个参数中的第二参数,V3代表所述三个参数中的第三参数;V1/M代表均分后的所述第一参数;V2/M代表均分后的所述第二参数;V3/M代表均分后的所述第三参数;
x代表处于第N行的控制点在所述第一方向上的原始坐标,Z代表所述中心线上的中心点与边线上中心点之间在所述第二方向上的距离。
8.一种畸变矫正装置,其特征在于,包括:
显示模块,用于在用户界面显示待矫正的图像;
获取模块,用于获取所述图像中每个控制点的原始坐标;
移动模块,用于根据像素点移动操作移动所述图像中的指定像素点;
所述获取模块还用于获取所述图像中的指定像素点的原始坐标和移动后的坐标;
处理模块,用于根据所述指定像素点的原始坐标和移动后的坐标、所述图像中每个控制点的原始坐标,确定所述图像中每个控制点的目标坐标;
图像生成模块,用于基于所述图像中每个控制点的目标坐标生成目标图像;
所述显示模块还用于在用户界面显示所述目标图像。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7中任一项所述的畸变矫正方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当所述指令被执行时,使得计算机执行如权利要求1-7中任一项所述的畸变矫正方法。
CN202311869485.3A 2023-12-28 2023-12-28 畸变矫正方法、装置及电子设备、存储介质 Pending CN117830173A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311869485.3A CN117830173A (zh) 2023-12-28 2023-12-28 畸变矫正方法、装置及电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311869485.3A CN117830173A (zh) 2023-12-28 2023-12-28 畸变矫正方法、装置及电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN117830173A true CN117830173A (zh) 2024-04-05

Family

ID=90505875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311869485.3A Pending CN117830173A (zh) 2023-12-28 2023-12-28 畸变矫正方法、装置及电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN117830173A (zh)

Similar Documents

Publication Publication Date Title
CN107993263B (zh) 环视***自动标定方法、汽车、标定装置及存储介质
JP4618287B2 (ja) 調整方法、及びシステム
US20130002861A1 (en) Camera distance measurement device
EP3644281A1 (en) Calibration device, calibration chart, chart pattern generation device, and calibration method
CN108074237B (zh) 图像清晰度检测方法、装置、存储介质及电子设备
CN112489136B (zh) 标定方法、位置确定方法、装置、电子设备及存储介质
US11692949B2 (en) Break analysis apparatus and method
CN109992226A (zh) 图像显示方法、装置及拼接显示屏
CN103546678B (zh) 用于校正后置摄像机的图像畸变的装置和方法
CN101170627A (zh) 具有图像校正功能的扫描设备
JP2022528301A (ja) キャリブレーション方法、位置確定方法、装置、電子機器及び記憶媒体
US9802539B2 (en) Distance and direction estimation of a target point from a vehicle using monocular video camera
CN112330755B (zh) 环视***的标定评价方法及装置、存储介质、终端
US20130162674A1 (en) Information processing terminal, information processing method, and program
CN111652937A (zh) 车载相机标定方法和装置
CN112261394B (zh) 振镜的偏转率的测量方法、装置、***及计算机存储介质
CN117830173A (zh) 畸变矫正方法、装置及电子设备、存储介质
CN109901716B (zh) 视线点预测模型建立方法、装置及视线点预测方法
CN109523481B (zh) 投影仪图像畸变的矫正方法、装置及计算机可读存储介质
CN111142825B (zh) 多屏视野的显示方法、***及电子设备
KR101440847B1 (ko) 어안 렌즈를 이용한 3차원 왜곡 장치 및 방법
CN110211534B (zh) 图像显示方法、装置、控制器及存储介质
CN111145268A (zh) 一种视频注册方法及装置
CN112406706B (zh) 车辆景象的显示方法、装置、可读存储介质及电子设备
CN115147413B (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