CN117994175A - 校正图像畸变的方法和装置、电子设备和存储介质 - Google Patents

校正图像畸变的方法和装置、电子设备和存储介质 Download PDF

Info

Publication number
CN117994175A
CN117994175A CN202311616576.6A CN202311616576A CN117994175A CN 117994175 A CN117994175 A CN 117994175A CN 202311616576 A CN202311616576 A CN 202311616576A CN 117994175 A CN117994175 A CN 117994175A
Authority
CN
China
Prior art keywords
data
netlist
pixel
interpolation
source
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
CN202311616576.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.)
Rockchip Electronics Co Ltd
Original Assignee
Rockchip Electronics 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 Rockchip Electronics Co Ltd filed Critical Rockchip Electronics Co Ltd
Priority to CN202311616576.6A priority Critical patent/CN117994175A/zh
Publication of CN117994175A publication Critical patent/CN117994175A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了校正图像畸变的方法和装置、设备和存储介质,包括:获取源端的标准像素块;根据所述标准像素块获取预设的网表存储模块中的网表数据,根据所述网表数据从预设的缓存模块中加载源像素数据;对所述网表数据进行双线性插值得到网表插值数据,根据所述网表插值数据获取所述源像素数据中的目标像素;对所述目标像素的不同分量信号分别进行双立方插值和双线性插值以得到与所述标准像素块相对应的校正像素块。对鱼眼畸变图像的校正过程,无需采用复杂算法,基于标准像素块的网表数据直接对源像素数据进行向后映射处理实现校正,有效降低鱼眼图像畸变校正的计算量的同时,提高校正效率。

Description

