发明内容
本发明要解决的技术问题在于克服上述现有技术存在的不足,而提出一种应用于全景成像系统的投影变换方法以及装置,能够解决现在的投影变换方法的效果不好,投影变换装置只能实现一种投影变换并且无法应用于嵌入式领域的问题。
为解决上述技术问题,本发明提出一种应用于全景成像系统的投影变换方法,其包括以下步骤:生成变换图像坐标:按照设定顺序生成变换图像坐标,所述设定顺序为从上到下,从左到右;计算原图像坐标:确定投影方式,根据投影方式的反变换公式获得变换图像坐标所对应的原图像坐标;提取像素值:根据原图像坐标提取其在原图像上对应的像素值;坐标投影变换:通过投影方式的变换公式获得原图像的变换前坐标对应的变换后坐标;形成变换图像:通过像素值和变换后坐标形成变换图像。
优选地,投影方式为透视变换,设变换图像坐标为(u,v),原图像坐标为(x,y),透视变换的反变换公式为: 其中,H-1为变换矩阵逆矩阵。
优选地,投影方式为柱面投影变换,设变换图像坐标为(u,v),原图像坐标为(x,y),柱面投影的反变换公式: 其中,θ为镜头的旋转角,W为图像的宽度,H为图像的高度,f为镜头的物理焦距。
优选地,投影方式为桶形投影变换,设图像的中心点坐标(xc,yc)为原点,设原图像坐标为(xu,yu),设畸变系数为S,因此,桶形投影变换的反变换公式为: 其中,变换图像坐标相对于原点在x、y方向上的距离Rx、Ry,kx以及ky的取值均为+1或者-1,kx以及ky的取值根据变换图像坐标相对原点所在的象限而取值。
本发明还提出一种应用于全景成像系统的投影变换装置,其包括:生成变换图像坐标模块:其用于按照设定顺序生成变换图像坐标;计算原图像坐标模块:其用于确定投影方式,根据投影方式的反变换公式获得变换图像坐标所对应的原图像坐标;提取像素值模块:其用于根据原图像坐标提取其在原图像上对应的像素值;坐标投影变换模块:其用于通过投影方式的变换公式获得原图像的变换前坐标所对应的变换后坐标;形成变换图像模块:其用于通过像素值和变换后坐标形成变换图像。
本发明还提出一种应用于全景成像系统的投影变换装置,其包括:坐标生成模块:其用于按照设定顺序生成变换图像坐标;原图像存储模块:其用于存储原图像;控制模块:其连接坐标生成模块以及图像读取模块,用于接收变换图像坐标以及变换前坐标,并确定投影方式,根据投影方式的反变换公式获得变换图像坐标所对应的原图像坐标,输出原图像坐标,根据投影方式的变换公式获得原图像的变换前坐标所对应的变换后坐标,输出变换后坐标;图像读取模块:其连接原图像存储模块,用于获取原图像的像素的变换前坐标以及原图像坐标在原图像上对应的像素值;校正模块:其连接控制模块以及图像读取模块,用于接收像素值以及变换后坐标,把像素值赋于变换后坐标;图像形成模块:其连接校正模块以及控制模块,用于根据像素值以及变换后坐标形成变换图像;以及变换图像存储模块:其连接图像形成模块,用于存储变换图像。
优选地,投影变换方式包括透视变换、柱面投影变换以及桶形投影变换。
优选地,投影变换装置包括输入缓存模块以及输出缓存模块,输入缓存模块连接图像读取模块以及校正模块,输出缓存模块连接图像形成模块以及校正模块,输入缓存模块存储设定数量的像素的原图像坐标以及其对应的像素值,输出缓存模块存储设定数量的变换后坐标以及像素值;控制模块检测输入缓存模块是否已经存储满设定数量的像素,如果是,控制模块控制校正模块把设定数量的像素值以及变换后坐标复制到输出缓存模块,否则,控制模块控制图像读取模块继续读取设定数量的像素的变换前坐标以及根据原图像坐标获取其在原图像上对应的像素值;控制模块检测输出缓存模块是否存储满设定数量的像素,如果是,控制模块控制图像形成模块读取输出缓存模块的的像素值以及变化后坐标,并根据像素值以及变换后坐标形成变换图像,否则,控制模块控制校正模块复制设定数量的像素值以及变换后坐标到输出缓存模块。
优选地,投影变换装置还包括插值模块,其连接输入缓存模块,其用于当控制模块生成的原图像坐标为小数坐标时,插值模块把小数坐标的像素通过插值的方式替换为最接近小数坐标的整数坐标的像素。
优选地,投影变换装置基于FPGA设计。
与现有技术相比,本发明的应用于全景成像系统的投影变换方法以及装置,通过投影反变换来获得像素,能够更加准确地找到像素,并且能够在投影变换装置中实现多种投影变换,还使得投影变换能够适用于嵌入式领域,尤其是IC或者FPGA中。
具体实施方式
为了进一步说明本发明的原理和结构,现结合附图对本发明的优选实施例进行详细说明。
请参阅图1,本发明的应用于全景成像系统的投影变换方法的方法,其包括以下步骤:
步骤S11:生成变换图像坐标:按照设定顺序生成变换图像坐标。本实施例中,设定顺序为从上到下,从左到右。
步骤S12:计算原图像坐标:确定投影方式,根据投影方式的反变换公式获得变换图像坐标所对应的原图像坐标。
本实施例中,投影方式为透视变换、柱面投影以及桶形投影变换中的一种。
对于透视变换,设变换图像坐标为(u,v),原图像坐标为(x,y),透视变换的反变换公式为: 其中,H-1为变换矩阵逆矩阵,(x′,y′)为中间值。
对于柱面投影变换,设变换图像坐标为(u,v),原图像坐标为(x,y),柱面投影的反变换公式: 其中,θ为摄像头的旋转角,W为图像的宽度,H为图像的高度,f为焦距。
对于桶形投影变换,获得桶形投影变换的反变换公式,包括以下步骤:
设变换图像坐标相对于原点在x、y方向上的距离Rx、Ry,图像的中心点坐标(xc,yc)为原点,变换图像坐标为(x,y),计算得出:Rx=xc-x,Ry=yc-y;
计算K值单元:根据计算K值,其中,Δ为传感器的物理像素的宽度,f为镜头物理焦距;
计算畸变系数单元:设畸变系数为S,根据 计算S值;
获得理想坐标模块:设原图像坐标为(xu,yu),设畸变系数为S,从而得出桶形投影变换的原图像坐标和变换图像坐标的关系,亦即桶形投影变换的反变换公式: 其中,kx以及ky的取值均为+1或者-1,kx以及ky的取值根据变换图像坐标相对原点所在的象限而取值从公式可以知道,桶形投影变换只跟半径有关。
在其他实施例中,也可以包括其他的投影方式。
步骤S13:提取像素值:根据原图像坐标提取其在原图像上对应的像素值。
步骤S14:坐标投影变换:通过投影方式的变换公式获得原图像的变换前坐标所对应的变换后坐标。
步骤S15:形成变换图像:通过像素值和变换后坐标形成变换图像。
本发明的应用于全景成像系统的投影变换装置,其包括:生成变换图像坐标模块、计算原图像坐标模块、提取像素值模块、坐标投影变换模块以及形成变换图像模块。生成变换图像坐标模块用于按照设定顺序生成变换图像坐标;计算原图像坐标模块用于确定投影方式,根据投影方式的反变换公式获得变换图像坐标所对应的原图像坐标;提取像素值模块用于根据原图像坐标获得其在原图像上对应的像素值;坐标投影变换模块用于通过投影方式的变换公式获得原图像的变换前坐标所对应的变换后坐标;形成变换图像模块用于通过像素值和变换后坐标形成变换图像。
请参阅图2,本发明的应用于全景成像系统的投影变换装置,其包括:坐标生成模块1、原图像存储模块9、图像读取模块2、控制模块3、校正模块5、图像形成模块4、输入缓存模块6、输出缓存模块7、插值模块8以及变换图像存储模块10。图像读取模块2连接原图像存储模块9,控制模块3连接坐标生成模块1、校正模块5、图像形成模块4以及图像读取模块2,校正模块5连接输入缓存模块6以及输出缓存模块7,输入缓存模块6连接图像读取模块2,输出缓存模块7连接图像形成模块4,图像形成模块4连接变换图像存储模块10。
下面详细介绍本发明的应用于全景成像系统的投影变换装置的工作流程。
坐标生成模块1按照设定顺序生成变换图像坐标。本实施例中,坐标生成模块1按照从上到下,从左到右的顺序生成坐标。原图像存储模块9存储原图像。图像读取模块2获取原图像的像素的变换前坐标以及原图像坐标在原图像上对应的像素值。控制模块3接收变换图像坐标以及变换前坐标,并确定投影方式,根据投影方式的反变换公式获得变换图像坐标所对应的原图像坐标,并输出所述原图像坐标,根据投影方式的变换公式获得变换前坐标所对应的变换后坐标,并输出变换后坐标。输入缓存模块6存储设定数量的像素的原图像坐标以及其对应的像素值。校正模块5接收像素值以及变换后坐标,把像素值赋于变换后坐标。输出缓存模块7存储设定数量的变换后坐标以及像素值。图像形成模块4根据像素值以及变换后坐标形成变换图像。变换图像存储模块10存储变换图像。
具体为,控制模块3检测输入缓存模块6是否已经存储满设定数量的像素,如果是,控制模块3控制校正模块5把设定数量的像素值以及变换后坐标复制到输出缓存模块7,否则,控制模块3控制图像读取模块2继续读取原图像上的设定数量的像素的变换前坐标以及根据原图像坐标获取其在原图像上对应的像素值。同时,控制模块3检测输出缓存模块7是否存储满设定数量的像素,如果是,控制模块3控制图像形成模块4读取输出缓存模块7的设定数量的像素值以及变化后坐标,并根据像素值以及变换后坐标形成变换图像,否则,控制模块3控制校正模块5复制设定数量的像素值以及变换后坐标到输出缓存模块7。
值得注意的是,因为控制模块3得到的原图像坐标常常是非整数,因此,当控制模块3生成的是小数坐标时,插值模块8把小数坐标的像素通过插值的方式替换为最接近小数坐标的整数坐标的像素。
本实施例中,投影变换方式包括透视变换、柱面投影变换以及桶形投影变换。因此,本发明的应用于全景成像系统的投影变换装置能够实现多种变换,而不是一种,具有普遍适用性。
本实施例中,投影变换装置基于FPGA设计。FPGA的型号为FPGA Spartan-645t。
与现有技术相比,本发明的应用于全景成像系统的投影变换方法以及投影变换装置,通过投影反变换来获得像素,能够更加准确地找到像素,并且能够在投影变换装置中实现多种投影变换,还使得投影变换能够适用于嵌入式领域,尤其是IC或者FPGA中。
以上所述仅为本发明的较佳可行实施例,并非限制本发明的保护范围。凡运用本发明说明书及附图内容所作出的等效结构变化,均包含在本发明的保护范围内。