发明内容
本发明要解决的技术问题在于克服上述现有技术存在的不足,而提出一种桶形失真校正方法、装置以及图像处理装置,能够解决原有技术中运算量大,无法实时处理分辨率较高的图像,并且要使用价格较为昂贵的存储器,成本较高。
为解决上述技术问题,本发明提出一种校正图像桶形失真的方法,其包括以下步骤:形成查找表:根据图像失真前的像素的理想坐标和畸变系数的关系形成查找表,其包括以下步骤:计算Rx、Ry:设理想坐标相对于原点在x、y方向上的距离Rx、Ry,图像的中心点坐标(xc,yc)为原点,理想坐标为(x,y),得出:Rx=xc-x,Ry=yc-y;计算K值:其中,Δ为传感器的物理像素的宽度,f为镜头物理焦距;计算畸变系数:设畸变系数为S,得出: 以及获得理想坐标:设失真坐标为(xu,yu),从而得出失真坐标和理想坐标的关系: 根据失真坐标和理想坐标的关系,获得失真坐标所对应的理想坐标,其中,kx以及ky的取值为+1或者-1,kx以及ky的取值根据以中心点坐标为原点,失真坐标相对中心点坐标为原点时所在的象限而取值;形成校正图像:把失真坐标的像素值赋于理想坐标,并通过理想坐标和失真坐标的像素值形成校正图像。
本发明还提出一种校正图像桶形失真的装置,其包括:形成查找表模块:其根据图像失真前的像素的理想坐标和畸变系数的关系形成查找表,其包括以下单元:计算Rx、Ry单元:设理想坐标相对于原点在x、y方向上的距离Rx、Ry,图像的中心点坐标(xc,yc)为原点,理想坐标为(x,y),计算得出:Rx=xc-x,Ry=yc-y;计算K值单元:根据计算K值,其中,Δ为传感器的物理像素的宽度,f为镜头物理焦距;计算畸变系数单元:设畸变系数为S,根据 计算S值;以及获得理想坐标模块:设失真坐标为(xu,yu),从而得出失真坐标和理想坐标的关系: 根据失真坐标和理想坐标的关系,获得失真坐标所对应的理想坐标,其中,kx以及ky的取值为+1或者-1,kx以及ky的取值根据以中心点坐标为原点,失真坐标相对中心点坐标为原点时所在的象限而取值;形成校正图像模块:把失真坐标的像素值赋于理想坐标,并通过理想坐标和失真坐标的像素值形成校正图像。
本发明还提出一种校正图像桶形失真的装置,其包括:查找表模块:其用于根据图像失真前的像素的理想坐标和畸变系数的关系形成查找表,并根据查找表获得图像失真后的失真坐标和理想坐标的关系;失真图像存储模块:其用于存储失真图像;图像读取模块:其连接失真图像存储模块,用于读取失真图像的像素的失真坐标以及失真坐标的像素值;控制模块:其连接查找表模块以及图像读取模块,用于接收该失真坐标,并通过查找表模块,获得失真坐标所对应的理想坐标;校正模块:其连接控制模块以及图像读取模块,用于把失真坐标的像素值赋于理想坐标;图像形成模块:其连接校正模块以及控制模块,用于根据失真坐标的的像素值以及失真坐标形成校正图像;校正图像存储模块:其连接图像形成模块,用于存储校正图像。
优选地,查找表模块包括以下单元:第一单元:其用于计算理想坐标相对于原点在x、y方向上的距离Rx、Ry,假设图像的中心点坐标(xc,yc)为原点,理想坐标为(x,y),得出:Rx=xc-x,Ry=yc-y;第二单元:其连接第一单元,用于计算K值:其中,Δ为传感器的物理像素的宽度,f为镜头物理焦距;第三单元:其连接第二单元,用于计算畸变系数:设畸变系数为S,得出: 以及第四单元:其连接第三单元,用于形成失真坐标和理想坐标的关系,设失真坐标为(xu,yu),失真坐标和理想坐标的关系为: 其中,kx以及ky的取值为+1或者-1,kx以及ky的取值根据以中心点坐标为原点,失真坐标相对中心点坐标为原点时所在的象限而取值。
优选地,失真图像存储模块以及图像形成模块为DDR。
优选地,装置还包括输入缓存模块以及输出缓存模块,输入缓存模块连接图像读取模块以及校正模块,输出缓存模块连接图像形成模块以及校正模块,输入缓存模块存储设定数量的像素的失真坐标以及其像素值,输出缓存模块存储设定数量的理想坐标以及失真坐标的像素值;控制模块检测输入缓存模块是否已经存储满设定数量的像素,如果是,控制模块控制校正模块把设定数量的像素的失真坐标对应的像素值复制到输出缓存模块,否则,控制模块控制图像读取模块继续读取设定数量的像素失真坐标以及其像素值;控制模块检测输出缓存模块是否存储满设定数量的像素,如果是,控制模块控制图像形成模块读取设定数量的像素,并根据失真坐标的像素值以及理想坐标形成校正图像,否则,控制模块控制校正模块复制设定数量的像素值到输出缓存模块。
优选地,输入缓存模块以及输出缓存模块为RAM。
优选地,设定数量为16位。
优选地,装置基于FPGA设计。
优选地,FPGA的型号为FPGA Spartan-645t。
本发明还提出一种图像处理装置,其包括如上所述的校正图像桶形失真的装置。
与现有技术相比,本发明的校正图像桶形失真的方法、装置以及图像处理装置,通过形成失真坐标和理想坐标的查找表,能够降低运算量,快速地实现桶形校正,并且查找表的存储内容较少,不需要使用大型的存储器,能够降低成本。
具体实施方式
为了进一步说明本发明的原理和结构,现结合附图对本发明的优选实施例进行详细说明。
请参阅图1,本发明的校正图像桶形失真的方法,其包括以下步骤:
步骤S11:形成查找表:根据图像失真前的像素的理想坐标和畸变系数的关系形成查找表。
请参阅图2,步骤S11中包括以下步骤:
步骤S111:计算理想坐标相对于原点在x、y方向上的距离Rx、Ry:假设图像的中心点坐标(xc,yc)为原点,理想坐标为(x,y),得出:Rx=xc-x,Ry=yc-y;
步骤S112:计算K值:其中,Δ为传感器的物理像素的宽度,f为镜头物理焦距;
步骤S113:计算畸变系数:设畸变系数为S,得出:
下面简单介绍计算畸变系数的公式的推导过程。
因为畸变系数的定义为其中,Ys为物体在图像中的实际高度,Y为物体在图像中的理想高度,又因为Ys=f*θ,Y=f*tanθ,其中,f为镜头物理焦距,θ为镜头的角度,所以,令tanθ=K,这样就得到计算畸变系数的公式。
步骤S12:获得理想坐标:设失真坐标为(xu,yu),从而得出失真坐标和理想坐标的关系: 根据失真坐标和理想坐标的关系,获得失真坐标所对应的理想坐标,其中,kx以及ky的取值为+1或者-1,kx以及ky的取值根据以中心点坐标为原点,失真坐标相对中心点坐标为原点时所在的象限而取值。例如,当失真坐标相对中心点坐标为原点时所在的象限为第一象限,则kx以及ky的取值分别为-1,+1,则计算公式为: 当失真坐标相对中心点坐标为原点时所在的象限为第二象限,则kx以及ky的取值均为+1,则计算公式为: 依此类推。
步骤S13:形成校正图像:把失真坐标的像素值赋于理想坐标,并通过理想坐标和失真坐标的像素值形成校正图像。
由公式计算畸变系数的公式可知,畸变系数只与半径R有关,因此,只要知道半径R就可以确定畸变系数S了,这样就不需要一个大型的查找表,减少了内存的使用,并且能够通过查找表快速地得到失真坐标。
本发明的校正图像桶形失真的装置(未图示),其包括:
形成查找表模块:其根据图像失真前的像素的理想坐标和畸变系数的关系形成查找表,其包括以下单元:
计算Rx、Ry单元:设理想坐标相对于原点在x、y方向上的距离Rx、Ry,图像的中心点坐标(xc,yc)为原点,理想坐标为(x,y),计算得出:Rx=xc-x,Ry=yc-y;
计算K值单元:根据计算K值,其中,Δ为传感器的物理像素的宽度,f为镜头物理焦距;
计算畸变系数单元:设畸变系数为S,根据 计算S值;以及
获得理想坐标模块:设失真坐标为(xu,yu),从而得出失真坐标和理想坐标的关系:根据失真坐标和理想坐标的关系,获得失真坐标所对应的理想坐标,其中,kx以及ky的取值为+1或者-1,kx以及ky的取值根据以中心点坐标为原点,失真坐标相对中心点坐标为原点时所在的象限而取值;
形成校正图像模块:把失真坐标的像素值赋于理想坐标,并通过理想坐标和失真坐标的像素值形成校正图像。
请继续参阅图3,校正图像桶形失真的装置包括:查找表模块1、失真图像存储模块2、图像读取模块3、控制模块4、校正模块5、图像形成模块6、输入缓存模块8、输出缓存模块9以及校正图像存储模块7。
图像读取模块3连接失真图像存储模块2,控制模块4连接查找表模块1、校正模块5、图像形成模块6以及图像读取模块3,校正模块5连接输入缓存模块8以及输出缓存模块9,输入缓存模块8连接图像读取模块3,输出缓存模块9连接图像形成模块6,图像形成模块6连接校正图像存储模块7。
查找表模块1用于根据图像失真前的像素的理想坐标和畸变系数的关系形成查找表,根据查找表获得图像失真后的失真坐标和理想坐标的关系。
本实施例中,查找表模块1包括:依次连接的第一单元11、第二单元12、第三单元13以及第四单元14。
第一单元11:用于计算理想坐标相对于原点在x、y方向上的距离Rx、Ry,并输出Rx、Ry,具体为:假设图像的中心点坐标(xc,yc)为原点,理想坐标为(x,y),得出:Rx=xc-x,Ry=yc-y。
第二单元12:用于计算并输出K值:其中,Δ为传感器的物理像素的宽度,f为镜头物理焦距;
第三单元13:用于计算并输出畸变系数:设畸变系数为S,得出:
第四单元14:其用于形成失真坐标和理想坐标的关系,设失真坐标为(xu,yu),得出关系式为: 其中,kx以及ky的取值为+1或者-1,kx以及ky的取值根据以中心点坐标为原点,失真坐标相对中心点坐标为原点时所在的象限而取值。
下面详细介绍本发明的校正图像桶形失真的装置的工作流程。
失真图像存储模块2存储失真图像。图像读取模块3每次读取设定数量失真图像的像素的失真坐标以及失真坐标的像素值,然后把这些失真坐标和其像素值保存在输入缓存模块8。输入缓存模块8存储设定数量的像素的失真坐标以及其像素值,输出缓存模块9存储设定数量的理想坐标以及失真坐标的像素值。控制模块4接收该失真坐标,并通过查找表模块1,获得失真坐标所对应的理想坐标。控制模块4检测输入缓存模块8中是否已经存储满设定数量像素,如果是,控制模块4控制校正模块5把像素值复制到输出缓存模块9,否则,控制模块4控制图像读取模块3继续读取设定数量的像素的失真坐标以及其像素值。控制模块4检测输出缓存模块9是否存储满设定数量像素,如果是,控制模块4控制图像形成模块6读取该设定数量像素,并根据失真坐标的像素值以及理想坐标形成校正图像,否则,控制模块4控制校正模块5复制设定数量的像素值到输出缓存模块9。图像形成模块6根据失真坐标的的像素值以及失真坐标形成校正图像。校正图像存储模块7存储校正图像。
本实施例中,失真图像存储模块2以及图像形成模块6为DDR(Double Data RateSynchronous Dynamic Random Access Memory,双倍数据率同步动态随机存取存储器)。输入缓存模块8以及输出缓存模块9为RAM(Random Access Memory,随机存取存储器)。通过使用DDR和RAM来代替实现SDRAM(Synchronous Dynamic Random AccessMemory,同步动态随机存储器)的功能,降低了产品的成本,并且没有降低性能,提高了产品的性价比。
本实施例中,设定数量为16位。在其它实施例中,可以根据实际的运算需求作出调整。
本实施例中,校正图像桶形失真的装置是基于FPGA设计的。该FPGA的型号为FPGASpartan-645t。本装置在164Mhz下运行,能够处理1080P30fps的视频数据。
请参阅表1,假设物体的实际高度值为yz,理想高度值为y,绝对畸变Δyz定义为:Δyz=yz-y,相对畸变定义为:因为,桶形畸变仅与半径R有关,设R1为最接近中心的半径,然后再取R2、R3…R9作为测试值。
表1
从表1可知,通过校正后,校正图像的校正半径R与理想半径R几乎100%的相同,可以证明本发明能够有效地实现桶形校正,并且减少了运算量。
本发明的图像处理装置,包括如上所述的校正图像桶形失真的装置。
与现有技术相比,本发明的校正图像桶形失真的方法、装置以及图像处理装置,通过形成失真坐标和理想坐标的查找表,能够降低运算量,实时地实现桶形校正,并且查找表的存储内容较少,不需要使用大型的存储器,能够降低成本,另外,利用DDR以及RAM来代替SDRAM,降低了生产成本,提升了性价比。
以上所述仅为本发明的较佳可行实施例,并非限制本发明的保护范围。凡运用本发明说明书及附图内容所作出的等效结构变化,均包含在本发明的保护范围内。