校正图像畸变的方法和装置、电子设备和存储介质
技术领域
本发明涉及图像处理技术领域,特别涉及校正图像畸变的方法和装置、电子设备和存储介质。
背景技术
鱼眼镜头属于超广角镜头中的一种特殊镜头,因其镜面似鱼眼向外凸出而得名。它的特点是视角大且接近180度,焦距极短。因此,使用鱼眼镜头获得的图像存在严重的畸变。图像的畸变误差通常分为三种,分别是径向畸变、偏心畸变和薄棱镜畸变。引起图像变形的主要因素是径向畸变,径向畸变以圆心为对称中心,当成像平面上的点偏离原来的理想位置,从半径方向逐渐靠近圆心时称为桶形畸变。图像的畸变不利于图像的识别和分析。
目前,常用的图像畸变校正方法为不借助相机的软件校正方法,例如:1、棋盘标定法,其缺点是越靠近圆周部分变形越严重;2、抛物面投影法,其缺点是计算过于复杂;3、先借助相机拍摄特征图片来构建原图与显示图的映射关系,再利用映射数据对之后的画面进行纠正。这些校正方法都存在校正精度不高或计算复杂的问题,无法满足大规模全景显示的工作。
发明内容
本发明提供校正图像畸变的方法和装置、电子设备和存储介质,基于硬件处理降低鱼眼图像畸变校正的计算量,提高其畸变校正效率。
在本发明的一个方面,提供一种校正图像畸变的方法。该方法包括步骤:获取源端的标准像素块;根据所述标准像素块获取预设的网表存储模块中的网表数据,根据所述网表数据从预设的缓存模块中加载源像素数据;对所述网表数据进行双线性插值得到网表插值数据,根据所述网表插值数据获取所述源像素数据中的目标像素;对所述目标像素的不同分量信号分别进行双立方插值和双线性插值以得到与所述标准像素块相对应的校正像素块。
在本发明的另一方面,提供一种校正图像畸变的装置。该装置包括:获取模块,被配置为获取源端的标准像素块;以及根据所述标准像素块获取预设的网表存储模块中的网表数据,根据所述网表数据从预设的缓存模块中加载源像素数据;处理模块,被配置为对所述网表数据进行双线性插值得到网表插值数据,根据所述网表插值数据获取所述源像素数据中的目标像素;校正模块,被配置为对所述目标像素的不同分量信号分别进行双立方插值和双线性插值以得到与所述标准像素块相对应的校正像素块。
在本发明的又一方面,提供一种电子设备。该电子设备包括存储器,被配置为存储计算机程序;以及处理器,被配置为执行所述计算机程序以执行上述的校正图像畸变的方法。
在本发明的再一方面,提供一种计算机可读介质。该介质上存储有计算机程序,所述计算机程序被处理器执行以实现上述的校正图像畸变的方法。
根据本发明的实施例,基于源端的标准像素块从网表存储模块中获取网表数据,根据网表数据加载源像素数据,实现鱼眼图像矫正的向后映射,即由标准像素块向后映射获取未校正的源像素数据,以保证校正的准确性。同时基于预设的网表存储模块和缓存模块获取对应的数据,有效提高了数据处理效率,从而提高鱼眼图像的畸变校正效率。另外,通过对网表数据进行双线性插值获取网表插值数据,以确定在标准像素块中每一个像素点可对应的网表插值数据,从而根据网表插值数据从源像素数据中确定对应的目标像素。此外,基于人眼对目标像素不同分量信号的敏感性,分别采用不同的插值方式进行校正,得到标准像素块对应的校正像素块,以此提高鱼眼图像畸变的校正效果。本申请对鱼眼畸变图像的校正过程,无需采用复杂算法,基于标准像素块的网表数据直接对源像素数据进行向后映射处理实现校正,有效降低鱼眼图像畸变校正的计算量的同时,提高校正效率。
附图说明
图1为本发明实施例的校正图像畸变的方法的流程图;
图2为根据本发明实施例的校正图像畸变的方法的流程图;
图3为根据本发明实施例的校正图像畸变的方法的向后映射示意图;
图4为本发明实施例的校正图像畸变的装置的结构示意图;
图5为本发明实施例的校正图像畸变的装置的模块示意图;
图6为本发明实施例的电子设备的结构示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
在已有技术中,使用鱼眼镜头获得的图像存在严重的畸变。目前,常用的图像畸变校正方法为软件校正方法,这些软件校正方法都存在校正精度不高或计算复杂的问题,无法满足大规模全景显示的工作。
为了解决至少上述技术问题,本公开提供了一种校正图像畸变的方法。根据本公开实施例,基于源端的标准像素块从网表存储模块中获取网表数据,根据网表数据从预设缓存模块中加载源像素数据。通过对网表数据进行双线性插值得到网表插值数据,并根据网表插值数据从源像素数据中确定对应的目标像素。对目标像素不同分量信号分别采用不同的插值方式进行校正,得到标准像素块对应的校正像素块。以此方式,根据本公开的实施例能够实现鱼眼图像矫正的向后映射,即由标准像素块向后映射获取未校正的源像素数据,以保证校正的准确性。同时基于预设的网表存储模块和缓存模块获取对应的数据,有效提高了数据处理效率,从而提高鱼眼图像的畸变校正效率。此外,基于人眼对目标像素不同分量信号的敏感性,分别采用不同的插值方式进行校正,以此提高鱼眼图像畸变的校正效果。本公开对鱼眼畸变图像的校正过程,无需采用复杂算法,基于标准像素块的网表数据直接对源像素数据进行向后映射处理实现校正,有效降低鱼眼图像畸变校正的计算量的同时,提高校正效率。
下文中,将参考具体实施例并且结合附图描述根据本公开的技术方案。
图1是示出根据本公开的实施例的校正图像畸变的方法100的流程图。参照图1,该方法100包括以下步骤102至步骤108。
在步骤102,获取源端的标准像素块。标准像素为鱼眼图像进行校正所需要对应的源端标准图像,标准像素块为源端标准图像中的部分图像。由于硬件模块在进行鱼眼图像的校正过程中,基于硬件模块的存储空间和数据处理空间,无法同步实现整个鱼眼图像的数据处理过程,因此通过选取标准图像中的部分图像作为一组标准像素块进行校正处理,直至得到整张标准图像对应的校正像素块,将所有校正像素块根据预先选取标准像素块的规则进行组合拼接,即可得到整张校正图像。
在步骤104,根据标准像素块获取预设的网表存储模块中的网表数据,根据网表数据从预设的缓存模块中加载源像素数据。网表数据的数据格式为坐标数据,其坐标数据具体为(x+u,y+v),其中x与y分别表示横向和纵向的整数部分,u与v分别表示横向和纵向的小数部分。网表数据与标准像素块对应,即网表数据为标准像素块最终需要显示的区域的坐标数据。
在步骤106,对网表数据进行双线性插值得到网表插值数据,根据网表插值数据获取源像素数据中的目标像素。基于源端的标准像素块得到对应的网表数据后进行双线性插值,以确定在标准像素块中每一个像素点可对应的网表插值数据,从而根据网表插值数据从源像素数据中确定对应的目标像素,无需处理额外的像素图像,降低硬件数据处理量,提高图像处理效率。
在步骤108,对目标像素的不同分量信号分别进行双立方插值和双线性插值以得到与标准像素块相对应的校正像素块。双线性插值是由两个变量的插值函数进行线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。双线性插值法克服了灰度不连续的缺点,计算量适中,但是具有低通滤波的性质,使得高频分量受损,图像的轮廓有一定的模糊性。双立方插值具有更加平滑的插值效果。
图2为根据本发明实施例的校正图像畸变的方法的流程图。参照图2,在一些实施例中,获取鱼眼图像进行校正所需要的对应的源端的标准像素块。
在一些实施例中,若网表存储模块中未存储有网表数据,则根据标准像素块从缓存模块中获取对应的网表数据并存储至网表存储模块。以此方式,由于鱼眼图像畸变校正处理方法在硬件模块中存在空间局限性,因此先通过缓存模块存储对应的网表数据,避免网表存储模块占用大量存储空间,同时减少内存访问,从而减少内存带宽浪费。
在一些实施例中,若从预设的缓存模块中未获取到网表数据或未成功加载源像素数据,则访问内存模块获取网表数据或源像素数据并存储至缓存模块中。内存模块可以为DDR(双倍速率同步动态随机存储器)。由于不同的标准像素块有可能同时访问相同的源像素数据的情况,因此会出现源像素数据互用。如果将所有数据全部存储在对应的网表存储模块或像素存储模块,则需要大量的存储空间。如果全部重复读取,则会浪费DDR内存带宽。因此在DDR与存储模块之间设置缓存模块,在一定程度上减少内存带宽浪费。在需要获取网表数据或源像素数据时,优先访问缓存模块,如果网表数据或源像素数据不在缓存模块中,则访问DDR。由于网表数据或源像素数据在获取时,传送的单位是一个定长块,因此需要确定定长块的大小,并且在相邻的两个传送层之间建立块的映射关系。在缓存模块中设置有最小替换单元,常见的最小替换单元的大小有32B/64B/128B。由于短时间内访问DDR空间中的数据,该数据大概率会在一段连续的地址范围内,因此利用访问空间的局部性,可以一次性从缓存模块中获取一段最小替换单元大小的连续内存,以此来减少内存的访问次数。
在一些实施例中,根据标准像素块获取预设的网表存储模块中的网表数据包括:根据标准像素块的坐标数据获取预设的网表存储模块中的原始网表数据;根据预设的网表边界参数更新原始网表数据,得到网表数据,网表数据用于标识标准像素块的边界数据;将网表数据之间进行比对,得到网表数据的最大值和最小值,并根据最大值和最小值确定源像素的范围。以此方式,先通过网表存储模块逐一存储原始网表数据,再对原始网表数据进行更新,使得原始网表数据转换为统一的网表边界参数,以便于后续数据处理时能够快速提取对应的数据。同时,基于网表数据的最大值和最小值以确定标准像素块的边界点,根据最大值和最小值以确定源像素的范围,以便于确定标准像素块对应的像素密度以及边界信息。
在一些实施例中,根据网表数据从预设的缓存模块中加载源像素数据包括:基于网表数据的最大值和最小值,根据源像素的范围从预设的缓存模块中加载对应大小的源像素数据,并存储至预设的像素存储模块。以此方式,根据标准像素块对应的像素密度和边界信息加载对应大小的源像素数据进行校正处理,保证数据处理的精确性,实现从标准图像到待校正图像的向后映射。
在一些实施例中,从像素存储模块中加载源像素数据;若未成功加载源像素数据,则根据网表数据从预设的缓存模块中加载源像素数据。以此方式,避免像素存储模块占用大量存储空间,同时减少内存访问,从而减少内存的带宽浪费。
在一些实施例中,对网表数据进行双线性插值得到网表插值数据包括:根据网表数据进行数据预取,得到网表边界点;根据预设的第一密度参数对网表边界点进行双线性插值得到与各个像素点相对应的网表插值数据。以此方式,先根据网表数据确定网表边界点,即确定标准像素块的精确边界点;再通过双线性差值得到在当前边界点和第一密度参数下每一个像素点对应的网表插值数据,从而根据网表插值数据精确获取源像素数据中的每一个像素点,优化鱼眼校正图像的显示效果。
在一些实施例中,根据网表数据进行数据预取,得到网表边界点包括:根据预设的第二密度参数对网表数据进行数据预取,得到待处理网表数据;根据第一密度参数从待处理网表数据中确定对应的网表边界点。以此方式,先通过第二密度参数将网表数据进行整合与统一,再确定网表边界点,以提高网表边界点的准确性。
在一些实施例中,根据网表插值数据获取源像素数据中的目标像素包括:获取网表插值数据中的整数数据;根据整数数据在源像素数据中查找对应的界内像素点;若查找到对应的界内像素点,则将界内像素点标记为目标像素;若未查找到对应的界内像素点,则根据整数数据在源像素数据中查找对应的边界像素点,将边界像素点标记为目标像素。以此方式,当网表插值数据有效(在源像素数据的范围内)时,则直接输出界内像素点;当网表插值数据无效(在源像素数据的范围外)时,则复制源像素数据的边界数据作为像素点进行输出,从而去除无效的畸变点。
在一些实施例中,分量信号包括亮度信号和色度信号;对目标像素的不同分量信号分别进行双立方插值和双线性插值以得到与标准像素块相对应的校正像素块包括:对目标像素的亮度信号进行双立方插值,得到校正后的亮度像素;对目标像素的色度信号进行双线性插值,得到校正后的色度像素;根据亮度像素和色度像素得到校正像素块。以此方式,由于人眼对目标像素亮度信号的敏感性高于色度信号,而双立方插值具有更加平滑的插值效果,以保证亮度信号的校正效果,但是双立方插值处理速度较慢,为提高效率,色度信号双线性插值方式进行校正,在提高鱼眼图像畸变的校正效果,保证处理效率。
下面对双立方插值的具体实现方法进行说明。选取最近的16个像素点作为计算目标图像B(X,Y)处像素值的参数。假设P的坐标为(x+u,y+v),其中,x,y分别表示横向坐标和纵向坐标的整数部分,u,v分别表示横向坐标和纵向坐标的小数部分。双立方插值是通过找到一种运算关系,即对应系数作为16个像素点对于P处像素值的影响因子,从而根据这个影响因子来获得P点的像素值,达到图像缩放的目的。因此,需要求出双立方函数中的参数x,从而获得16个像素点所对应的系数。假设,像素点ij对应的系数为k_ij,其中,横坐标的系数为k_i,纵坐标的系数为k_j。以当前像素点的位置为a(0,0)为例:预先求出当前像素点a(0,0)与P点的位置,当前像素点a(0,0)与P(x+u,y+v)的距离为(1+u,1+v),则像素点a(0,0)的横坐标系数可表示为:k_i_0=W(1+u),像素点a(0,0)的纵坐标系数可表示为:k_j_0=W(1+v);同理可得,所有像素点横坐标和纵坐标对应的系数为:k_i_0=W(1+u),k_i_1=W(u),k__i_2=W(1-u),k_i_3=W(2-u);k_j_0=W(1+v),k_j_1=W(v),k_j_2=W(1-v),k_j_3=W(2-v)。由k_i_j=k_i×k_j可得到每个像素点a(i,j)对应的权值。最后,通过下述求和公式得到目标图片B(X,Y)对应的像素值:像素B(X,Y)=像素点a(0,0)×k_0_0+像素点a(0,1)×k_0_1+…+像素点a(3,3)×k_3_3。
在一些实施例中,得到当前标准像素块对应的校正像素块后,获取下一标准像素块,并执行上面描述的步骤104至步骤108,直至得到所有标准像素块对应的校正像素块,根据所有校正像素块得到完整的校正图像。
图3示出根据本发明实施例的标准像素块向后映射得到源像素数据的示意图。图3中,OutputImg表示标准像素图像,InputImg表示待校正图像(源像素数据),OutputImgH表示标准像素图像的纵向,OutputImgW表示标准像素图像的横向,InputImgH表示待校正图像的纵向,InputImgW表示待校正图像的横向;(i,j)表示标准像素图像中的标准像素块,(I,J)表示待校正图像中的源像素数据,其中,标准像素块(i,j)为源像素数据(I,J)校正后的像素块。
根据本发明的另一方面,图4是示出根据本发明实施例的校正图像畸变的装置200的框图。参照图4,该装置200包括获取模块202、处理模块204和校正模块206。获取模块202被配置为获取标准像素块,根据标准像素块获取预设的网表存储模块中的网表数据,根据网表数据从预设的缓存模块中加载源像素数据。处理模块204被配置为对网表数据进行双线性插值得到网表插值数据,根据网表插值数据获取源像素数据中的目标像素。校正模块206被配置为对目标像素的不同分量信号分别进行双立方插值和双线性插值后得到标准像素块对应的校正像素块。
图5是示出根据本公开的实施例的校正图像畸变的装置200的模块示意图。参照图5,该装置200包括获取模块202、处理模块204以及校正模块206。图5中CACHE为缓存模块2022;LUT_DMA_RD为网表读取模块2024;PIXEL_DMA_RD为像素读取模块2026;MINBUF为网表存储模块2028;SCAN为时序控制模块2030;MBUF为网表更新模块2042;BBUF为边界判断模块2044;PBUF为像素存储模块2046;MESH_UPDATE为网表预取更新模块2048;MESH-ITP为网表插值模块2050;PIXEL-UPDATE为像素更新模块2062;PIXEL-ITP为像素插值模块2064。
在一些实施例中,获取模块202包括缓存模块2022、网表读取模块2024、像素读取模块2026、网表存储模块2028以及时序控制模块2030。缓存模块2022被配置为存储原始网表数据和源像素数据。网表读取模块2024被配置为若未获取到网表数据,则根据标准像素块从缓存模块2022中获取对应的网表数据存储至网表存储模块2028;以及若从缓存模块2022中未获取到网表数据,则访问内存模块获取网表数据存储至缓存模块2022。像素读取模块2026被配置为若未成功加载源像素数据,则根据网表数据从预设的缓存模块2022中加载源像素数据;以及若从缓存模块2022中未成功加载源像素数据则访问内存模块获取源像素数据存储至缓存模块2022。网表存储模块2028被配置为存储原始网表数据。时序控制模块2030被配置为当所需要的原始网表数据和源像素数据都已经存储于网表存储模块2028和像素存储模块2046时,根据像素存储模块2046输出的READY信号进行乒乓切换,输出边界参数为32x32的扫描时序驱动网表预取更新模块2048。
在网表读取模块2024中,将原始网表数据从DDR中读取回来后,需要对网表存储在DDR的地址指针进行DDR对齐,一般为64B对齐。
在像素读取模块2026中,根据实际需要的源像素数据(即目标像素)从缓存模块2022中获取,则不需要进行DDR对齐,因为在缓存模块2022中会预先对目标像素存储在DDR的地址指针进行DDR对齐,若读取后再次进行对齐,则会增加数据的离散度,导致硬件内部性能损失。
在网表存储模块2028中,该模块为网表更新模块2042提供所需要的原始网表数据,当该模块内部的原始网表数据全部使用完后,则需要通过网表读取模块2024从DDR中继续取回原始网表数据。其中,该模块由两片RAM(随机存储器)构成,采用乒乓方式进行切换,存储原始网表数据,可分成两种不同的存储模式:1、单片模式,单独访问每一片RAM。2、多片模式,同时访问两片RAM;在两片交界的地方,需要同时访问两片RAM,只有当一片RAM结束之后才能完全切换到另一片RAM。由于原始网表数据存储在DDR中需要满足以下条件:原始网表数据的行列需要对齐到32x32格式,原始网表数据中的整数和小数分开存储且首地址16B对齐,因此当存储的原始网表数据大于网表存储模块2028的最大容量时,则需要更新原始网表数据。
在一些实施例中,处理模块204包括网表更新模块2042、边界判断模块2044、像素存储模块2046、网表预取更新模块2048以及网表插值模块2050。网表更新模块2042被配置为根据预设的第一网表边界参数更新原始网表数据,得到网表数据,网表数据用于标识标准像素块的边界数据;将网表数据之间进行比对,得到网表数据的最大值和最小值,并根据最大值和最小值确定网表数据的密度参数。边界判断模块2044被配置为基于网表数据的最大值和最小值,根据网表数据的密度参数从预设的缓存模块2022中加载对应大小的源像素数据,并存储至预设的像素存储模块2046。像素存储模块2046被配置为存储源像素数据。网表预取更新模块2048被配置为根据网表数据进行数据预取,得到网表边界点。网表插值模块2050被配置为根据预设密度参数对网表边界点进行双线性插值得到每一个像素点对应的网表插值数据。
在网表更新模块2042中,该模块为网表预取更新模块2048提供所需要的网表数据,当该模块内部的网表数据全部使用完后,则需要从网表存储模块2028中取出生成一块32x32的边界网表点所需要的原始网表数据。其中,该模块由两片寄存储器数组构成,采用乒乓方式进行切换,对原始网表数据进行更新。
进一步地,网表更新模块2042执行根据预设的网表边界参数更新原始网表数据,得到网表数据,具体为:当原始网表数据的密度参数为16x8时,则直接从网表存储模块2028中取出对应的原始网表数据生成网表边界参数为32x32的网表数据。当原始网表数据的密度参数为32x16时,则需要对取出的原始网表数据进行插值处理,得到原本不存在的原始网表数据,从而生成网表边界参数为32x32的网表数据。在更新原始网表数据的同时,将网表数据之间进行比对,得到网表数据的最大值和最小值,并根据最大值和最小值确定源像素的范围,即根据最大值和最小值判断网表数据的取值数是按照32x32取数,还是按照16x16取数,并将得到的最大值、最小值以及源像素范围输出至边界判断模块2044。
在边界判断模块2044中,根据网表更新模块2042输出的最大值、最小值以及源像素范围确定了对应大小的源像素数据,则通过像素读取模块2026从缓存模块2022中加载源像素数据存储至像素存储模块2046中。
在像素存储模块2046中,其存储的源像素数据包括Y/C分量信号的像素值,即亮度/色度分量信号的像素值,其内部采用乒乓方式切换,存储源像素数据,以提高模块内部的处理效率。
在网表预取更新模块2048中,当接收到时序控制模块2030输出的扫描时序后,该模块会输出对应的网表边界点给网表插值模块2050进行插值。当该模块的网表数据使用完,则从网表更新模块2042中获取新的网表数据。
进一步地,网表预取更新模块2046执行根据网表数据进行数据预取,得到网表边界点,具体为:先按照32x16的第二密度参数对所述网表数据进行数据预取,得到9组待处理网表数据,然后将9组待处理网表数据,存入该模块内部的寄存器矩阵中(由于寄存器矩阵为3x3,因此可以预取9组待处理网表数据);然后按照16x8的第一密度参数从寄存器矩阵中取出四个网表边界点,四个网表边界点分别为MESH00、MESH01、MESH10以及MESH11;将四个网表边界点输出至网表插值模块2050中进行插值处理。
在网表插值模块2050中,根据四个网表边界点通过双线性插值得到第一密度参数为16x8的网表插值数据,即,将四个网表边界点通过双线性插值得到128个网表插值数据,其中每一个网表插值数据对应一个像素点的坐标;然后输出网表插值数据对应的扫描时序至像素更新模块2062。
在一些实施例中,校正模块206包括像素更新模块2062以及像素插值模块2064。像素更新模块2062被配置为根据网表插值数据获取所述源像素数据中的目标像素。像素插值模块2064被配置为对目标像素的不同分量信号分别进行双立方插值和双线性插值后得到标准像素块对应的校正像素块。
在像素更新模块2062中,根据网表插值模块2050输出的网表插值数据,从像素存储模块2046存储的源像素数据中取出对应的像素点,具体的,按照网表插值数据的整数数据(x,y)取出所需要的像素点。当整数数据(x,y)没有超过源像素数据的边界时直接输出对应的像素点,作为目标像素;当整数数据(x,y)超过源像素数据的边界时复制源像素数据的边界作为目标像素,并输出至像素插值模块2064。
进一步地,当需要取回的源像素数据大于像素存储模块2046的最大范围时,则不取回数据,且源像素数据填充默认值;或者,按照像素存储模块2046的最大范围取回数据,超出最大范围的部分填充像素存储模块2046的边界值。
在像素插值模块2064中,根据像素更新模块2062输出的目标像素分别进行双立方插值和双线性插值。目标像素中的Y分量信号(亮度信号)通过查找系数表的方式来进行双立方插值,得到校正后的亮度像素。双立方插值需要2张系数表,2张系数表中分别记录着横坐标和纵坐标对应的系数,由此2张系数表分别实现横向和纵向的系数查找。在进行双立方插值时,一次性读取四个目标像素值和对应的系数值,然后进行对应的运算得到插值后的亮度像素。目标像素中的C分量信号(色度信号)进行双线性插值,得到校正后的色度像素。双线性插值直接将目标像素中的小数部分作为对应的系数值进行运算得到插值后的色度像素。根据亮度像素和色度像素得到标准像素块对应的校正像素块。
根据本发明的又一方面,图6是示出根据本发明实施例的电子设备300的示意图。参照图6,该电子设备300包括存储器302、处理器304以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上面描述的鱼眼畸变图像的校正方法的各个步骤。
根据本发明的又一方面,提供了一种计算机可读介质。该计算机可读介质上存储有计算机程序,该计算机程序被处理器执行以实现如上面描述的鱼眼畸变图像的校正方法。
综上所述,本发明提供的校正图像畸变的方法和装置、电子设备和存储介质中,获取源端的标准像素块,并基于标准像素块获取从网表存储模块中获取网表数据,根据网表数据加载源像素数据,通过对网表数据进行双线性插值获取网表插值数据,以确定在标准像素块中每一个像素点可对应的网表插值数据,从而根据网表插值数据从源像素数据中确定对应的目标像素,本申请基于硬件模块网表数据实现鱼眼图像矫正的向后映射。同时基于预设的网表存储模块和缓存模块获取对应的数据,有效提高了数据处理效率,同时通过缓存模块预先存储对应的数据,有效减少了内存数据带宽的浪费,提升内存处理性能,从而提高鱼眼图像的畸变校正效率。此外,基于人眼对目标像素不同分量信号的敏感性,分别采用不同的插值方式进行校正,得到标准像素块对应的校正像素块,以此提高鱼眼图像畸变的校正效果。本申请对鱼眼畸变图像的校正过程,无需采用软件的复杂算法,基于标准像素块的网表数据直接对源像素数据进行向后映射,基于硬件模块的数据处理实现校正,降低鱼眼图像畸变校正的计算量的同时,有效降低鱼眼图像校正时处理器的负荷,提高校正效率。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (13)

