CN109087253B - 一种图像校正方法及装置 - Google Patents
一种图像校正方法及装置 Download PDFInfo
- Publication number
- CN109087253B CN109087253B CN201710445366.3A CN201710445366A CN109087253B CN 109087253 B CN109087253 B CN 109087253B CN 201710445366 A CN201710445366 A CN 201710445366A CN 109087253 B CN109087253 B CN 109087253B
- Authority
- CN
- China
- Prior art keywords
- image
- pixel
- pixel point
- determining
- row
- 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
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000003702 image correction Methods 0.000 title claims abstract description 25
- 230000007704 transition Effects 0.000 claims abstract description 200
- 230000003287 optical effect Effects 0.000 claims description 31
- 230000000295 complement effect Effects 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
- G06T7/337—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
Abstract
本申请实施例提供了一种图像校正方法及装置。所述方法包括:获得带有梯形畸变的待校正图像;根据预先确定的各像素行对应的横向伸缩系数以及所述待校正图像,确定过渡图像;根据预先确定的像素行对应关系库,以及所述过渡图像,确定配准图像,其中,所述像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系;将所确定的配准图像确定为对所述待校正图像校正后的图像。应用本申请实施例提供的方案,能够对图像的梯形畸变进行校正。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种图像校正方法及装置。
背景技术
在一些具有图像采集模块的设备中,由于设备器件设置的特殊需要,图像采集模块无法垂直地对准图像采集平面,导致采集的图像具有梯形畸变。这样的设备包括指纹采集器。下面以指纹采集器为例进行说明。图1为一种指纹采集器的原理示意图,图中包括光源1、棱镜2和感光元件3。出于对指纹凹凸面的成像需求,棱镜上表面即指纹采集面无法垂直于感光元件,导致采集的指纹图像具有梯形畸变。
下面以正方形的方格为例说明梯形畸变。图2a为原始的方格,图2b为对图2a中的方格进行图像采集之后得到的带有梯形畸变的图像,可见图像中的方格变成了梯形的形状。
图像中存在的梯形畸变会影响图像对真实信息的反映。例如,在指纹识别领域中,当采集的指纹图像中存在梯形畸变时,这种梯形畸变将影响设备对指纹特征的提取。
为了去除图像的梯形畸变,通常从硬件上对设备进行改进,以减小图像中的梯形畸变。现有技术中无法对存在梯形畸变的图像进行校正。
发明内容
本申请实施例的目的在于提供了一种图像校正方法及装置,以对图像的梯形畸变进行校正。具体的技术方案如下。
为了达到上述目的,本申请实施例提供了一种图像校正方法,所述方法包括:
获得带有梯形畸变的待校正图像;
根据预先确定的各像素行对应的横向伸缩系数以及所述待校正图像,确定过渡图像;
根据预先确定的像素行对应关系库以及所述过渡图像,确定配准图像,其中,所述像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系;
将所确定的配准图像确定为对所述待校正图像校正后的图像。
可选的,所述根据预先确定的各像素行对应的横向伸缩系数以及所述待校正图像,确定过渡图像的步骤,包括:
按照以下方式,确定过渡图像中每个像素点的像素值:
针对所述过渡图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标;其中,所述第一像素点为所述过渡图像中的任一像素点;
判断所述目标列坐标是否处于范围[a,b]之间,其中,所述a为所述待校正图像中像素点的最小列坐标,所述b为所述待校正图像中像素点的最大列坐标;
如果不处于,则将预设像素值确定为所述第一像素点的像素值;
如果处于,则根据所述目标列坐标,从所述待校正图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值;其中,所述第一像素点所在的像素行与所述目标像素点所在的像素行相同。
可选的,所述针对所述过渡图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标的步骤,包括:
按照以下公式,确定所述第一像素点对应的目标列坐标j:
j=ki*(y-L)+L
其中,所述y为所述第一像素点的列坐标,所述ki为预先确定的所述第一像素点所在像素行对应的横向伸缩系数,L=W/2,所述W为所述待校正图像的总列数。
可选的,所述根据所述目标列坐标,从所述待校正图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值的步骤,包括:
判断所述目标列坐标是否位于两个像素点的列坐标之间;
如果否,则从所述待校正图像中确定与所述第一像素点对应的目标像素点为:列坐标为所述目标列坐标,行坐标为所述第一像素点的行坐标的像素点;将所述目标像素点的像素值,确定为所述第一像素点的像素值;
如果是,则从所述待校正图像中确定与所述第一像素点对应的目标像素点为:列坐标分别为与所述目标列坐标相邻的列坐标,行坐标均为所述第一像素点的行坐标的两个像素点;根据所述目标像素点的像素值、所述目标像素点的列坐标以及所述目标列坐标,采用插值法,确定所述第一像素点的像素值。
可选的,所述横向伸缩系数是预先采用以下方式确定的:
获得梯形畸变图像和对应的无梯形畸变图像;
从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
按照以下公式,确定第i像素行对应的横向伸缩系数:
ki=ki1+(i-i1)*dK
其中,dK=(ki1-ki2)/(m-1),m=i2-i1+1,ki1=d1/dt1,ki2=d2/dt2,d1=j1-L,d2=j2-L,dt1=y1-L,dt2=y2-L,L=W/2,所述W为所述梯形畸变图像的总列数。
可选的,所述根据预先确定的像素行对应关系库以及所述过渡图像,确定配准图像的步骤,包括:
按照以下方式,确定配准图像中每个像素点的像素值:
针对所述配准图像中的第二像素点,根据预先确定的像素行对应关系库,将所述配准图像作为校正后图像,确定所述第二像素点所在像素行对应的校正前图像的目标像素行;其中,所述第二像素点为所述配准图像中的任一像素点;
判断所述目标像素行是否处于范围[c,d]之间,其中,所述c为所述过渡图像中的最小像素行,所述d为所述过渡图像中的最大像素行;
如果不处于,则将预设像素值确定为所述第二像素点的像素值;
如果处于,则根据所述目标像素行,从所述过渡图像中确定与所述第二像素点对应的参考像素点,根据所述参考像素点的像素值,确定所述第二像素点的像素值;其中,所述参考像素点的列坐标与所述第二像素点的列坐标相同。
可选的,所述根据所述目标像素行,从所述过渡图像中确定与所述第二像素点对应的参考像素点,根据所述参考像素点的像素值,确定所述第二像素点的像素值的步骤,包括:
判断所述目标像素行是否位于两个像素行之间;
如果否,则从所述过渡图像中确定与所述第二像素点对应的参考像素点为:列坐标为所述第二像素点的列坐标,行坐标为所述目标像素行的像素点;将所述参考像素点的像素值,确定为所述第二像素点的像素值;
如果是,则从所述过渡图像中确定与所述第二像素点对应的参考像素点为:列坐标均为所述第二像素点的列坐标,行坐标分别为与所述目标像素行相邻的像素行的两个像素点;根据所述参考像素点的像素值、所述参考像素点的行坐标以及所述目标像素行,采用插值法,确定所述第二像素点的像素值。
可选的,所述校正后图像的像素行与校正前图像的像素行之间的对应关系是采用以下方法预先确定的:
获得梯形畸变图像和对应的无梯形畸变图像;
从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
按照以下公式,确定所述无梯形畸变图像中第x像素行与所述梯形畸变图像中的第i像素行的对应关系如下:
i=(h/2+it)*H/h,
it=tan(alpha–arctan(tmp7+tan(tmp2)))*f,
tmp1=alpha+arctan(h/(2*f)),
tmp2=alpha–arctan(h/(2*f)),
tmp3=tan(tmp1)-tan(tmp2),
tmp4=tan(alpha-arctan((i1*h/H-h/2)/f))-tan(tmp2),
tmp5=tan(alpha-arctan((i2*h/H-h/2)/f))-tan(tmp2),
tmp6=(tmp5–tmp4)*H*f/((x1-x2)*h),
tmp7=tmp3/2-xt*tmp6/f,
xt=x*h/H-h/2,
其中,所述alpha为图像采集设备的等效光轴与图像采集平面夹角的余角,所述h为图像采集设备中感光元件的高度,所述f为所述图像采集设备中光学元件的等效焦距,所述H为所述梯形畸变图像的高度。
可选的,所述方法还包括:
将所获得的配准图像替换所述待校正图像。
为了达到上述目的,本申请实施例还公开了一种图像校正方法,所述方法包括:
获得带有梯形畸变的待校正图像;
根据预先确定的像素行对应关系库以及所述待校正图像,确定过渡图像,其中,所述像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系;
根据预先确定的各像素行对应的横向伸缩系数以及所述过渡图像,确定配准图像;
将所确定的配准图像确定为对所述待校正图像校正后的图像。
可选的,所述根据预先确定的各像素行对应的横向伸缩系数以及所述过渡图像,确定配准图像的步骤,包括:
按照以下方式,确定配准图像中每个像素点的像素值:
针对所述配准图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标;其中,所述第一像素点为所述配准图像中的任一像素点;
判断所述目标列坐标是否处于范围[a,b]之间,其中,所述a为所述过渡图像中像素点的最小列坐标,所述b为所述过渡图像中像素点的最大列坐标;
如果不处于,则将预设像素值确定为所述第一像素点的像素值;
如果处于,则根据所述目标列坐标,从所述过渡图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值;其中,所述第一像素点所在的像素行与所述目标像素点所在的像素行相同。
可选的,所述横向伸缩系数是预先采用以下方式确定的:
获得横向畸变图像和无梯形畸变图像,所述横向畸变图像为对梯形畸变图像进行纵向校正后的图像,所述梯形畸变图像为与所述无梯形畸变图像对应的图像;
从所述横向畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
按照以下公式,确定第i像素行对应的横向伸缩系数:
ki=ki1+(i-i1)*dK
其中,dK=(ki1-ki2)/(m-1),m=i2-i1+1,ki1=d1/dt1,ki2=d2/dt2,d1=j1-L,d2=j2-L,dt1=y1-L,dt2=y2-L,L=W/2,所述W为所述横向畸变图像的总列数。
可选的,所述根据预先确定的像素行对应关系库以及所述待校正图像,确定过渡图像的步骤,包括:
按照以下方式,确定过渡图像中每个像素点的像素值:
针对所述过渡图像中的第二像素点,根据预先确定的像素行对应关系库,将所述过渡图像作为校正后图像,确定所述第二像素点所在像素行对应的校正前图像的目标像素行;其中,所述第二像素点为所述过渡图像中的任一像素点;
判断所述目标像素行是否处于范围[c,d]之间,其中,所述c为所述待校正图像中的最小像素行,所述d为所述待校正图像中的最大像素行;
如果不处于,则将预设像素值确定为所述第二像素点的像素值;
如果处于,则根据所述目标像素行,从所述待校正图像中确定与所述第二像素点对应的参考像素点,根据所述参考像素点的像素值,确定所述第二像素点的像素值;其中,所述参考像素点的列坐标与所述第二像素点的列坐标相同。
可选的,所述校正后图像的像素行与校正前图像的像素行之间的对应关系是采用以下方法预先确定的:
获得梯形畸变图像和对应的无梯形畸变图像;
从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
按照以下公式,确定所述无梯形畸变图像中第x像素行与所述梯形畸变图像中的第i像素行的对应关系如下:
i=(h/2+it)*H/h,
it=tan(alpha–arctan(tmp7+tan(tmp2)))*f,
tmp1=alpha+arctan(h/(2*f)),
tmp2=alpha–arctan(h/(2*f)),
tmp3=tan(tmp1)-tan(tmp2),
tmp4=tan(alpha-arctan((i1*h/H-h/2)/f))-tan(tmp2),
tmp5=tan(alpha-arctan((i2*h/H-h/2)/f))-tan(tmp2),
tmp6=(tmp5–tmp4)*H*f/((x1-x2)*h),
tmp7=tmp3/2-xt*tmp6/f,
xt=x*h/H-h/2,
其中,所述alpha为图像采集设备的等效光轴与图像采集平面夹角的余角,所述h为图像采集设备中感光元件的高度,所述f为所述图像采集设备中光学元件的等效焦距,所述H为所述梯形畸变图像的高度。
为了达到上述目的,本申请实施例公开了一种图像校正装置,所述装置包括:
获得模块,用于获得带有梯形畸变的待校正图像;
第一确定模块,用于根据预先确定的各像素行对应的横向伸缩系数以及所述待校正图像,确定过渡图像;
第二确定模块,用于根据预先确定的像素行对应关系库以及所述过渡图像,确定配准图像,其中,所述像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系;
校正确定模块,用于将所确定的配准图像确定为对所述待校正图像校正后的图像。
可选的,所述第一确定模块,具体用于:确定过渡图像中每个像素点的像素值;
所述第一确定模块,包括:
坐标确定子模块,用于针对所述过渡图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标;其中,所述第一像素点为所述过渡图像中的任一像素点;
坐标判断子模块,用于判断所述目标列坐标是否处于范围[a,b]之间,其中,所述a为所述待校正图像中像素点的最小列坐标,所述b为所述待校正图像中像素点的最大列坐标;
第一像素值确定子模块,用于当所述目标列坐标不处于范围[a,b]之间时,将预设像素值确定为所述第一像素点的像素值;
第二像素值确定子模块,用于当所述目标列坐标处于范围[a,b]之间时,根据所述目标列坐标,从所述待校正图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值;其中,所述第一像素点所在的像素行与所述目标像素点所在的像素行相同。
可选的,所述坐标确定子模块,具体用于:
按照以下公式,确定所述第一像素点对应的目标列坐标j:
j=ki*(y-L)+L
其中,所述y为所述第一像素点的列坐标,所述ki为预先确定的所述第一像素点所在像素行对应的横向伸缩系数,L=W/2,所述W为所述待校正图像的总列数。
可选的,所述第二像素值确定子模块,包括:
第一判断单元,用于判断所述目标列坐标是否位于两个像素点的列坐标之间;
第一像素值确定单元,用于当所述目标列坐标不位于两个像素点的列坐标之间时,从所述待校正图像中确定与所述第一像素点对应的目标像素点为:列坐标为所述目标列坐标,行坐标为所述第一像素点的行坐标的像素点;将所述目标像素点的像素值,确定为所述第一像素点的像素值;
第二像素值确定单元,用于当所述目标列坐标位于两个像素点的列坐标之间时,从所述待校正图像中确定与所述第一像素点对应的目标像素点为:列坐标分别为与所述目标列坐标相邻的列坐标,行坐标均为所述第一像素点的行坐标的两个像素点;根据所述目标像素点的像素值、所述目标像素点的列坐标以及所述目标列坐标,采用插值法,确定所述第一像素点的像素值。
可选的,所述装置还包括:系数确定模块;所述系数确定模块,用于确定各个像素行对应的横向伸缩系数;
所述系数确定模块,包括:
样本图像获得子模块,用于获得梯形畸变图像和对应的无梯形畸变图像;
像素点获得子模块,用于从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
系数确定子模块,用于按照以下公式,确定第i像素行对应的横向伸缩系数:
ki=ki1+(i-i1)*dK
其中,dK=(ki1-ki2)/(m-1),m=i2-i1+1,ki1=d1/dt1,ki2=d2/dt2,d1=j1-L,d2=j2-L,dt1=y1-L1,dt2=y2-L1,L=W/2,所述W为所述梯形畸变图像的总列数。
可选的,所述第二确定模块,具体用于确定配准图像中每个像素点的像素值;
所述第二确定模块,包括:
像素行确定子模块,用于针对所述配准图像中的第二像素点,根据预先确定的像素行对应关系库,将所述配准图像作为校正后图像,确定所述第二像素点所在像素行对应的校正前图像的目标像素行;其中,所述第二像素点为所述配准图像中的任一像素点;
像素行判断子模块,用于判断所述目标像素行是否处于范围[c,d]之间,其中,所述c为所述过渡图像中的最小像素行,所述d为所述过渡图像中的最大像素行;
第三像素值确定子模块,用于当所述目标像素行不处于范围[c,d]之间时,将预设像素值确定为所述第二像素点的像素值;
第四像素值确定子模块,用于当所述目标像素行处于范围[c,d]之间时,根据所述目标像素行,从所述过渡图像中确定与所述第二像素点对应的参考像素点,根据所述参考像素点的像素值,确定所述第二像素点的像素值;其中,所述参考像素点的列坐标与所述第二像素点的列坐标相同。
可选的,所述第四像素值确定子模块,包括:
第二判断单元,用于判断所述目标像素行是否位于两个像素行之间;
第三像素值确定单元,用于当所述目标像素行不位于两个像素行之间时,从所述过渡图像中确定与所述第二像素点对应的参考像素点为:列坐标为所述第二像素点的列坐标,行坐标为所述目标像素行的像素点;将所述参考像素点的像素值,确定为所述第二像素点的像素值;
第四像素值确定单元,用于当所述目标像素行位于两个像素行之间时,从所述过渡图像中确定与所述第二像素点对应的参考像素点为:列坐标均为所述第二像素点的列坐标,行坐标分别为与所述目标像素行相邻的像素行的两个像素点;根据所述参考像素点的像素值、所述参考像素点的行坐标以及所述目标像素行,采用插值法,确定所述第二像素点的像素值。
可选的,所述装置还包括:对应关系确定模块;所述对应关系确定模块,用于确定校正后图像的像素行与校正前图像的像素行之间的对应关系;
所述对应关系确定模块,包括:
样本图像获得子模块,用于获得梯形畸变图像和对应的无梯形畸变图像;
像素点获得子模块,用于从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
对应关系确定子模块,用于按照以下公式,确定所述无梯形畸变图像中第x像素行与所述梯形畸变图像中的第i像素行的对应关系如下:
i=(h/2+it)*H/h,
it=tan(alpha–arctan(tmp7+tan(tmp2)))*f,
tmp1=alpha+arctan(h/(2*f)),
tmp2=alpha–arctan(h/(2*f)),
tmp3=tan(tmp1)-tan(tmp2),
tmp4=tan(alpha-arctan((i1*h/H-h/2)/f))-tan(tmp2),
tmp5=tan(alpha-arctan((i2*h/H-h/2)/f))-tan(tmp2),
tmp6=(tmp5–tmp4)*H*f/((x1-x2)*h),
tmp7=tmp3/2-xt*tmp6/f,
xt=x*h/H-h/2,
其中,所述alpha为图像采集设备的等效光轴与图像采集平面夹角的余角,所述h为图像采集设备中感光元件的高度,所述f为所述图像采集设备中光学元件的等效焦距,所述H为所述梯形畸变图像的高度。
可选的,所述装置还包括:
替换模块,用于将所获得的配准图像替换所述待校正图像。
为了达到上述目的,本申请实施例公开了一种图像校正装置,所述装置包括:
获得模块,用于获得带有梯形畸变的待校正图像;
第三确定模块,用于根据预先确定的像素行对应关系库以及所述待校正图像,确定过渡图像,其中,所述像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系;
第四确定模块,用于根据预先确定的各像素行对应的横向伸缩系数以及所述过渡图像,确定配准图像;
校正确定模块,用于将所确定的配准图像确定为对所述待校正图像校正后的图像。
可选的,所述第四确定模块,具体用于确定配准图像中每个像素点的像素值;
所述第四确定模块,包括:
坐标确定子模块,用于针对所述配准图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标;其中,所述第一像素点为所述配准图像中的任一像素点;
坐标判断子模块,用于判断所述目标列坐标是否处于范围[a,b]之间,其中,所述a为所述过渡图像中像素点的最小列坐标,所述b为所述过渡图像中像素点的最大列坐标;
第一像素值确定子模块,用于当判断所述目标列坐标不处于范围[a,b]之间时,将预设像素值确定为所述第一像素点的像素值;
第二像素值确定子模块,用于当判断所述目标列坐标处于范围[a,b]之间时,根据所述目标列坐标,从所述过渡图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值;其中,所述第一像素点所在的像素行与所述目标像素点所在的像素行相同。
可选的,所述装置还包括:系数确定模块;所述系数确定模块,用于确定各个像素行对应的横向伸缩系数;
所述系数确定模块,包括:
样本图像获得子模块,用于获得横向畸变图像和无梯形畸变图像,所述横向畸变图像为对梯形畸变图像进行纵向校正后的图像,所述梯形畸变图像为与所述无梯形畸变图像对应的图像;
像素点获得子模块,用于从所述横向畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
系数确定子模块,用于按照以下公式,确定第i像素行对应的横向伸缩系数:
ki=ki1+(i-i1)*dK
其中,dK=(ki1-ki2)/(m-1),m=i2-i1+1,ki1=d1/dt1,ki2=d2/dt2,d1=j1-L,d2=j2-L,dt1=y1-L,dt2=y2-L,L=W/2,所述W为所述横向畸变图像的总列数。
可选的,所述第三确定模块,具体用于确定过渡图像中每个像素点的像素值;
所述第三确定模块,包括:
像素行确定子模块,用于针对所述过渡图像中的第二像素点,根据预先确定的像素行对应关系库,将所述过渡图像作为校正后图像,确定所述第二像素点所在像素行对应的校正前图像的目标像素行;其中,所述第二像素点为所述过渡图像中的任一像素点;
像素行判断子模块,用于判断所述目标像素行是否处于范围[c,d]之间,其中,所述c为所述待校正图像中的最小像素行,所述d为所述待校正图像中的最大像素行;
第三像素值确定子模块,用于当所述目标像素行不处于范围[c,d]之间时,将预设像素值确定为所述第二像素点的像素值;
第四像素值确定子模块,用于当所述目标像素行处于范围[c,d]之间时,根据所述目标像素行,从所述待校正图像中确定与所述第二像素点对应的参考像素点,根据所述参考像素点的像素值,确定所述第二像素点的像素值;其中,所述参考像素点的列坐标与所述第二像素点的列坐标相同。
可选的,所述装置还包括:对应关系确定模块;所述对应关系确定模块,用于确定校正后图像的像素行与校正前图像的像素行之间的对应关系;
所述对应关系确定模块,包括:
样本图像获得子模块,用于获得梯形畸变图像和对应的无梯形畸变图像;
像素点获得子模块,用于从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
对应关系确定子模块,用于按照以下公式,确定所述无梯形畸变图像中第x像素行与所述梯形畸变图像中的第i像素行的对应关系如下:
i=(h/2+it)*H/h,
it=tan(alpha–arctan(tmp7+tan(tmp2)))*f,
tmp1=alpha+arctan(h/(2*f)),
tmp2=alpha–arctan(h/(2*f)),
tmp3=tan(tmp1)-tan(tmp2),
tmp4=tan(alpha-arctan((i1*h/H-h/2)/f))-tan(tmp2),
tmp5=tan(alpha-arctan((i2*h/H-h/2)/f))-tan(tmp2),
tmp6=(tmp5–tmp4)*H*f/((x1-x2)*h),
tmp7=tmp3/2-xt*tmp6/f,
xt=x*h/H-h/2,
其中,所述alpha为图像采集设备的等效光轴与图像采集平面夹角的余角,所述h为图像采集设备中感光元件的高度,所述f为所述图像采集设备中光学元件的等效焦距,所述H为所述梯形畸变图像的高度。
本申请实施例提供的图像校正方法及装置,可以获得带有梯形畸变的待校正图像,根据预先确定的各像素行对应的横向伸缩系数以及待校正图像,确定过渡图像;根据预先确定的像素行对应关系库以及过渡图像,确定配准图像,将所确定的配准图像确定为对待校正图像校正后的图像。其中,像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系。也就是说,本申请实施例根据预先确定的各像素行对应的横向伸缩系数,可以对待校正图像的像素点进行横向校正获得过渡图像,根据预先确定的像素行对应关系库,可以对过渡图像进行纵向校正获得最终的校正后的图像。可见,应用本申请实施例提供的方案,能够对图像的梯形畸变进行校正。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种指纹采集器的原理示意图;
图2a和图2b分别为原始的方格示意图和对应的梯形畸变图像示意图;
图2c为本实施例提供的推导像素行之间对应关系时的一种原理示意图;
图2d、图2e和图2f分别为待校正图像、过渡图像和配准图像的一种示意图;
图3为本申请实施例提供的一种图像校正方法的流程示意图;
图4为图3中步骤S302的一种流程示意图;
图5为图3中步骤S303的一种流程示意图;
图6为本申请实施例提供的另一种图像校正方法的流程示意图;
图7为本申请实施例提供的一种图像校正装置的结构示意图;
图8为本申请实施例提供的另一种图像校正装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种图像校正方法及装置,应用于电子设备,该电子设备可以为指纹采集器、投影仪、普通计算机、智能手机、服务器等设备,能够对图像的梯形畸变进行校正。下面通过具体实施例,对本申请进行详细说明。
图3为本申请实施例提供的图像校正方法的一种流程示意图,应用于电子设备。该方法包括如下步骤S301~步骤S304:
步骤S301:获得带有梯形畸变的待校正图像。
具体的,获得带有梯形畸变的待校正图像时,当电子设备内部包括图像采集模块时,可以是获得图像采集模块采集的带有梯形畸变的待校正图像;当电子设备内部不包括图像采集模块时,也可以是接收外部设备发送的带有梯形畸变的待校正图像。
本领域技术人员可以理解的是,图像的梯形畸变通常是由于图像采集模块中的感光元件的光轴没有垂直于待采集的物体表面而造成的。
作为图像梯形畸变的一个例子,图2a为原始的方格,图2b为对图2a中的方格进行图像采集之后得到的带有梯形畸变的图像,可见图像中的方格变成了梯形。也就是说,原来的方格在横向上和纵向上均存在不同程度的形变。在采集图像时,当感光元件的光轴与待拍摄方格的横边垂直,纵边不垂直时,采集得到的图像上的方格就成了梯形的形状,图像具有了梯形畸变。
步骤S302:根据预先确定的各像素行对应的横向伸缩系数以及上述待校正图像,确定过渡图像。
其中,横向伸缩系数表示校正后图像的像素点相对于校正前图像的像素点在横向上的偏移量。校正后图像即为不存在梯形畸变图像,校正前图像即为带有梯形畸变的图像。
需要说明的是,本实施例中,将图像上的横向坐标轴称为列轴,其上坐标为列坐标,将图像上的纵向坐标轴称为行轴,其上坐标为行坐标,行坐标与像素行是一一对应的。
可以理解的是,待校正图像和过渡图像中的像素行是一一对应的,待校正图像和过渡图像中对应像素行中的像素总数量是不同的。
需要说明的是,根据申请人对方格纸及对应的畸变图像中对应点坐标的分析,得知存在梯形畸变的图像在横向上被均匀拉伸或缩短了,也就是说待校正图像在横向上的畸变是线性的,像素点的列坐标被均匀地拉伸或缩小了。因此,根据每个像素行的横向伸缩系数和待校正图像,能够得到过渡图像。所得到的过渡图像为对待校正图像的各个像素点进行横向校正后的图像。
具体的,可以预先采用下述方式确定横向伸缩系数:
获得梯形畸变图像和对应的无梯形畸变图像,从梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从无梯形畸变图像中分别获得与p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与p2(i2,j2)对应的第四样本像素点pr2(x2,y2)。其中,i1不等于i2。按照以下公式,确定第i像素行对应的横向伸缩系数:
ki=ki1+(i-i1)*dK
其中,dK=(ki1-ki2)/(m-1),m=i2-i1+1,ki1=d1/dt1,ki2=d2/dt2,d1=j1-L,d2=j2-L,dt1=y1-L,dt2=y2-L,L=W/2,W为梯形畸变图像的总列数,也是无梯形畸变图像的总列数。需要说明的是,梯形畸变图像和无梯形畸变图像的大小是相同的。另外,L可以理解为梯形畸变图像或无梯形畸变图像中纵向对称轴的列坐标。
其中,获得的梯形畸变图像和对应的无梯形畸变图像均为样本图像,是预先获得的图像。上述无梯形畸变图像可以为方格纸,方格纸中包含至少一个正方形方格。上述第一样本像素点和第二样本像素点可以为方格的上下两个顶点。
下面举例说明横向伸缩系数的确定过程。以图2a和图2b为例进行说明。梯形畸变图像上的p1和p2点如图2b所示,对应的无梯形畸变图像上的pr1、pr2点如图2a所示。已知图2b中方格的纵向对称轴的列坐标为L,图2a中方格的纵向对称轴的列坐标也为L,L=W/2,W为无梯形畸变图像和梯形畸变图像的总列数(宽度)。为了获取横向伸缩系数,要求在梯形畸变图像中方格上边沿和方格下边沿均平行且垂直于感光元件的光轴。假设在梯形畸变图像中方格上边沿短于下边沿。
在梯形畸变图像上,p1(i1,j1)为方格左上角的点,p2(i2,j2)为方格左下角点。这两个点与列坐标L的距离分别为:d1=j1-L,d2=j2-L。申请人认为,在横向对称轴上像素点在横向上是无畸变的,因此可以根据像素点与横向对称轴的距离来计算横向伸缩系数。
在无梯形畸变图像上,p1的对应点为pr1(x1,y1),p2的对应点为pr2(x2,y2),pr1和pr2这两个点与列坐标L的距离分别为:dt1=y1-L,dt2=y2-L。
根据上述数据得到两像素行的横向伸缩系数:ki1=d1/dt1,ki2=d2/dt2。
令dK=(ki1-ki2)/(m-1),其中m=i2-i1+1,这样就可以得到第i行的横向伸缩系数ki=ki1+(i-i1)*dK。根据该公式可以得到所有像素行对应的ki。可以将ki的值列在表中,表的大小为1*m,m为总像素行数量。表1为横向伸缩系数的一个例子。
表1
m | 1 | 2 | 3 | … | 30 |
ki | 1.1 | 1.2 | 1.3 | … | 3.1 |
需要指出的是,上述待校正图像与预先确定横向伸缩系数时用到的梯形畸变图像可以为在相同拍摄条件下采集的。这样,从梯形畸变图像确定的横向伸缩系数便可以应用于对待校正图像的校正,从而能够得到准确的过渡图像。
作为一种实施方式,本实施例可以应用于指纹采集器,待校正图像可以为指纹采集器获得的指纹图像,上述梯形畸变图像可以为该指纹采集器获得的用于确定横向拉伸系数的图像。
步骤S303:根据预先确定的像素行对应关系库以及所述过渡图像,确定配准图像。其中,该像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系。
其中,过渡图像即为校正前图像,配准图像即为校正后图像。校正后图像可以理解为不存在梯形畸变的图像,校正前图像可以理解为纵向上存在梯形畸变的图像。
可以理解的是,过渡图像的像素行和配准图像的像素行之间并不是一一对应的。配准图像中的一个像素行可以对应过渡图像中的两个像素行,也可以对应过渡图像中的一个像素行。
在本实施例中,过渡图像为对待校正图像进行横向上校正后的图像,即对待校正图像像素点的列坐标校正后的图像。根据上述像素行对应关系库和过渡图像得到的配准图像,为对过渡图像进行纵向校正后的图像,即对过渡图像像素点的行坐标进行校正后的图像。
需要说明的是,根据申请人对方格纸及对应的畸变图像中对应点坐标的分析,得知梯形畸变图像在纵向上的畸变是非线性的,不均匀的。申请人也发现,可以根据样本的梯形畸变图像和对应的无梯形畸变图像,获得校正后图像的像素行和校正前图像的像素行之间的对应关系。根据该对应关系和过渡图像,可以确定配准图像。
具体的,校正后图像的像素行与校正前图像的像素行之间的对应关系可以是采用以下方法预先确定的:
获得梯形畸变图像和对应的无梯形畸变图像,从梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从无梯形畸变图像中分别获得与p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2)。其中,i1不等于i2。按照以下公式,确定上述无梯形畸变图像中第x像素行与上述梯形畸变图像中的第i像素行的对应关系如下:
i=(h/2+it)*H/h,
it=tan(alpha–arctan(tmp7+tan(tmp2)))*f,
tmp1=alpha+arctan(h/(2*f)),
tmp2=alpha–arctan(h/(2*f)),
tmp3=tan(tmp1)-tan(tmp2),
tmp4=tan(alpha-arctan((i1*h/H-h/2)/f))-tan(tmp2),
tmp5=tan(alpha-arctan((i2*h/H-h/2)/f))-tan(tmp2),
tmp6=(tmp5–tmp4)*H*f/((x1-x2)*h),
tmp7=tmp3/2-xt*tmp6/f,
xt=x*h/H-h/2,
其中,alpha为图像采集设备的等效光轴与图像采集平面夹角的余角,h为图像采集设备中感光元件的高度,f为图像采集设备中光学元件的等效焦距,所述H为梯形畸变图像的高度。图像采集设备中的光学元件可以为透镜等元件。感光元件可以为图像传感器CMOS(Complementary Metal-Oxide Semiconductor,金属氧化物半导体元件)。
其中,获得的梯形畸变图像和对应的无梯形畸变图像均为样本图像,是预先获得的图像。上述无梯形畸变图像可以为方格纸,方格纸中包含至少一个正方形方格。上述第一样本像素点和第二样本像素点可以为方格的上下两个顶点。
下面详细说明上述对应关系的获得过程。仍以图2a和图2b为例进行说明。梯形畸变图像上的p1和p2点如图2b所示,对应的无梯形畸变图像上的pr1、pr2点如图2a所示。
为了得到梯形畸变图像上像素行与无梯形畸变图像中像素行之间的对应关系,可以采用两步投影法。将图2b中的任一点p(i,j)先映射到图像采集平面上,然后再将图像采集平面上的点映射到图2a中的点pr(x,y)上。由于图2b中的点与真实CMOS中的点是对应的,图2a中的点与虚拟CMOS中的点是对应的;并且,虚拟CMOS为将真实CMOS旋转至与图像采集平面垂直的位置后的CMOS。因此,可以根据真实CMOS中的点与虚拟CMOS中点的对应关系,确定i与x的关系。
图2c所示为推导像素行之间对应关系时的一种原理示意图。其中,E1、D1为真实CMOS平面纵向边缘的两点,线段E1D1的长度为h,C1为真实CMOS平面的中点。R11、R12分别为图2b中p1、p2两点在真实CMOS上的位置,R1为图2b中任一点p(i,j)在真实CMOS上的位置,O1为透镜中心,C1O1=f,f为透镜的等效焦距。其中,从E1到D1的方向为正方向。
E2、D2为图像采集平面上无梯形畸变图像边缘的两点,M2为无梯形畸变图像的中点。图像采集平面上的R21、R22、R2分别与真实CMOS平面上的R11、R12、R1对应,E2、D2分别与E1、D1对应。A为O1到图像采集平面的投影点,线段O1A垂直于图像采集平面。其中,从E2到D2的方向为正方向。
线段C1C2所在的直线为透镜的等效光轴,∠AO1C2即为图像采集设备的等效光轴与图像采集平面夹角的余角alpha。
将真实CMOS平面进行旋转可以得到虚拟CMOS平面,虚拟CMOS平面与图像采集平面平行。虚拟CMOS平面与真实CMOS平面的区别仅在于位置不同,其尺寸均对应相同。E3D3为虚拟CMOS平面纵向边缘的两点,O2为虚拟CMOS空间的透镜中心,虚拟CMOS平面的中点M3到O2的距离为透镜的等效焦距f。M3与图像采集平面上无畸变图像的中点M2的连线垂直于虚拟CMOS平面。图像采集平面上的R21、R22、R2分别与虚拟CMOS平面上的R31、R32、R3对应,E2、D2分别与E3、D3对应。其中,从E3到D3的方向为正方向。其他三角形关系见图2c中所示。
令tmp1=∠AO1E2=alpha+arctan(h/2f),tmp2=∠AO1D2=alpha-arctan(h/2f),则tmp3=tan(tmp1)-tan(tmp2)=tan∠AO1E2-tan∠AO1D2。
根据三角形关系可得,
将梯形畸变图像上的第i1像素行转换为真实CMOS上的位置为:其中H为梯形畸变图像的高度,其原点位于图像左上角。并且,根据图2c中的三角形关系可得arctan(it1/f)=∠R11O1C1=∠R21O1C2。
根据三角形关系可得,
将真实CMOS上的行坐标转换为无梯形畸变图像上的坐标后,可得i=(it+h/2)*H/h。
由于在确定配准图像的过程中无需使用待校正图像,因此在确定配准图像后,所述方法还可以包括:将所获得的配准图像替换待校正图像。也就是说,将配准图像存储至待校正图像的存储位置。这样能够节省存储空间,减少不必要的浪费。
步骤S304:将所确定的配准图像确定为对待校正图像校正后的图像。
可以理解的是,所确定的配准图像为对过渡图像进行纵向校正后的图像,其中已经不存在横向上的畸变和纵向上的畸变,因此,可以将所确定的配准图像确定为对待校正图像校正后的图像。
下面再以一具体实例对本实施例进行说明。图2d为待校正图像,该图为纯白图像,图2e为对图2d进行横向校正后得到的过渡图像。在横向校正过程中,如果过渡图像中的像素点映射到待校正图像之外,则将过渡图像中像素点的像素值置为0(黑色区域)。图2f为对图2e进行纵向校正后得到的配准图像。在纵向校正过程中,如果配准图像中的像素点映射到过渡图像之外,则将配准图像中像素点的像素值置为0(黑色部分)。其中,图2d、图2e和图2f的大小是相同的。
由上述内容可见,本实施例可以根据预先确定的各像素行对应的横向伸缩系数,对待校正图像的像素点进行横向(水平方向)校正获得过渡图像,根据预先确定的像素行对应关系库,可以对过渡图像进行纵向(竖直方向)校正获得最终的校正后的图像。其中,像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系。可见,应用本实施例提供的方案,能够对图像的梯形畸变进行校正。
同时,当电子设备为指纹采集器等具有低端嵌入式系统的设备时,本实施例可以在指纹采集器中预先存储各像素行对应的横向伸缩系数,以及校正后图像的像素行与校正前图像的像素行之间的对应关系,这些信息所占用的存储空间较小。在对待校正图像进行校正时,根据横向伸缩系数对待校正图像进行横向校正,确定过渡图像,根据上述对应关系对过渡图像进行纵向校正,确定配准图像,将配准图像确定为最终的校正图像。上述校正过程运算速度快,对设备的运算速度要求较低。因此,本实施例在低端嵌入式系统中也能很好地实现对梯形畸变图像的校正。
作为一种具体的实施方式,在对待校正图像进行校正时,可以仅仅对需要的区域进行校正无需全图校正。具体的,可以预先从所有像素行对应的横向伸缩系数中确定所需要校正的部分像素行的横向伸缩系数,或者预先从所有校正后图像的像素行与校正前图像的像素行之间的对应关系中,确定所需要的部分对应关系,根据上述设定,对待校正图像的部分进行校正。
在图3所示实施例的一种实施方式中,步骤S302,即根据预先确定的各像素行对应的横向伸缩系数以及所述待校正图像,确定过渡图像的步骤,可以按照图4所示流程示意图进行,具体包括:
按照以下方式,确定过渡图像中每个像素点的像素值:
步骤S302a:针对上述过渡图像中的第一像素点,根据预先确定的第一像素点所在像素行对应的横向伸缩系数以及第一像素点的列坐标,确定第一像素点对应的目标列坐标。其中,第一像素点为上述过渡图像中的任一像素点。
具体的,步骤S302a可以包括:按照以下公式,确定第一像素点对应的目标列坐标j:
j=ki*(y-L)+L
其中,y为第一像素点的列坐标,ki为预先确定的第一像素点所在像素行对应的横向伸缩系数,L=W/2,W为待校正图像的总列数,也是过渡图像的总列数。需要说明的是,待校正图像和过渡图像的大小是一样的,因此L可以理解为过渡图像中纵向对称轴的列坐标,或者理解为待校正图像中纵向对称轴的列坐标。
步骤S302b:判断所述目标列坐标是否处于范围[a,b]之间,如果不处于,则说明过渡图像中的点映射到了待校正图像之外,执行步骤S302c,如果处于,则说明过渡图像中的点映射到了待校正图像区域以内,执行步骤S302d。
其中,上述a为待校正图像中像素点的最小列坐标,上述b为待校正图像中像素点的最大列坐标。例如,待校正图像的尺寸为20像素(横向)*30像素(纵向),也就是说图像横向上共有20个像素,当图像横向最左侧像素点的位置为坐标原点时,a可以为0,b可以为19;当图像横向对称轴的位置为坐标原点时,a可以为-10,b可以为10。
步骤S302c:将预设像素值确定为所述第一像素点的像素值。其中,预设像素值可以为0~255中任何一个像素值。
步骤S302d:根据上述目标列坐标,从上述待校正图像中确定与第一像素点对应的目标像素点,根据目标像素点的像素值,确定第一像素点的像素值。其中,第一像素点所在的像素行与目标像素点所在的像素行相同。
作为一种实施方式,步骤S302d,具体可以包括:
步骤1:判断目标列坐标是否位于两个像素点的列坐标之间,如果否,则执行步骤2;如果是,则执行步骤3。
例如,当图像中像素点的列坐标均用整数来表示时,当判断出目标列坐标不为整数时,认为目标列坐标位于两个像素点的列坐标之间。当判断出目标列坐标为整数时,认为目标列坐标位于一个像素点的列坐标上。
步骤2:从待校正图像中确定与所述第一像素点对应的目标像素点为:列坐标为上述目标列坐标,行坐标为第一像素点的行坐标的像素点,将目标像素点的像素值,确定为第一像素点的像素值。
也就是说,当目标列坐标正好位于一个像素点列坐标时,直接将目标像素点的像素值确定为第一像素点的像素值。
步骤3:从待校正图像中确定与第一像素点对应的目标像素点为:列坐标分别为与目标列坐标相邻的列坐标,行坐标均为第一像素点的行坐标的两个像素点;根据目标像素点的像素值、目标像素点的列坐标以及目标列坐标,采用插值法,确定第一像素点的像素值。
也就是说,当目标列坐标位于两个像素点的列坐标之间时,可以确定两个目标像素点。
例如,在确定目标像素点时,已知目标列坐标为1.2,第一像素点的坐标为(1,3),其中,第一像素点的列坐标为1,那么可以确定待校正图像中与第一像素点对应的目标像素点为(1,3)和(2,3)两个点。其中,与目标列坐标1.2相邻的列坐标分别为1和2。
具体的,根据目标像素点的像素值、目标像素点的列坐标以及目标列坐标,采用插值法,确定第一像素点的像素值时,可以包括:
按照以下公式,确定第一像素点的像素值px:
px=(j0-j1)*px2+(j2-j0)*px1
其中,px1和j1分别为第一个目标像素点的像素值和列坐标,px2和j2分别为第二个目标像素点的像素值和列坐标,j0为目标列坐标,j1<j0<j2。
例如,已知第一像素点的坐标为(1,3),其中,第一像素点的列坐标为1,目标列坐标为1.2,与第一像素点对应的目标像素点分别为:px1=25,坐标为(1,3);px2=26,坐标为(2,3)。则可以计算得到,第一像素点的像素值px为:(1.2-1)*26+(2-1.2)*25。
综上,本实施例可以根据横向伸缩系数确定过渡图像中像素点对应的目标列坐标,当目标列坐标不处于范围[a,b]中时,将预设像素值确定为过渡图像中像素点的像素值;当目标列坐标处于范围[a,b]中时,从待校正图像中确定目标列坐标对应的目标像素点,根据目标像素点的像素值确定过渡图像中像素点的像素值。本实施例中这种通过计算对应的目标列坐标,再确定像素点的像素值的方式,能够提高确定过渡图像时的准确性和效率。
在图3所示实施例的一种实施方式中,步骤S303,即根据预先确定的像素行对应关系库以及所述过渡图像,确定配准图像的步骤,可以按照图5所示流程示意图进行,具体包括:
按照以下方式,确定配准图像中每个像素点的像素值:
步骤S303a:针对上述配准图像中的第二像素点,根据预先确定的像素行对应关系库,将上述配准图像作为校正后图像,确定第二像素点所在像素行对应的校正前图像的目标像素行。其中,第二像素点为配准图像中的任一像素点。
在本实施例中,过渡图像即为校正前图像。
作为一种具体实施方式,上述对应关系库存储的校正后图像的像素行对应的校正前图像的像素行,可以表示对应一个像素行,也可以表示对应两个像素行。作为一个例子,当校正后图像的像素行均用整数表示时,校正后图像的像素行对应的校正前图像的像素行为整数时,表示校正后图像的像素行正好对应校正前图像的一个像素行;当校正后图像的像素行对应的校正前图像的像素行为小数时,该小数表示校正后图像的像素行对应于校正前图像的两个像素行,还可以表示校正后图像的像素行与对应的校正前图像的两个像素行的关联程度。表2为本实施例中校正后图像的像素行对应的校正前图像的像素行的一个例子。
表2
校正后图像的像素行 | 1 | 2 | 3 | … | 30 |
校正前图像的像素行 | 1.1 | 2.2 | 4 | … | 33.1 |
在表2中,当校正后图像的第1像素行对应的校正前图像的像素行为1.1时,1.1为小数,表示校正后图像的第1像素行对应于校正前图像的第1像素行和第2像素行之间,并且与第2像素行和第1像素行的关联程度分别为(1.1-1)和(2-1.1)。校正后图像的第3像素行对应的校正前图像的像素行为4时,其中4为整数,表示校正后图像的第3像素行对应的校正前图像的像素行为第4像素行。
步骤S303b:判断目标像素行是否处于范围[c,d]之间,其中,c为过渡图像中的最小像素行,d为过渡图像中的最大像素行,如果不处于,则说明配准图像中的像素点映射到了过渡图像之外,执行步骤S303c;如果处于,则说明配准图像中的像素点映射到了过渡图像区域以内,执行步骤S303d。
步骤S303c:将预设像素值确定为所述第二像素点的像素值。其中,预设像素值可以为0~255中任何一个像素值。
步骤S303d:根据上述目标像素行,从过渡图像中确定与第二像素点对应的参考像素点,根据该参考像素点的像素值,确定第二像素点的像素值。
其中,参考像素点的列坐标与第二像素点的列坐标相同。
具体的,步骤S303d具体可以包括以下步骤1~步骤3:
步骤1:判断目标像素行是否位于两个像素行之间,如果否,则执行步骤2;如果是,则执行步骤3。
具体的,当校正后图像的像素行均用整数表示时,可以判断目标像素行是否为小数,如果是,则判定目标像素行位于两个像素行之间。
当然,具体的判断过程可以根据像素行对应关系库中设置的像素行类型来进行。
步骤2:从过渡图像中确定与第二像素点对应的参考像素点为:列坐标为第二像素点的列坐标,行坐标为目标像素行的像素点;将参考像素点的像素值,确定为第二像素点的像素值。
可以理解的是,当目标像素行正好位于过渡图像中的一个像素行时,可以直接将过渡图像中列坐标与第二像素点的列坐标相同、行坐标为目标像素行的像素点确定为参考像素点。
步骤3:从过渡图像中确定与第二像素点对应的参考像素点为:列坐标均为第二像素点的列坐标,行坐标分别为与目标像素行相邻的像素行的两个像素点;根据参考像素点的像素值、参考像素点的行坐标以及目标像素行,采用插值法,确定第二像素点的像素值。
需要说明的是,本步骤中,确定的第二像素点对应的参考像素点为两个。
具体的,当目标像素行对应于过渡图像中的两个像素行之间时,可以先确定与目标像素行相邻的像素行。作为一个例子,当校正后图像的像素行以整数表示时,如果目标像素行为小数,则可以确定目标像素行位于过渡图像中的两个像素行之间。这时可以确定目标像素行的相邻像素行分别为M和M+1,其中,M为:对目标像素行向下取整后的数值。
具体的,该步骤3中根据参考像素点的像素值、参考像素点的行坐标以及目标像素行,采用插值法,确定第二像素点的像素值的步骤可以包括:
按照以下公式,确定第二像素点的像素值px:
px=(i2-i0)*px1+(i0-i1)*px2
其中,px1为第一个参考像素点的像素值,px2为第二个参考像素点的像素值,i1为第一个参考像素点的行坐标(即像素行),i2为第二个参考像素点的行坐标(即像素行),i0为目标像素行,i1<i0<i2。
例如,已知第二像素点的坐标为(1,2),可知第二像素点的行坐标为2,根据上述表2可以确定第二像素点对应的目标像素行为2.2,与第二像素点对应的两个参考像素点分别为:px1=25,行坐标为2;px2=26,行坐标为3。则可以计算得到,第二像素点的像素值px为:(3-2.2)*25+(2.2-2)*26。
综上,本实施例可以根据预先确定的像素行对应关系库,确定配准图像中像素点对应的目标像素行,当目标像素行不处于[c,d]之间时,将预设像素值确定为配准图像中像素点的像素值;当目标像素行处于[c,d]之间时,从过渡图像中确定参考像素点,根据参考像素点的像素值确定配准图像中像素点的像素值。本实施例中这种通过计算对应的像素行,再确定像素点的像素值的方式,能够提高确定配准图像时的准确性和效率。
图6为本申请实施例提供的另一种图像校正方法的流程示意图,应用于电子设备。该方法具体包括:
步骤S601:获得带有梯形畸变的待校正图像。
具体的,获得带有梯形畸变的待校正图像时,当电子设备内部包括图像采集模块时,可以是获得图像采集模块采集的带有梯形畸变的待校正图像;当电子设备内部不包括图像采集模块时,也可以是接收外部设备发送的带有梯形畸变的待校正图像。
步骤S602:根据预先确定的像素行对应关系库以及所述待校正图像,确定过渡图像,其中,上述像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系。
其中,待校正图像即为校正前图像,过渡图像即为校正后图像。校正后图像可以理解为纵向上不存在梯形畸变的图像,校正前图像可以理解为存在梯形畸变的图像。
可以理解的是,待校正图像的像素行和过渡图像的像素行之间并不是一一对应的。过渡图像中的一个像素行可以对应待校正图像中的两个像素行,也可以对应待校正图像中的一个像素行。
需要说明的是,根据申请人对方格纸及对应的畸变图像中对应点坐标的分析,得知存在梯形畸变的图像在纵向上的畸变是非线性的,不均匀的。申请人也发现,可以根据样本的梯形畸变图像和对应的无梯形畸变图像,获得校正后图像的像素行和校正前图像的像素行之间的对应关系。根据该对应关系和待校正图像,可以确定过渡图像。
具体的,校正后图像的像素行与校正前图像的像素行之间的对应关系可以是采用以下方法预先确定的:
获得梯形畸变图像和对应的无梯形畸变图像,从梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从无梯形畸变图像中分别获得与p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2)。其中,i1不等于i2。按照以下公式,确定上述无梯形畸变图像中第x像素行与上述梯形畸变图像中的第i像素行的对应关系如下:
i=(h/2+it)*H/h,
it=tan(alpha–arctan(tmp7+tan(tmp2)))*f,
tmp1=alpha+arctan(h/(2*f)),
tmp2=alpha–arctan(h/(2*f)),
tmp3=tan(tmp1)-tan(tmp2),
tmp4=tan(alpha-arctan((i1*h/H-h/2)/f))-tan(tmp2),
tmp5=tan(alpha-arctan((i2*h/H-h/2)/f))-tan(tmp2),
tmp6=(tmp5–tmp4)*H*f/((x1-x2)*h),
tmp7=tmp3/2-xt*tmp6/f,
xt=x*h/H-h/2,
其中,alpha为图像采集设备的等效光轴与图像采集平面夹角的余角,h为图像采集设备中感光元件的高度,f为图像采集设备中光学元件的等效焦距,所述H为梯形畸变图像的高度。图像采集设备中的光学元件可以为透镜等元件。
步骤S603:根据预先确定的各像素行对应的横向伸缩系数以及所述过渡图像,确定配准图像。
其中,横向伸缩系数表示校正后图像的像素点相对于校正前图像的像素点在横向上的偏移量。校正后图像即为不存在梯形畸变图像,校正前图像即为带有梯形畸变的图像。
可以理解的是,过渡图像和配准图像中的像素行是一一对应的,过渡图像和配准图像中对应像素行中的像素总数量是不同的。
在本实施例中,过渡图像为对待校正图像进行纵向上校正后的图像。根据上述横向伸缩系数和过渡图像得到的配准图像,为对过渡图像进行横向校正后的图像。
需要说明的是,根据申请人对方格纸及对应的畸变图像中对应点坐标的分析,得知存在梯形畸变的图像在横向上被均匀拉伸或缩短了,也就是说过渡图像在横向上的畸变是线性的,像素点的列坐标被均匀地拉伸或缩小了。因此,根据每个像素行的横向伸缩系数和过渡图像,能够得到配准图像。所得到的配准图像为对过渡图像的各个像素点进行横向校正后的图像。
具体的,所述横向伸缩系数可以是预先采用以下方式确定的:
获得横向畸变图像和无梯形畸变图像,该横向畸变图像为对梯形畸变图像进行纵向校正后的图像,该梯形畸变图像为与上述无梯形畸变图像对应的图像,从横向畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从无梯形畸变图像中分别获得与p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与p2(i2,j2)对应的第四样本像素点pr2(x2,y2)。其中,i1不等于i2。按照以下公式,确定第i像素行对应的横向伸缩系数:
ki=ki1+(i-i1)*dK
其中,dK=(ki1-ki2)/(m-1),m=i2-i1+1,ki1=d1/dt1,ki2=d2/dt2,d1=j1-L,d2=j2-L,dt1=y1-L,dt2=y2-L,L=W/2,W为横向畸变图像的总列数,也是无梯形畸变图像的总列数。需要说明的是,梯形畸变图像和无梯形畸变图像的大小是相同的。另外,L也可以理解为梯形畸变图像或无梯形畸变图像中纵向对称轴的列坐标。
其中,获得的横向畸变图像和无梯形畸变图像均为样本图像,是预先获得的图像。横向畸变图像为无纵向梯形畸变的图像,该横向畸变图像可以是按照预先确定的像素行对应关系库对梯形畸变图像进行纵向校正后得到的图像,该图像在横向上还存在畸变。上述无梯形畸变图像可以为方格纸,方格纸中包含至少一个正方形方格,梯形畸变图像可以为对该方格纸采集得到的存在梯形畸变的方格纸图像,上述横向畸变图像可以为对该方格纸图像进行纵向校正后的图像。上述第三样本像素点和第四样本像素点可以为方格的上下两个顶点。
由于在确定配准图像的过程中无需使用待校正图像,因此在确定配准图像后,所述方法还可以包括:将所获得的配准图像替换待校正图像。也就是说,将配准图像存储至待校正图像的存储位置。这样能够节省存储空间,减少不必要的浪费。
步骤S604:将所确定的配准图像确定为对所述待校正图像校正后的图像。
由上述内容可见,本实施例可以根据预先确定的像素行对应关系库,对待校正图像进行纵向校正得到过渡图像,根据预先确定的各像素行对应的横向伸缩系数,对过渡图像的像素点进行横向校正获得配准图像。可见,应用本实施例提供的方案,能够对图像的梯形畸变进行校正。
在图6所示实施例的一种具体实施方式中,步骤S602,根据预先确定的像素行对应关系库以及所述待校正图像,确定过渡图像的步骤,可以包括:
按照以下步骤1~步骤4,确定过渡图像中每个像素点的像素值:
步骤1:针对所述过渡图像中的第二像素点,根据预先确定的像素行对应关系库,将所述过渡图像作为校正后图像,确定所述第二像素点所在像素行对应的校正前图像的目标像素行。其中,所述第二像素点为所述过渡图像中的任一像素点。本实施例中,待校正图像为校正前图像。
作为一种具体实施方式,上述对应关系库存储的校正后图像的像素行对应的校正前图像的像素行,可以表示对应一个像素行,也可以表示对应两个像素行。作为一个例子,当校正后图像的像素行均用整数表示时,校正后图像的像素行对应的校正前图像的像素行为整数时,表示校正后图像的像素行正好对应校正前图像的一个像素行;当校正后图像的像素行对应的校正前图像的像素行为小数时,该小数表示校正后图像的像素行对应于校正前图像的两个像素行,还可以表示校正后图像的像素行与对应的校正前图像的两个像素行的关联程度。
步骤2:判断所述目标像素行是否处于范围[c,d]之间,其中,所述c为所述待校正图像中的最小像素行,所述d为所述待校正图像中的最大像素行,如果不处于,则执行步骤3;如果处于,则执行步骤4。
步骤3:将预设像素值确定为所述第二像素点的像素值。其中,预设像素值可以为0~255中任何一个像素值。
步骤4:根据上述目标像素行,从待校正图像中确定与第二像素点对应的参考像素点,根据该参考像素点的像素值,确定第二像素点的像素值。其中,参考像素点的列坐标与第二像素点的列坐标相同。
具体的,步骤4具体可以包括以下步骤4a~步骤4c:
步骤4a:判断目标像素行是否位于两个像素行之间,如果否,则执行步骤4b;如果是,则执行步骤4c。
具体的,当校正后图像的像素行均用整数表示时,可以判断目标像素行是否为小数,如果是,则判定目标像素行位于两个像素行之间。
当然,具体的判断过程可以根据像素行对应关系库中设置的像素行类型来进行。
步骤4b:从待校正图像中确定与第二像素点对应的参考像素点为:列坐标为第二像素点的列坐标,行坐标为目标像素行的像素点;将参考像素点的像素值,确定为第二像素点的像素值。
可以理解的是,当目标像素行正好位于待校正图像中的一个像素行时,可以直接将待校正图像中列坐标与第二像素点的列坐标相同、行坐标为目标像素行的像素点确定为参考像素点。
步骤4c:从待校正图像中确定与第二像素点对应的参考像素点为:列坐标均为第二像素点的列坐标,行坐标分别为与目标像素行相邻的像素行的两个像素点;根据参考像素点的像素值、参考像素点的行坐标以及目标像素行,采用插值法,确定第二像素点的像素值。
需要说明的是,本步骤中,确定的第二像素点对应的参考像素点为两个。
具体的,当目标像素行位于待校正图像中的两个像素行之间时,可以先确定与目标像素行相邻的像素行。作为一个例子,当校正后图像的像素行以整数表示时,如果目标像素行为小数,则可以确定目标像素行位于待校正图像中的两个像素行之间。这时可以确定目标像素行的相邻像素行分别为M和M+1,其中,M为:对目标像素行向下取整后的数值。
具体的,该步骤4c中根据参考像素点的像素值、参考像素点的行坐标以及目标像素行,采用插值法,确定第二像素点的像素值的步骤可以包括:
按照以下公式,确定第二像素点的像素值px:
px=(i2-i0)*px1+(i0-i1)*px2
其中,px1为第一个参考像素点的像素值,px2为第二个参考像素点的像素值,i1为第一个参考像素点的行坐标(即像素行),i2为第二个参考像素点的行坐标(即像素行),i0为目标像素行,i1<i0<i2。
综上,本实施例可以根据预先确定的像素行对应关系库,确定过渡图像中像素点对应的目标像素行,当目标像素行不处于[c,d]之间时,将预设像素值确定为过渡图像中像素点的像素值;当目标像素行处于[c,d]之间时,从待校正图像中确定参考像素点,根据参考像素点的像素值确定过渡图像中像素点的像素值。本实施例中这种通过计算对应的像素行,再确定像素点的像素值的方式,能够提高确定过渡图像时的准确性和效率。
在图6所示实施例的一种具体实施方式中,步骤S603,根据预先确定的各像素行对应的横向伸缩系数以及所述过渡图像,确定配准图像,可以包括:
按照以下步骤1~步骤4,确定配准图像中每个像素点的像素值:
步骤1:针对所述配准图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标。其中,所述第一像素点为所述配准图像中的任一像素点。
步骤2:判断所述目标列坐标是否处于范围[a,b]之间,如果不处于,则执行步骤3;如果处于,则执行步骤4。
其中,所述a为所述过渡图像中像素点的最小列坐标,所述b为所述过渡图像中像素点的最大列坐标。
步骤3:将预设像素值确定为所述第一像素点的像素值。
步骤4:根据所述目标列坐标,从所述过渡图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值。其中,所述第一像素点所在的像素行与所述目标像素点所在的像素行相同。
具体的,上述步骤1,针对所述配准图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标的步骤,可以包括:
按照以下公式,确定所述第一像素点对应的目标列坐标j:
j=ki*(y-L)+L
其中,所述y为所述第一像素点的列坐标,所述ki为预先确定的所述第一像素点所在像素行对应的横向伸缩系数,L=W/2,W为过渡图像的总列数,也是配准图像的总列数。需要说明的是,过渡图像和配准图像的大小是一样的,因此L可以理解为过渡图像中纵向对称轴的列坐标,或者理解为配准图像中纵向对称轴的列坐标。
具体的,上述步骤4,即根据所述目标列坐标,从所述过渡图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值的步骤,可以包括:
步骤4a:判断所述目标列坐标是否位于两个像素点的列坐标之间,如果否,则执行步骤4b;如果是,则执行步骤4c。
步骤4b:从所述待校正图像中确定与所述第一像素点对应的目标像素点为:列坐标为所述目标列坐标,行坐标为所述第一像素点的行坐标的像素点;将所述目标像素点的像素值,确定为所述第一像素点的像素值。
步骤4c:从所述待校正图像中确定与所述第一像素点对应的目标像素点为:列坐标分别为与所述目标列坐标相邻的列坐标,行坐标均为所述第一像素点的行坐标的两个像素点;根据所述目标像素点的像素值、所述目标像素点的列坐标以及所述目标列坐标,采用插值法,确定所述第一像素点的像素值。
具体的,根据目标像素点的像素值、目标像素点的列坐标以及目标列坐标,采用插值法,确定第一像素点的像素值时,可以包括:
按照以下公式,确定第一像素点的像素值px:
px=(j0-j1)*px2+(j2-j0)*px1
其中,px1和j1分别为第一个目标像素点的像素值和列坐标,px2和j2分别为第二个目标像素点的像素值和列坐标,j0为目标列坐标,j1<j0<j2。
综上,本实施例可以根据横向伸缩系数确定配准图像中像素点对应的目标列坐标,当目标列坐标不处于范围[a,b]中时,将预设像素值确定为配准图像中像素点的像素值;当目标列坐标处于范围[a,b]中时,从过渡图像中确定目标列坐标对应的目标像素点,根据目标像素点的像素值确定配准图像中像素点的像素值。本实施例中这种通过计算对应的目标列坐标,再确定像素点的像素值的方式,能够提高确定配准图像时的准确性和效率。
需要说明的是,图6所示实施例与图3所示实施例是基于同一个发明构思得到的实施例,具体内容两实施例可以相互参照。
图7为本申请实施例提供的一种图像校正装置的结构示意图,应用于电子设备,该装置实施例与图3所示实施例相对应。所述装置包括:
获得模块701,用于获得带有梯形畸变的待校正图像;
第一确定模块702,用于根据预先确定的各像素行对应的横向伸缩系数以及所述待校正图像,确定过渡图像;
第二确定模块703,用于根据预先确定的像素行对应关系库以及所述过渡图像,确定配准图像,其中,所述像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系;
校正确定模块704,用于将所确定的配准图像确定为对所述待校正图像校正后的图像。
在图7所示实施例的一种实施方式中,所述第一确定模块702,具体可以用于:确定过渡图像中每个像素点的像素值;
所述第一确定模块702可以包括:
坐标确定子模块(图中未示出),用于针对所述过渡图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标;其中,所述第一像素点为所述过渡图像中的任一像素点;
坐标判断子模块(图中未示出),用于判断所述目标列坐标是否处于范围[a,b]之间,其中,所述a为所述待校正图像中像素点的最小列坐标,所述b为所述待校正图像中像素点的最大列坐标;
第一像素值确定子模块(图中未示出),用于当所述目标列坐标不处于范围[a,b]之间时,将预设像素值确定为所述第一像素点的像素值;
第二像素值确定子模块(图中未示出),用于当所述目标列坐标处于范围[a,b]之间时,根据所述目标列坐标,从所述待校正图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值;其中,所述第一像素点所在的像素行与所述目标像素点所在的像素行相同。
在图7所示实施例的一种实施方式中,所述坐标确定子模块具体可以用于:
按照以下公式,确定所述第一像素点对应的目标列坐标j:
j=ki*(y-L)+L
其中,所述y为所述第一像素点的列坐标,所述ki为预先确定的所述第一像素点所在像素行对应的横向伸缩系数,L=W/2,所述W为所述待校正图像的总列数。
在图7所示实施例的一种实施方式中,第二像素值确定子模块可以包括:
第一判断单元(图中未示出),用于判断所述目标列坐标是否位于两个像素点的列坐标之间;
第一像素值确定单元(图中未示出),用于当所述目标列坐标不位于两个像素点的列坐标之间时,从所述待校正图像中确定与所述第一像素点对应的目标像素点为:列坐标为所述目标列坐标,行坐标为所述第一像素点的行坐标的像素点;将所述目标像素点的像素值,确定为所述第一像素点的像素值。
第二像素值确定单元(图中未示出),用于当所述目标列坐标位于两个像素点的列坐标之间时,从所述待校正图像中确定与所述第一像素点对应的目标像素点为:列坐标分别为与所述目标列坐标相邻的列坐标,行坐标均为所述第一像素点的行坐标的两个像素点;根据所述目标像素点的像素值、所述目标像素点的列坐标以及所述目标列坐标,采用插值法,确定所述第一像素点的像素值。
在图7所示实施例的一种实施方式中,所述装置还可以包括:系数确定模块(图中未示出);所述系数确定模块,用于确定各个像素行对应的横向伸缩系数;
所述系数确定模块,包括:
样本图像获得子模块,用于获得梯形畸变图像和对应的无梯形畸变图像;
像素点获得子模块,用于从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
系数确定子模块,用于按照以下公式,确定第i像素行对应的横向伸缩系数:
ki=ki1+(i-i1)*dK
其中,dK=(ki1-ki2)/(m-1),m=i2-i1+1,ki1=d1/dt1,ki2=d2/dt2,d1=j1-L,d2=j2-L,dt1=y1-L,dt2=y2-L,L=W/2,所述W为所述梯形畸变图像的总列数。
在图7所示实施例的一种实施方式中,所述第二确定模块703具体用于确定配准图像中每个像素点的像素值;
所述第二确定模块703可以包括:
像素行确定子模块(图中未示出),用于针对所述配准图像中的第二像素点,根据预先确定的像素行对应关系库,将所述配准图像作为校正后图像,确定所述第二像素点所在像素行对应的校正前图像的目标像素行;其中,所述第二像素点为所述配准图像中的任一像素点;
像素行判断子模块(图中未示出),用于判断所述目标像素行是否处于范围[c,d]之间,其中,所述c为所述过渡图像中的最小像素行,所述d为所述过渡图像中的最大像素行;
第三像素值确定子模块(图中未示出),用于当所述目标像素行不处于范围[c,d]之间时,将预设像素值确定为所述第二像素点的像素值;
第四像素值确定子模块(图中未示出),用于当所述目标像素行处于范围[c,d]之间时,根据所述目标像素行,从所述过渡图像中确定与所述第二像素点对应的参考像素点,根据所述参考像素点的像素值,确定所述第二像素点的像素值;其中,所述参考像素点的列坐标与所述第二像素点的列坐标相同。
在图7所示实施例的一种实施方式中,所述第四像素值确定子模块,可以包括:
第二判断单元,用于判断所述目标像素行是否位于两个像素行之间;
第三像素值确定单元,用于当所述目标像素行不位于两个像素行之间时,从所述过渡图像中确定与所述第二像素点对应的参考像素点为:列坐标为所述第二像素点的列坐标,行坐标为所述目标像素行的像素点;将所述参考像素点的像素值,确定为所述第二像素点的像素值;
第四像素值确定单元,用于当所述目标像素行位于两个像素行之间时,从所述过渡图像中确定与所述第二像素点对应的参考像素点为:列坐标均为所述第二像素点的列坐标,行坐标分别为与所述目标像素行相邻的像素行的两个像素点;根据所述参考像素点的像素值、所述参考像素点的行坐标以及所述目标像素行,采用插值法,确定所述第二像素点的像素值。
在图7所示实施例的一种实施方式中,所述装置还可以包括:对应关系确定模块;所述对应关系确定模块,用于确定校正后图像的像素行与校正前图像的像素行之间的对应关系;
所述对应关系确定模块可以包括:
样本图像获得子模块(图中未示出),用于获得梯形畸变图像和对应的无梯形畸变图像;
像素点获得子模块(图中未示出),用于从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
对应关系确定子模块(图中未示出),用于按照以下公式,确定所述无梯形畸变图像中第x像素行与所述梯形畸变图像中的第i像素行的对应关系如下:
i=(h/2+it)*H/h,
it=tan(alpha–arctan(tmp7+tan(tmp2)))*f,
tmp1=alpha+arctan(h/(2*f)),
tmp2=alpha–arctan(h/(2*f)),
tmp3=tan(tmp1)-tan(tmp2),
tmp4=tan(alpha-arctan((i1*h/H-h/2)/f))-tan(tmp2),
tmp5=tan(alpha-arctan((i2*h/H-h/2)/f))-tan(tmp2),
tmp6=(tmp5–tmp4)*H*f/((x1-x2)*h),
tmp7=tmp3/2-xt*tmp6/f,
xt=x*h/H-h/2,
其中,所述alpha为图像采集设备的等效光轴与图像采集平面夹角的余角,所述h为图像采集设备中感光元件的高度,所述f为所述图像采集设备中光学元件的等效焦距,所述H为所述梯形畸变图像的高度。
在图7所示实施例的一种实施方式中,所述装置还包括:
替换模块(图中未示出),用于将所获得的配准图像替换所述待校正图像。
图8为本申请实施例提供的另一种图像校正装置的结构示意图,应用于电子设备,该装置实施例与图6所示方法实施例相对应,所述装置包括:
获得模块801,用于获得带有梯形畸变的待校正图像;
第三确定模块802,用于根据预先确定的像素行对应关系库,以及所述待校正图像,确定过渡图像,其中,所述像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系;
第四确定模块803,用于根据预先确定的各像素行对应的横向伸缩系数以及所述过渡图像,确定配准图像;
校正确定模块804,用于将所确定的配准图像确定为对所述待校正图像校正后的图像。
在图8所示实施例的一种实施方式中,所述第四确定模块803,具体可以用于确定配准图像中每个像素点的像素值;
所述第四确定模块803,可以包括:
坐标确定子模块(图中未示出),用于针对所述配准图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标;其中,所述第一像素点为所述配准图像中的任一像素点;
坐标判断子模块(图中未示出),用于判断所述目标列坐标是否处于范围[a,b]之间,其中,所述a为所述过渡图像中像素点的最小列坐标,所述b为所述过渡图像中像素点的最大列坐标;
第一像素值确定子模块(图中未示出),用于当判断所述目标列坐标不处于范围[a,b]之间时,将预设像素值确定为所述第一像素点的像素值;
第二像素值确定子模块(图中未示出),用于当判断所述目标列坐标处于范围[a,b]之间时,根据所述目标列坐标,从所述过渡图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值;其中,所述第一像素点所在的像素行与所述目标像素点所在的像素行相同。
在图8所示实施例的一种实施方式中,所述装置还可以包括:系数确定模块(图中未示出);所述系数确定模块,用于确定各个像素行对应的横向伸缩系数;
所述系数确定模块,包括:
样本图像获得子模块(图中未示出),用于获得横向畸变图像和无梯形畸变图像,所述横向畸变图像为对梯形畸变图像进行纵向校正后的图像,所述梯形畸变图像为与所述无梯形畸变图像对应的图像;
像素点获得子模块(图中未示出),用于从所述横向畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
系数确定子模块(图中未示出),用于按照以下公式,确定第i像素行对应的横向伸缩系数:
ki=ki1+(i-i1)*dK
其中,dK=(ki1-ki2)/(m-1),m=i2-i1+1,ki1=d1/dt1,ki2=d2/dt2,d1=j1-L,d2=j2-L,dt1=y1-L,dt2=y2-L,L=W/2,所述W为所述横向畸变图像的总列数。
在图8所示实施例的一种实施方式中,所述第三确定模块802,具体可以用于确定过渡图像中每个像素点的像素值;
所述第三确定模块802,可以包括:
像素行确定子模块(图中未示出),用于针对所述过渡图像中的第二像素点,根据预先确定的像素行对应关系库,将所述过渡图像作为校正后图像,确定所述第二像素点所在像素行对应的校正前图像的目标像素行;其中,所述第二像素点为所述过渡图像中的任一像素点;
像素行判断子模块(图中未示出),用于判断所述目标像素行是否处于范围[c,d]之间,其中,所述c为所述待校正图像中的最小像素行,所述d为所述待校正图像中的最大像素行;
第三像素值确定子模块(图中未示出),用于当所述目标像素行不处于范围[c,d]之间时,将预设像素值确定为所述第二像素点的像素值;
第四像素值确定子模块(图中未示出),用于当所述目标像素行处于范围[c,d]之间时,根据所述目标像素行,从所述待校正图像中确定与所述第二像素点对应的参考像素点,根据所述参考像素点的像素值,确定所述第二像素点的像素值;其中,所述参考像素点的列坐标与所述第二像素点的列坐标相同。
在图8所示实施例的一种实施方式中,所述装置还可以包括:对应关系确定模块(图中未示出);所述对应关系确定模块,用于确定校正后图像的像素行与校正前图像的像素行之间的对应关系;
所述对应关系确定模块,可以包括:
样本图像获得子模块(图中未示出),用于获得梯形畸变图像和对应的无梯形畸变图像;
像素点获得子模块(图中未示出),用于从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
对应关系确定子模块(图中未示出),用于按照以下公式,确定所述无梯形畸变图像中第x像素行与所述梯形畸变图像中的第i像素行的对应关系如下:
i=(h/2+it)*H/h,
it=tan(alpha–arctan(tmp7+tan(tmp2)))*f,
tmp1=alpha+arctan(h/(2*f)),
tmp2=alpha–arctan(h/(2*f)),
tmp3=tan(tmp1)-tan(tmp2),
tmp4=tan(alpha-arctan((i1*h/H-h/2)/f))-tan(tmp2),
tmp5=tan(alpha-arctan((i2*h/H-h/2)/f))-tan(tmp2),
tmp6=(tmp5–tmp4)*H*f/((x1-x2)*h),
tmp7=tmp3/2-xt*tmp6/f,
xt=x*h/H-h/2,
其中,所述alpha为图像采集设备的等效光轴与图像采集平面夹角的余角,所述h为图像采集设备中感光元件的高度,所述f为所述图像采集设备中光学元件的等效焦距,所述H为所述梯形畸变图像的高度。
由于上述装置实施例是基于方法实施例得到的,与该方法具有相同的技术效果,因此装置实施例的技术效果在此不再赘述。对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (24)
1.一种图像校正方法,其特征在于,所述方法包括:
获得带有梯形畸变的待校正图像;
根据预先确定的各像素行对应的横向伸缩系数以及所述待校正图像,确定过渡图像;
根据预先确定的像素行对应关系库以及所述过渡图像,确定配准图像,其中,所述像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系;
将所确定的配准图像确定为对所述待校正图像校正后的图像;
所述根据预先确定的各像素行对应的横向伸缩系数以及所述待校正图像,确定过渡图像的步骤,包括:按照以下方式,确定过渡图像中每个像素点的像素值:针对所述过渡图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标;其中,所述第一像素点为所述过渡图像中的任一像素点;判断所述目标列坐标是否处于范围[a,b]之间,其中,所述a为所述待校正图像中像素点的最小列坐标,所述b为所述待校正图像中像素点的最大列坐标;如果不处于,则将预设像素值确定为所述第一像素点的像素值;如果处于,则根据所述目标列坐标,从所述待校正图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值;其中,所述第一像素点所在的像素行与所述目标像素点所在的像素行相同。
2.根据权利要求1所述的方法,其特征在于,所述针对所述过渡图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标的步骤,包括:
按照以下公式,确定所述第一像素点对应的目标列坐标j:
j=ki*(y-L)+L
其中,所述y为所述第一像素点的列坐标,所述ki为预先确定的所述第一像素点所在像素行对应的横向伸缩系数,L=W/2,所述W为所述待校正图像的总列数。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标列坐标,从所述待校正图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值的步骤,包括:
判断所述目标列坐标是否位于两个像素点的列坐标之间;
如果否,则从所述待校正图像中确定与所述第一像素点对应的目标像素点为:列坐标为所述目标列坐标,行坐标为所述第一像素点的行坐标的像素点;将所述目标像素点的像素值,确定为所述第一像素点的像素值;
如果是,则从所述待校正图像中确定与所述第一像素点对应的目标像素点为:列坐标分别为与所述目标列坐标相邻的列坐标,行坐标均为所述第一像素点的行坐标的两个像素点;根据所述目标像素点的像素值、所述目标像素点的列坐标以及所述目标列坐标,采用插值法,确定所述第一像素点的像素值。
4.根据权利要求1所述的方法,其特征在于,所述横向伸缩系数是预先采用以下方式确定的:
获得梯形畸变图像和对应的无梯形畸变图像;
从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
按照以下公式,确定第i像素行对应的横向伸缩系数:
ki=ki1+(i-i1)*dK
其中,dK=(ki1-ki2)/(m-1),m=i2-i1+1,ki1=d1/dt1,ki2=d2/dt2,d1=j1-L,d2=j2-L,dt1=y1-L,dt2=y2-L,L=W/2,所述W为所述梯形畸变图像的总列数。
5.根据权利要求1所述的方法,其特征在于,所述根据预先确定的像素行对应关系库以及所述过渡图像,确定配准图像的步骤,包括:
按照以下方式,确定配准图像中每个像素点的像素值:
针对所述配准图像中的第二像素点,根据预先确定的像素行对应关系库,将所述配准图像作为校正后图像,确定所述第二像素点所在像素行对应的校正前图像的目标像素行;其中,所述第二像素点为所述配准图像中的任一像素点;
判断所述目标像素行是否处于范围[c,d]之间,其中,所述c为所述过渡图像中的最小像素行,所述d为所述过渡图像中的最大像素行;
如果不处于,则将预设像素值确定为所述第二像素点的像素值;
如果处于,则根据所述目标像素行,从所述过渡图像中确定与所述第二像素点对应的参考像素点,根据所述参考像素点的像素值,确定所述第二像素点的像素值;其中,所述参考像素点的列坐标与所述第二像素点的列坐标相同。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标像素行,从所述过渡图像中确定与所述第二像素点对应的参考像素点,根据所述参考像素点的像素值,确定所述第二像素点的像素值的步骤,包括:
判断所述目标像素行是否位于两个像素行之间;
如果否,则从所述过渡图像中确定与所述第二像素点对应的参考像素点为:列坐标为所述第二像素点的列坐标,行坐标为所述目标像素行的像素点;将所述参考像素点的像素值,确定为所述第二像素点的像素值;
如果是,则从所述过渡图像中确定与所述第二像素点对应的参考像素点为:列坐标均为所述第二像素点的列坐标,行坐标分别为与所述目标像素行相邻的像素行的两个像素点;根据所述参考像素点的像素值、所述参考像素点的行坐标以及所述目标像素行,采用插值法,确定所述第二像素点的像素值。
7.根据权利要求1所述的方法,其特征在于,所述校正后图像的像素行与校正前图像的像素行之间的对应关系是采用以下方法预先确定的:
获得梯形畸变图像和对应的无梯形畸变图像;
从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
按照以下公式,确定所述无梯形畸变图像中第x像素行与所述梯形畸变图像中的第i像素行的对应关系如下:
i=(h/2+it)*H/h,
it=tan(alpha–arctan(tmp7+tan(tmp2)))*f,
tmp1=alpha+arctan(h/(2*f)),
tmp2=alpha–arctan(h/(2*f)),
tmp3=tan(tmp1)-tan(tmp2),
tmp4=tan(alpha-arctan((i1*h/H-h/2)/f))-tan(tmp2),
tmp5=tan(alpha-arctan((i2*h/H-h/2)/f))-tan(tmp2),
tmp6=(tmp5–tmp4)*H*f/((x1-x2)*h),
tmp7=tmp3/2-xt*tmp6/f,
xt=x*h/H-h/2,
其中,所述alpha为图像采集设备的等效光轴与图像采集平面夹角的余角,所述h为图像采集设备中感光元件的高度,所述f为所述图像采集设备中光学元件的等效焦距,所述H为所述梯形畸变图像的高度。
8.根据权利要求1~7任一项所述的方法,其特征在于,所述方法还包括:
将所获得的配准图像替换所述待校正图像。
9.一种图像校正方法,其特征在于,所述方法包括:
获得带有梯形畸变的待校正图像;
根据预先确定的像素行对应关系库以及所述待校正图像,确定过渡图像,其中,所述像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系;
根据预先确定的各像素行对应的横向伸缩系数以及所述过渡图像,确定配准图像;
将所确定的配准图像确定为对所述待校正图像校正后的图像;
所述根据预先确定的各像素行对应的横向伸缩系数以及所述过渡图像,确定配准图像的步骤,包括:按照以下方式,确定配准图像中每个像素点的像素值:针对所述配准图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标;其中,所述第一像素点为所述配准图像中的任一像素点;判断所述目标列坐标是否处于范围[a,b]之间,其中,所述a为所述过渡图像中像素点的最小列坐标,所述b为所述过渡图像中像素点的最大列坐标;如果不处于,则将预设像素值确定为所述第一像素点的像素值;如果处于,则根据所述目标列坐标,从所述过渡图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值;其中,所述第一像素点所在的像素行与所述目标像素点所在的像素行相同。
10.根据权利要求9所述的方法,其特征在于,所述横向伸缩系数是预先采用以下方式确定的:
获得横向畸变图像和无梯形畸变图像,所述横向畸变图像为对梯形畸变图像进行纵向校正后的图像,所述梯形畸变图像为与所述无梯形畸变图像对应的图像;
从所述横向畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
按照以下公式,确定第i像素行对应的横向伸缩系数:
ki=ki1+(i-i1)*dK
其中,dK=(ki1-ki2)/(m-1),m=i2-i1+1,ki1=d1/dt1,ki2=d2/dt2,d1=j1-L,d2=j2-L,dt1=y1-L,dt2=y2-L,L=W/2,所述W为所述横向畸变图像的总列数。
11.根据权利要求9所述的方法,其特征在于,所述根据预先确定的像素行对应关系库以及所述待校正图像,确定过渡图像的步骤,包括:
按照以下方式,确定过渡图像中每个像素点的像素值:
针对所述过渡图像中的第二像素点,根据预先确定的像素行对应关系库,将所述过渡图像作为校正后图像,确定所述第二像素点所在像素行对应的校正前图像的目标像素行;其中,所述第二像素点为所述过渡图像中的任一像素点;
判断所述目标像素行是否处于范围[c,d]之间,其中,所述c为所述待校正图像中的最小像素行,所述d为所述待校正图像中的最大像素行;
如果不处于,则将预设像素值确定为所述第二像素点的像素值;
如果处于,则根据所述目标像素行,从所述待校正图像中确定与所述第二像素点对应的参考像素点,根据所述参考像素点的像素值,确定所述第二像素点的像素值;其中,所述参考像素点的列坐标与所述第二像素点的列坐标相同。
12.根据权利要求9所述的方法,其特征在于,所述校正后图像的像素行与校正前图像的像素行之间的对应关系是采用以下方法预先确定的:
获得梯形畸变图像和对应的无梯形畸变图像;
从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
按照以下公式,确定所述无梯形畸变图像中第x像素行与所述梯形畸变图像中的第i像素行的对应关系如下:
i=(h/2+it)*H/h,
it=tan(alpha–arctan(tmp7+tan(tmp2)))*f,
tmp1=alpha+arctan(h/(2*f)),
tmp2=alpha–arctan(h/(2*f)),
tmp3=tan(tmp1)-tan(tmp2),
tmp4=tan(alpha-arctan((i1*h/H-h/2)/f))-tan(tmp2),
tmp5=tan(alpha-arctan((i2*h/H-h/2)/f))-tan(tmp2),
tmp6=(tmp5–tmp4)*H*f/((x1-x2)*h),
tmp7=tmp3/2-xt*tmp6/f,
xt=x*h/H-h/2,
其中,所述alpha为图像采集设备的等效光轴与图像采集平面夹角的余角,所述h为图像采集设备中感光元件的高度,所述f为所述图像采集设备中光学元件的等效焦距,所述H为所述梯形畸变图像的高度。
13.一种图像校正装置,其特征在于,所述装置包括:
获得模块,用于获得带有梯形畸变的待校正图像;
第一确定模块,用于根据预先确定的各像素行对应的横向伸缩系数以及所述待校正图像,确定过渡图像;
第二确定模块,用于根据预先确定的像素行对应关系库以及所述过渡图像,确定配准图像,其中,所述像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系;
校正确定模块,用于将所确定的配准图像确定为对所述待校正图像校正后的图像;
所述第一确定模块,具体用于:确定过渡图像中每个像素点的像素值;
所述第一确定模块,包括:
坐标确定子模块,用于针对所述过渡图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标;其中,所述第一像素点为所述过渡图像中的任一像素点;
坐标判断子模块,用于判断所述目标列坐标是否处于范围[a,b]之间,其中,所述a为所述待校正图像中像素点的最小列坐标,所述b为所述待校正图像中像素点的最大列坐标;
第一像素值确定子模块,用于当所述目标列坐标不处于范围[a,b]之间时,将预设像素值确定为所述第一像素点的像素值;
第二像素值确定子模块,用于当所述目标列坐标处于范围[a,b]之间时,根据所述目标列坐标,从所述待校正图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值;其中,所述第一像素点所在的像素行与所述目标像素点所在的像素行相同。
14.根据权利要求13所述的装置,其特征在于,所述坐标确定子模块,具体用于:
按照以下公式,确定所述第一像素点对应的目标列坐标j:
j=ki*(y-L)+L
其中,所述y为所述第一像素点的列坐标,所述ki为预先确定的所述第一像素点所在像素行对应的横向伸缩系数,L=W/2,所述W为所述待校正图像的总列数。
15.根据权利要求13所述的装置,其特征在于,所述第二像素值确定子模块,包括:
第一判断单元,用于判断所述目标列坐标是否位于两个像素点的列坐标之间;
第一像素值确定单元,用于当所述目标列坐标不位于两个像素点的列坐标之间时,从所述待校正图像中确定与所述第一像素点对应的目标像素点为:列坐标为所述目标列坐标,行坐标为所述第一像素点的行坐标的像素点;将所述目标像素点的像素值,确定为所述第一像素点的像素值;
第二像素值确定单元,用于当所述目标列坐标位于两个像素点的列坐标之间时,从所述待校正图像中确定与所述第一像素点对应的目标像素点为:列坐标分别为与所述目标列坐标相邻的列坐标,行坐标均为所述第一像素点的行坐标的两个像素点;根据所述目标像素点的像素值、所述目标像素点的列坐标以及所述目标列坐标,采用插值法,确定所述第一像素点的像素值。
16.根据权利要求13所述的装置,其特征在于,所述装置还包括:系数确定模块;所述系数确定模块,用于确定各个像素行对应的横向伸缩系数;
所述系数确定模块,包括:
样本图像获得子模块,用于获得梯形畸变图像和对应的无梯形畸变图像;
像素点获得子模块,用于从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
系数确定子模块,用于按照以下公式,确定第i像素行对应的横向伸缩系数:
ki=ki1+(i-i1)*dK
其中,dK=(ki1-ki2)/(m-1),m=i2-i1+1,ki1=d1/dt1,ki2=d2/dt2,d1=j1-L,d2=j2-L,dt1=y1-L1,dt2=y2-L1,L=W/2,所述W为所述梯形畸变图像的总列数。
17.根据权利要求13所述的装置,其特征在于,所述第二确定模块,具体用于确定配准图像中每个像素点的像素值;
所述第二确定模块,包括:
像素行确定子模块,用于针对所述配准图像中的第二像素点,根据预先确定的像素行对应关系库,将所述配准图像作为校正后图像,确定所述第二像素点所在像素行对应的校正前图像的目标像素行;其中,所述第二像素点为所述配准图像中的任一像素点;
像素行判断子模块,用于判断所述目标像素行是否处于范围[c,d]之间,其中,所述c为所述过渡图像中的最小像素行,所述d为所述过渡图像中的最大像素行;
第三像素值确定子模块,用于当所述目标像素行不处于范围[c,d]之间时,将预设像素值确定为所述第二像素点的像素值;
第四像素值确定子模块,用于当所述目标像素行处于范围[c,d]之间时,根据所述目标像素行,从所述过渡图像中确定与所述第二像素点对应的参考像素点,根据所述参考像素点的像素值,确定所述第二像素点的像素值;其中,所述参考像素点的列坐标与所述第二像素点的列坐标相同。
18.根据权利要求17所述的装置,其特征在于,所述第四像素值确定子模块,包括:
第二判断单元,用于判断所述目标像素行是否位于两个像素行之间;
第三像素值确定单元,用于当所述目标像素行不位于两个像素行之间时,从所述过渡图像中确定与所述第二像素点对应的参考像素点为:列坐标为所述第二像素点的列坐标,行坐标为所述目标像素行的像素点;将所述参考像素点的像素值,确定为所述第二像素点的像素值;
第四像素值确定单元,用于当所述目标像素行位于两个像素行之间时,从所述过渡图像中确定与所述第二像素点对应的参考像素点为:列坐标均为所述第二像素点的列坐标,行坐标分别为与所述目标像素行相邻的像素行的两个像素点;根据所述参考像素点的像素值、所述参考像素点的行坐标以及所述目标像素行,采用插值法,确定所述第二像素点的像素值。
19.根据权利要求13所述的装置,其特征在于,所述装置还包括:对应关系确定模块;所述对应关系确定模块,用于确定校正后图像的像素行与校正前图像的像素行之间的对应关系;
所述对应关系确定模块,包括:
样本图像获得子模块,用于获得梯形畸变图像和对应的无梯形畸变图像;
像素点获得子模块,用于从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
对应关系确定子模块,用于按照以下公式,确定所述无梯形畸变图像中第x像素行与所述梯形畸变图像中的第i像素行的对应关系如下:
i=(h/2+it)*H/h,
it=tan(alpha–arctan(tmp7+tan(tmp2)))*f,
tmp1=alpha+arctan(h/(2*f)),
tmp2=alpha–arctan(h/(2*f)),
tmp3=tan(tmp1)-tan(tmp2),
tmp4=tan(alpha-arctan((i1*h/H-h/2)/f))-tan(tmp2),
tmp5=tan(alpha-arctan((i2*h/H-h/2)/f))-tan(tmp2),
tmp6=(tmp5–tmp4)*H*f/((x1-x2)*h),
tmp7=tmp3/2-xt*tmp6/f,
xt=x*h/H-h/2,
其中,所述alpha为图像采集设备的等效光轴与图像采集平面夹角的余角,所述h为图像采集设备中感光元件的高度,所述f为所述图像采集设备中光学元件的等效焦距,所述H为所述梯形畸变图像的高度。
20.根据权利要求13~19任一项所述的装置,其特征在于,所述装置还包括:
替换模块,用于将所获得的配准图像替换所述待校正图像。
21.一种图像校正装置,其特征在于,所述装置包括:
获得模块,用于获得带有梯形畸变的待校正图像;
第三确定模块,用于根据预先确定的像素行对应关系库以及所述待校正图像,确定过渡图像,其中,所述像素行对应关系库,用于存储校正后图像的像素行与校正前图像的像素行之间的对应关系;
第四确定模块,用于根据预先确定的各像素行对应的横向伸缩系数以及所述过渡图像,确定配准图像;
校正确定模块,用于将所确定的配准图像确定为对所述待校正图像校正后的图像;
所述第四确定模块,具体用于确定配准图像中每个像素点的像素值;
所述第四确定模块,包括:
坐标确定子模块,用于针对所述配准图像中的第一像素点,根据预先确定的所述第一像素点所在像素行对应的横向伸缩系数以及所述第一像素点的列坐标,确定所述第一像素点对应的目标列坐标;其中,所述第一像素点为所述配准图像中的任一像素点;
坐标判断子模块,用于判断所述目标列坐标是否处于范围[a,b]之间,其中,所述a为所述过渡图像中像素点的最小列坐标,所述b为所述过渡图像中像素点的最大列坐标;
第一像素值确定子模块,用于当判断所述目标列坐标不处于范围[a,b]之间时,将预设像素值确定为所述第一像素点的像素值;
第二像素值确定子模块,用于当判断所述目标列坐标处于范围[a,b]之间时,根据所述目标列坐标,从所述过渡图像中确定与所述第一像素点对应的目标像素点,根据所述目标像素点的像素值,确定所述第一像素点的像素值;其中,所述第一像素点所在的像素行与所述目标像素点所在的像素行相同。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括:系数确定模块;所述系数确定模块,用于确定各个像素行对应的横向伸缩系数;
所述系数确定模块,包括:
样本图像获得子模块,用于获得横向畸变图像和无梯形畸变图像,所述横向畸变图像为对梯形畸变图像进行纵向校正后的图像,所述梯形畸变图像为与所述无梯形畸变图像对应的图像;
像素点获得子模块,用于从所述横向畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
系数确定子模块,用于按照以下公式,确定第i像素行对应的横向伸缩系数:
ki=ki1+(i-i1)*dK
其中,dK=(ki1-ki2)/(m-1),m=i2-i1+1,ki1=d1/dt1,ki2=d2/dt2,d1=j1-L,d2=j2-L,dt1=y1-L,dt2=y2-L,L=W/2,所述W为所述横向畸变图像的总列数。
23.根据权利要求21所述的装置,其特征在于,所述第三确定模块,具体用于确定过渡图像中每个像素点的像素值;
所述第三确定模块,包括:
像素行确定子模块,用于针对所述过渡图像中的第二像素点,根据预先确定的像素行对应关系库,将所述过渡图像作为校正后图像,确定所述第二像素点所在像素行对应的校正前图像的目标像素行;其中,所述第二像素点为所述过渡图像中的任一像素点;
像素行判断子模块,用于判断所述目标像素行是否处于范围[c,d]之间,其中,所述c为所述待校正图像中的最小像素行,所述d为所述待校正图像中的最大像素行;
第三像素值确定子模块,用于当所述目标像素行不处于范围[c,d]之间时,将预设像素值确定为所述第二像素点的像素值;
第四像素值确定子模块,用于当所述目标像素行处于范围[c,d]之间时,根据所述目标像素行,从所述待校正图像中确定与所述第二像素点对应的参考像素点,根据所述参考像素点的像素值,确定所述第二像素点的像素值;其中,所述参考像素点的列坐标与所述第二像素点的列坐标相同。
24.根据权利要求21所述的装置,其特征在于,所述装置还包括:对应关系确定模块;所述对应关系确定模块,用于确定校正后图像的像素行与校正前图像的像素行之间的对应关系;
所述对应关系确定模块,包括:
样本图像获得子模块,用于获得梯形畸变图像和对应的无梯形畸变图像;
像素点获得子模块,用于从所述梯形畸变图像中获得第一样本像素点p1(i1,j1)和第二样本像素点p2(i2,j2),从所述无梯形畸变图像中分别获得与所述p1(i1,j1)对应的第三样本像素点pr1(x1,y1),与所述p2(i2,j2)对应的第四样本像素点pr2(x2,y2);
对应关系确定子模块,用于按照以下公式,确定所述无梯形畸变图像中第x像素行与所述梯形畸变图像中的第i像素行的对应关系如下:
i=(h/2+it)*H/h,
it=tan(alpha–arctan(tmp7+tan(tmp2)))*f,
tmp1=alpha+arctan(h/(2*f)),
tmp2=alpha–arctan(h/(2*f)),
tmp3=tan(tmp1)-tan(tmp2),
tmp4=tan(alpha-arctan((i1*h/H-h/2)/f))-tan(tmp2),
tmp5=tan(alpha-arctan((i2*h/H-h/2)/f))-tan(tmp2),
tmp6=(tmp5–tmp4)*H*f/((x1-x2)*h),
tmp7=tmp3/2-xt*tmp6/f,
xt=x*h/H-h/2,
其中,所述alpha为图像采集设备的等效光轴与图像采集平面夹角的余角,所述h为图像采集设备中感光元件的高度,所述f为所述图像采集设备中光学元件的等效焦距,所述H为所述梯形畸变图像的高度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710445366.3A CN109087253B (zh) | 2017-06-13 | 2017-06-13 | 一种图像校正方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710445366.3A CN109087253B (zh) | 2017-06-13 | 2017-06-13 | 一种图像校正方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109087253A CN109087253A (zh) | 2018-12-25 |
CN109087253B true CN109087253B (zh) | 2020-12-25 |
Family
ID=64838805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710445366.3A Active CN109087253B (zh) | 2017-06-13 | 2017-06-13 | 一种图像校正方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109087253B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413805B (zh) | 2018-04-25 | 2022-02-01 | 杭州海康威视数字技术股份有限公司 | 一种图像存储方法、装置、电子设备及存储介质 |
CN110246082B (zh) * | 2019-05-07 | 2020-12-18 | 华中科技大学 | 一种遥感全景图像拼接方法 |
CN115131215A (zh) * | 2021-03-24 | 2022-09-30 | 奥比中光科技集团股份有限公司 | 一种图像的校正方法及及屏下系统 |
CN113239918B (zh) * | 2021-07-13 | 2021-10-01 | 北京金博星指纹识别科技有限公司 | 一种图像分辨率归一化处理方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1717029A (zh) * | 1998-02-18 | 2006-01-04 | 精工爱普生株式会社 | 图象处理装置和图象处理方法 |
CN102183870A (zh) * | 2011-04-29 | 2011-09-14 | 广州视声电子科技有限公司 | 一种投影机图像畸变校正方法及其系统、一种投影机 |
CN105095896A (zh) * | 2015-07-29 | 2015-11-25 | 江苏邦融微电子有限公司 | 一种基于查找表的图像畸变校正方法 |
CN105894467A (zh) * | 2016-03-30 | 2016-08-24 | 联想(北京)有限公司 | 一种图像校正方法及系统 |
EP3101622A2 (en) * | 2015-06-02 | 2016-12-07 | FotoNation Limited | An image acquisition system |
CN106296608A (zh) * | 2016-08-08 | 2017-01-04 | Tcl集团股份有限公司 | 一种基于映射表的鱼眼图像处理方法及系统 |
WO2017045129A1 (zh) * | 2015-09-15 | 2017-03-23 | 华为技术有限公司 | 图像畸变校正方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6201290B2 (ja) * | 2012-10-02 | 2017-09-27 | セイコーエプソン株式会社 | 画像表示装置および画像表示装置の画像調整方法 |
-
2017
- 2017-06-13 CN CN201710445366.3A patent/CN109087253B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1717029A (zh) * | 1998-02-18 | 2006-01-04 | 精工爱普生株式会社 | 图象处理装置和图象处理方法 |
CN102183870A (zh) * | 2011-04-29 | 2011-09-14 | 广州视声电子科技有限公司 | 一种投影机图像畸变校正方法及其系统、一种投影机 |
EP3101622A2 (en) * | 2015-06-02 | 2016-12-07 | FotoNation Limited | An image acquisition system |
CN105095896A (zh) * | 2015-07-29 | 2015-11-25 | 江苏邦融微电子有限公司 | 一种基于查找表的图像畸变校正方法 |
WO2017045129A1 (zh) * | 2015-09-15 | 2017-03-23 | 华为技术有限公司 | 图像畸变校正方法及装置 |
CN105894467A (zh) * | 2016-03-30 | 2016-08-24 | 联想(北京)有限公司 | 一种图像校正方法及系统 |
CN106296608A (zh) * | 2016-08-08 | 2017-01-04 | Tcl集团股份有限公司 | 一种基于映射表的鱼眼图像处理方法及系统 |
Non-Patent Citations (3)
Title |
---|
"Projector Calibration using Arbitrary Planes and Calibrated Camera";Makoto Kimura;《2007 IEEE Conference on Computer Vision and Pattern Recognition》;20070716;1-2 * |
"基于图像空间变换和插值运算的投影仪梯形校正法";田敏雄 等;《电子测量技术》;20070331;第30卷(第3期);10-12 * |
"基于视觉的智能车图像畸变校正算法研究";陈思 等;《计算机与网络》;20161231;88-93 * |
Also Published As
Publication number | Publication date |
---|---|
CN109087253A (zh) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109087253B (zh) | 一种图像校正方法及装置 | |
US11272161B2 (en) | System and methods for calibration of an array camera | |
CN111179358B (zh) | 标定方法、装置、设备及存储介质 | |
CN106875339B (zh) | 一种基于长条形标定板的鱼眼图像拼接方法 | |
CN109767474B (zh) | 一种多目相机标定方法、装置及存储介质 | |
JP6701118B2 (ja) | 画像処理装置および画像処理方法 | |
JP2015173430A (ja) | 投影システム、半導体集積回路、および画像補正方法 | |
KR20110059506A (ko) | 복수의 이미지들로부터 카메라 파라미터를 얻기 위한 시스템과 방법 및 이들의 컴퓨터 프로그램 제품 | |
CN104657982A (zh) | 一种投影仪标定方法 | |
JP2012026841A (ja) | ステレオ測距装置及びステレオ測距方法 | |
JP2010041419A (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 | |
WO2016155110A1 (zh) | 图像透视畸变校正的方法及系统 | |
CN108734738B (zh) | 相机标定方法及装置 | |
WO2010050412A1 (ja) | 校正指標決定装置、校正装置、校正性能評価装置、システム、方法、及びプログラム | |
US11880993B2 (en) | Image processing device, driving assistance system, image processing method, and program | |
JP2019068272A (ja) | 周辺監視装置およびその校正方法 | |
CN111047633A (zh) | 单目测距装置 | |
CN111343360B (zh) | 一种校正参数获得方法 | |
CN111179180B (zh) | 影像的修正方法及其装置 | |
KR101165810B1 (ko) | 스테레오 카메라에 의한 영상 깊이정보 추출방법 및 장치 | |
CN105791655A (zh) | 一种计算摄像模组的镜头畸变的方法 | |
CN112734721B (zh) | 一种光轴偏转角度检测方法、装置、设备和介质 | |
TW202111666A (zh) | 立體相機的校正方法及校正系統 | |
CN116095290B (zh) | 投影自动入框方法、装置及电子设备 | |
JP2013192152A (ja) | 撮像装置、撮像システムおよび画像処理方法 |
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 |