1.一种校正图像畸变的方法,其特征在于,包括:
获取源端的标准像素块;
根据所述标准像素块获取预设的网表存储模块中的网表数据,根据所述网表数据从预设的缓存模块中加载源像素数据;
对所述网表数据进行双线性插值得到网表插值数据,根据所述网表插值数据获取所述源像素数据中的目标像素;以及
对所述目标像素的不同分量信号分别进行双立方插值和双线性插值以得到与所述标准像素块相对应的校正像素块。
2.根据权利要求1所述的方法,其特征在于,获取源端的标准像素块包括:
获取鱼眼图像进行校正所需要的对应的源端的标准像素块。
3.根据权利要求1所述的方法,其特征在于,还包括:
若所述网表存储模块中未存储有所述网表数据,则根据所述标准像素块从所述缓存模块中获取对应的网表数据,并将所述网表数据存储至所述网表存储模块。
4.根据权利要求1所述的方法,其特征在于,根据所述标准像素块获取预设的网表存储模块中的网表数据包括:
根据所述标准像素块的坐标数据获取所述网表存储模块中的原始网表数据;
根据预设的网表边界参数更新所述原始网表数据,得到网表数据,所述网表数据用于标识所述标准像素块的边界数据;
将所述网表数据之间进行比对,得到所述网表数据的最大值和最小值,并根据所述最大值和最小值确定源像素的范围。
5.根据权利要求4所述的方法,其特征在于,根据所述网表数据从预设的缓存模块中加载源像素数据包括:
基于所述网表数据的最大值和最小值,根据所述源像素的范围从所述缓存模块中加载对应大小的源像素数据,并将所述源像素数据存储至预设的像素存储模块。
6.根据权利要求5所述的方法,其特征在于,在对所述网表数据进行双线性插值得到网表插值数据之前,还包括:
从所述像素存储模块中加载所述源像素数据;以及
若未成功加载所述源像素数据,则根据所述网表数据从所述缓存模块中加载所述源像素数据。
7.根据权利要求1所述的方法,其特征在于,对所述网表数据进行双线性插值得到网表插值数据包括:
根据所述网表数据进行数据预取,得到网表边界点;以及
根据预设的第一密度参数对所述网表边界点进行双线性插值得到与各个像素点相对应的网表插值数据。
8.根据权利要求7所述的方法,其特征在于,根据所述网表数据进行数据预取,得到网表边界点包括:
根据预设的第二密度参数对所述网表数据进行数据预取,得到待处理网表数据;以及
根据所述第一密度参数从所述待处理网表数据中确定对应的网表边界点。
9.根据权利要求1所述的方法,其特征在于,根据所述网表插值数据获取所述源像素数据中的目标像素包括:
获取所述网表插值数据中的整数数据;
根据所述整数数据在所述源像素数据中查找对应的界内像素点;
若查找到对应的界内像素点,则将所述界内像素点标记为目标像素;以及
若未查找到对应的界内像素点,则根据所述整数数据在所述源像素数据中查找对应的边界像素点,并将所述边界像素点标记为目标像素。
10.根据权利要求1所述的方法,其特征在于,所述分量信号包括亮度信号和色度信号,其中对所述目标像素的不同分量信号分别进行双立方插值和双线性插值以得到与所述标准像素块相对应的校正像素块包括:
对所述目标像素的亮度信号进行双立方插值,得到校正后的亮度像素;
对所述目标像素的色度信号进行双线性插值,得到校正后的色度像素;以及
根据所述亮度像素和所述色度像素得到所述校正像素块。
11.一种校正图像畸变的装置,其特征在于,包括:
获取模块,被配置为获取源端的标准像素块,根据所述标准像素块获取预设的网表存储模块中的网表数据,根据所述网表数据从预设的缓存模块中加载源像素数据;
处理模块,被配置为对所述网表数据进行双线性插值得到网表插值数据,根据所述网表插值数据获取所述源像素数据中的目标像素;以及
校正模块,被配置为对所述目标像素的不同分量信号分别进行双立方插值和双线性插值以得到与所述标准像素块相对应的校正像素块。
12.一种电子设备,其特征在于,包括:
存储器,被配置为存储计算机程序;以及
处理器,被配置为执行所述计算机程序以执行根据权利要求1至10中任意一项所述的方法。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行以实现根据权利要求1至10中任意一项所述的方法。
CN202311616576.6A 2023-11-28 2023-11-28 校正图像畸变的方法和装置、电子设备和存储介质 Pending CN117994175A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311616576.6A CN117994175A (zh) 2023-11-28 2023-11-28 校正图像畸变的方法和装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311616576.6A CN117994175A (zh) 2023-11-28 2023-11-28 校正图像畸变的方法和装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN117994175A true CN117994175A (zh) 2024-05-07

Family

ID=90890322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311616576.6A Pending CN117994175A (zh) 2023-11-28 2023-11-28 校正图像畸变的方法和装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN117994175A (zh)

Similar Documents

Publication Publication Date Title
US5987567A (en) System and method for caching texture map information
US9280810B2 (en) Method and system for correcting a distorted input image
US9262807B2 (en) Method and system for correcting a distorted input image
KR101602075B1 (ko) 광각 렌즈 이미지 보정
KR101017802B1 (ko) 영상 왜곡 보정
US7301565B2 (en) Correction method, correction device and photographing device
CN110958362A (zh) 基于分块查表的图像校正系统及其方法
JPH11110580A (ja) テクスチャーマッピング装置及びその方法
CN109785265B (zh) 畸变矫正图像处理方法及图像处理装置
US20100020225A1 (en) Image processing apparatus, image processing method, and program
US11669942B2 (en) Image de-warping system
US11443411B2 (en) Method and system for image distortion correction using quarter and tangential lookup tables
US9269130B2 (en) Image correction method using approximately non-linear regression approach and related image correction circuit
JP2004032368A (ja) デジタル撮像装置
JP2010176547A (ja) 画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラム
CN117994175A (zh) 校正图像畸变的方法和装置、电子设备和存储介质
JPH0310380A (ja) 画像変換回路
JPH0896118A (ja) 車両用周囲状況表示装置
CN115601223A (zh) 一种图像预处理装置、方法和芯片
KR20220086512A (ko) 데이터 워핑 장치 및 방법
CN110738615B (zh) 鱼眼图像校正方法、装置、系统及可存储介质
JPH0737079A (ja) 画像歪み補正方法及び装置
Luo et al. Improved LUT-based image warping for video cameras
KR101520041B1 (ko) 렌즈 왜곡 보정을 위한 메모리 인터페이스 장치 및 방법
KR101288378B1 (ko) 영상 변환 장치

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