CN117115004A - 一种图像处理方法和电子设备 - Google Patents
一种图像处理方法和电子设备 Download PDFInfo
- Publication number
- CN117115004A CN117115004A CN202310484862.5A CN202310484862A CN117115004A CN 117115004 A CN117115004 A CN 117115004A CN 202310484862 A CN202310484862 A CN 202310484862A CN 117115004 A CN117115004 A CN 117115004A
- Authority
- CN
- China
- Prior art keywords
- image
- corner
- pixel
- identification information
- dimensional code
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012937 correction Methods 0.000 claims abstract description 227
- 239000011159 matrix material Substances 0.000 claims abstract description 161
- 238000000034 method Methods 0.000 claims abstract description 102
- 238000012545 processing Methods 0.000 claims abstract description 38
- 239000000284 extract Substances 0.000 claims abstract description 29
- 238000003702 image correction Methods 0.000 claims abstract description 4
- 238000013519 translation Methods 0.000 claims description 106
- 238000001514 detection method Methods 0.000 claims description 50
- 238000003384 imaging method Methods 0.000 claims description 38
- 239000013598 vector Substances 0.000 claims description 23
- 230000015654 memory Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 28
- 230000008569 process Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 17
- 238000007726 management method Methods 0.000 description 15
- 230000003287 optical effect Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010295 mobile communication Methods 0.000 description 11
- 240000004282 Grewia occidentalis Species 0.000 description 10
- 238000000605 extraction Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 229910044991 metal oxide Inorganic materials 0.000 description 3
- 150000004706 metal oxides Chemical class 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 238000006116 polymerization reaction Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000286609 Chuco Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
一种图像处理方法和电子设备,电子设备存储有第一图像的二维码角点的像素位置和标识信息以及方格间角点的像素位置和标识信息;第一图像为ChAruco标定板图像;像素位置用于指示角点在图像中的像素坐标,标识信息用于标识图像中的角点;同一角点的像素位置和标识信息对应,包括:电子设备获取第二图像,第二图像为像旋图像;电子设备提取第二图像中各二维码角点的像素位置和标识信息和方格间角点的像素位置和标识信息;电子设备基于第一图像和第二图像中相同标识信息的角点分别对应的像素位置,确定像旋校正矩阵H;H用于对电子设备拍摄的原始图像进行图像校正处理。本申请实施例,用于提高拍摄图像的质量和效果。
Description
技术领域
本方案涉及计算机视觉处理领域,尤其涉及一种图像处理方法和电子设备。
背景技术
当前,电子设备的长焦摄像头,为了能够实现远距离对焦,可以使用潜望式镜头。潜望式镜头中包括有反光棱镜,用来改变光路。对于潜望式镜头,如果需要在拍摄过程中进行防抖处理的话,可以控制棱镜转动。然而,棱镜的转动过程会导致电子设备拍摄到的图像发生一定角度或者位置的畸变,造成拍摄图像的质量差。
发明内容
本申请提供了一种图像处理方法和电子设备,可以提高拍摄图像的质量。
第一方面,本申请提供了一种图像处理方法,所述方法应用于电子设备,所述电子设备存储有第一图像的第一角点信息和第二角点信息;所述第一图像为包括第一标定板的图像,所述第一标定板是ChAruco标定板;所述第一角点信息包括二维码角点的像素位置和标识信息,所述第二角点信息包括方格间角点的像素位置和标识信息,所述像素位置用于指示角点在图像中的像素坐标,所述标识信息用于标识图像中的角点;同一角点的像素位置和标识信息存在对应关系,所述方法包括:所述电子设备获取第二图像,所述第二图像为所述电子设备拍摄所述第一标定板时存在像旋的图像;所述电子设备提取所述第二图像中各二维码角点的像素位置和标识信息;所述电子设备提取所述第二图像中各方格间角点的像素位置和标识信息;所述电子设备基于所述第一图像和所述第二图像中相同标识信息的角点分别对应的像素位置,确定像旋校正矩阵H;所述H用于对所述电子设备拍摄的原始图像进行图像校正处理;所述相同标识信息的角点包括所述二维码角点和所述方格间角点。
其中,方格间角点为ChAruco标定板中棋盘格中黑白格交界位置的角点,角点附近图像灰度发生巨变。二维码角点为ChAruco标定板中二维码四个角的角点。
在本申请实施例中,电子设备可以提取到方格间角点和二维码角点,提取角点的像素位置数量更多,能够保证提取到的P0和P1特征数量更多,保证计算出的H进行像旋校正的效果更好。此外,ChAruco标定板的二维码图像对于识别角点的标识信息来说是非常便捷和有效的,角点区分度高的同时,角点的识别准确度高,能够利用不同图像中,相同二维码的标识信息确定出相对对应的像素坐标,保证提取P0和P1的便捷性和准确性,进而可以提高H的校正效果,使得在拍摄过程中,像旋图像能够得到有效地校正,提高拍摄图像的效果和质量。
在一种可能的实施方式中,所述电子设备获取第二图像,具体包括:所述电子设备控制棱镜分别在K个棱镜转向角度上进行转向,并依次获取到K个第二图像,所述第二图像为从图像传感器上获取到的原始图像;所述K个棱镜转向角度与所述K个第二图像一一对应;所述电子设备提取所述第二图像中各二维码角点的像素位置和标识信息,具体包括:所述电子设备提取所述K个第二图像中各二维码角点的像素位置和标识信息;所述电子设备提取所述第二图像中各方格间角点的像素位置和标识信息,具体包括:所述电子设备提取所述K个第二图像中各方格间角点的像素位置和标识信息;所述电子设备基于所述第一图像和所述第二图像中相同标识信息的角点分别对应的像素位置,确定像旋校正矩阵H,具体包括:所述电子设备基于所述第一图像和所述K个第二图像中相同标识信息的角点分别对应的像素位置,确定K个像旋校正矩阵H;所述K个第二图像与所述K个像旋校正矩阵一一对应,所述K个棱镜转向角度与所述K个像旋校正矩阵H一一对应。这样,针对于不同的像旋图像,棱镜转向角度可能不同,通过不同棱镜转向角度分别确定像旋校正矩阵H,保证校正过程中H的准确性,从而可以保证校正之后的图像效果和质量更好。
其中,K为大于1的整数。
在一种可能的实施方式中,所述电子设备提取所述第二图像中各二维码角点的像素位置和标识信息,具体包括:所述电子设备识别所述第二图像中的各二维码,确定二维码角点的二维码ID和二维码的四角方向,确定所述二维码角点的标识信息;所述标识信息包括二维码ID和二维码的四角方向;所述电子设备确定所述二维码角点在所述第二图像中的像素位置。这样,借助于二维码的识别作用,电子设备能够快速有效地确定出第二图像的二维码角点,保证角点识别的有效性和便捷性。
其中,所述标识信息用于以二维码为参考进行角点标识。
在一种可能的实施方式中,所述电子设备提取所述第二图像中各方格间角点的像素位置和标识信息,具体包括:所述电子设备将所述第二图像进行膨胀处理,得到膨胀图像;所述电子设备对所述膨胀图像进行角点检测,得到第三角点信息,所述第三角点信息为所述膨胀图像中角点的像素位置;所述电子设备以所述第三角点信息为初始角点对所述第二图像进行亚像素检测搜索,得到G个亚像素角点位置;所述电子设备基于所述G个亚像素角点位置确定所述第二图像方格间角点的像素位置,并将所述第二图像中方格间角点的像素位置与所述二维码角点的像素位置进行距离匹配,得到所述第二图像方格间角点的标识信息。这样,电子设备可以借助膨胀处理消除二维码对方格间角点识别的干扰,并通过膨胀图像角点与方格间角点的像素位置关系借助亚像素检测搜索,确定出方格间角点,保证方格间角点确定的准确性。此外,距离匹配是巧妙地借助了方格间角点与二维码角点距离相近时,标识信息相同,确定出标识信息,方格间角点两种信息提取的准确性。
其中,所述第二图像方格间角点的标识信息为与所述二维码角点匹配的像素位置的角点对应的标识信息。
在一种可能的实施方式中,所述膨胀图像的像素大小与所述第二图像的像素大小相同;所述膨胀图像不包括二维码图案;所述膨胀图像中的黑色方格的像素大小小于所述第二图像的黑色方格的像素大小。这样,电子设备可以借助膨胀处理消除二维码对方格间角点识别的干扰,并通过膨胀图像角点与方格间角点的像素位置关系借助亚像素检测搜索,确定出方格间角点,保证方格间角点确定的准确性。此外,距离匹配是巧妙地借助了方格间角点与二维码角点距离相近时,标识信息相同,确定出标识信息,方格间角点两种信息提取的准确性。
其中,所述第二图像方格间角点的标识信息为与所述二维码角点匹配的像素位置的角点对应的标识信息。
在一种可能的实施方式中,所述电子设备以所述第三角点信息为初始角点对所述第二图像进行亚像素检测搜索,得到G个亚像素角点位置,具体包括:所述电子设备以所述第三角点信息中的像素位置为初始角点对所述第二图像进行亚像素检测搜索,得到S个亚像素角点位置;所述亚像素角点位置为角点的亚像素坐标;所述电子设备对所述S个亚像素角点位置进行聚合,得到G个亚像素角点位置;所述G为小于或等于S的整数。这样,亚像素角点数量能够确定成与第二图像中方格间角点一致,保证亚像素角点更加接近实际的方格间角点的像素位置,保证第二图像第二角点信息提取的准确性。
在一种可能的实施方式中,所述电子设备基于所述第一图像和所述第二图像中相同标识信息的角点分别对应的像素位置,确定像旋校正矩阵H,具体包括:所述电子设备将所述第一图像和所述第二图像中相同标识信息的二维码角点的进行对应,将所述第一图像和所述第二图像中相同标识信息的方格间角点的进行对应,确定所述第一图像的第一图像特征P0、所述第二图像的第二图像特征P1,以及所述第一图像特征P0和所述第二图像特征P1的对应关系;图像特征为角点的像素位置;所述电子设备基于所述第一图像特征P0、所述第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定像旋校正矩阵H。这样,由于标识信息是方便电子设备进行识别的,通过标识信息确定这一角点的像素位置,从而能够对照两个图像中的标识信息确定相同角点的像素位置,保证获取P0和PI,以及其之间对应关系的便捷性和准确性。
其中,所述第一图像特征P0和所述第二图像特征P1的对应关系为相同角点在所述第一图像和所述第二图像中像素位置的对应关系。
在一种可能的实施方式中,所述电子设备基于所述第一图像特征P0、所述第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定像旋校正矩阵H,具体包括:所述电子设备基于P0*H=P1,计算得出所述H。这样,对于像旋图像,H能够对图像进行旋转校正,保证显示的方向是正对于画面的,提高校正后图像质量。
在一种可能的实施方式中,所述电子设备基于所述第一图像特征P0、所述第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定像旋校正矩阵H,具体包括:所述电子设备基于P0*H1=P1,计算得出所述H1;所述电子设备基于旋转校正矩阵H1的实际平移量D确定平移校正矩阵T;所述D为所述第二图像在旋转校正后的中心点与所述第一图像的中心点之间在实际坐标系下的平移向量;所述电子设备基于H=T*H1,计算得出所述H。这样,在进行旋转校正的基础上,进行平移,保证旋转后的图像中心显示在画面中心,减少拍摄画面出现画面内容丢失的情况,保证校正图像的质量和效果。
在一种可能的实施方式中,所述电子设备基于旋转校正矩阵H1的中心点偏差D确定平移校正矩阵T,具体包括:所述电子设备获取所述第一标定板实际方格宽度,基于相机理论内参,计算呈像方格宽度L;所述实际方格宽度为所述第一标定板中每个方格的实际宽度,所述呈像方格宽度L为所述第二图像进行旋转校正后方格的像素宽度;所述电子设备获取所述第一标定板的理想方格宽度l,并基于所述第一图像和所述第二图像在理想坐标系下中心点坐标,计算理想平移量为d;所述d为所述第二图像在旋转校正后的中心点与所述第一图像的中心点在所述理想坐标系下的平移向量(dx,dy);所述理想方格宽度l为所述第一图像中方格的像素宽度;所述电子设备计算所述实际坐标系下的实际平移量D=L·d/l;所述D为(Δx,Δy),其中,Δx=dx·L/l;Δy=dy·L/I;所述电子设备基于所述实际平移量D确定平移校正矩阵T。这样,电子设备可以基于旋转校正后的中心点与所述第一图像的中心点平移情况,确定出平移校正矩阵T,保证T的准确,从而可以保证H的校正效果。
在一种可能的实施方式中,所述电子设备基于所述第一图像特征P0、所述第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定像旋校正矩阵H,具体包括:所述电子设备基于P0*H1=P1,计算得到所述H1;所述电子设备基于旋转校正矩阵H1的实际平移量D确定平移校正矩阵T;所述D为所述第二图像在旋转校正后的中心点与所述第一图像的中心点之间在实际坐标系下的平移向量;所述电子设备基于呈像方格宽度L和理想方格宽度l确定缩放矩阵F;所述呈像方格宽度L为所述第二图像进行旋转校正后方格的像素宽度,所述理想方格宽度l为所述第一图像中方格的像素宽度;所述电子设备基于H=F*T*H1,计算得到所述H。这样,在进行旋转校正的基础上,进行平移,在进行缩放校正,保证旋转后的图像中心显示在画面中心,且边缘画面能够完全显示,减少拍摄画面出现画面内容丢失的情况,保证校正图像的质量和效果。
第二方面,本申请提供了一种图像处理方法,所述方法应用于电子设备,所述电子设备存储有K个棱镜转向角度和K个像旋校正矩阵H,所述K个棱镜转向角度和所述K个像旋校正矩阵H之间存在第一对应关系,包括:所述电子设备获取第一棱镜转向角度,所述第一棱镜转向角度为所述电子设备拍摄到的原始图像对应的棱镜转向角度;所述电子设备基于所述第一棱镜转向角度和所述第一对应关系确定目标像旋校正矩阵;所述电子设备基于所述目标像旋校正矩阵对所述原始图像进行校正处理,得到校正图像。
其中,原始图像是电子设备可以通过ISP从图像传感器上获取到的像旋图像,即原始图像尚未经过ISP的校正、去噪、白平衡等等处理。
在本申请实施例中,电子设备可以基于当前的获取到的像旋图像以及其对应的棱镜转向角度,确定校正时使用的H,保证H的准确性以及H校正之后,校正图像的质量和效果。
在一种可能的实施方式中,所述K个像旋校正矩阵H基于第一图像和K个第二图像中相标识信息的角点分别对应的像素位置确定;所述相同标识信息的角点包括二维码角点和方格间角点;所述第一图像为包括第一标定板的图像,所述第一标定板是ChAruco标定板;所述电子设备存储有所述第一图像的第一角点信息和第二角点信息;所述第一角点信息包括二维码角点的像素位置和标识信息,所述第二角点信息包括方格间角点的像素位置和标识信息,所述像素位置用于指示角点在图像中的像素坐标,所述标识信息用于标识图像中的角点;同一角点的像素位置和标识信息存在对应关系;所述第二图像为拍摄所述第一标定板时存在像旋的图像;所述电子设备提取有所述K个第二图像中各二维码角点的像素位置和标识信息以及各方格间角点的像素位置和标识信息。
其中,方格间角点为ChAruco标定板中棋盘格中黑白格交界位置的角点,角点附近图像灰度发生巨变。二维码角点为ChAruco标定板中二维码四个角的角点。
在本申请实施例中,电子设备可以提取到方格间角点和二维码角点,提取角点的像素位置数量更多,能够保证提取到的P0和P1特征数量更多,保证计算出的H进行像旋校正的效果更好。此外,ChAruco标定板的二维码图像对于识别角点的标识信息来说是非常便捷和有效的,角点区分度高的同时,角点的识别准确度高,能够利用不同图像中,相同二维码的标识信息确定出相对对应的像素坐标,保证提取P0和P1的便捷性和准确性,进而可以提高H的校正效果,使得在拍摄过程中,像旋图像能够得到有效地校正,提高拍摄图像的效果和质量。
在一种可能的实施方式中,所述K个第二图像中各二维码角点的标识信息是识别所述K个第二图像中的各二维码,确定二维码角点的二维码ID和二维码的四角方向得到的,所述标识信息包括二维码ID和二维码的四角方向;所述K个第二图像中各二维码角点的像素位置是所述K个第二图像中各所述二维码角点在所述第二图像中的像素位置。这样,借助于二维码的识别作用,电子设备能够快速有效地确定出第二图像的二维码角点,保证角点识别的有效性和便捷性。
其中,所述标识信息用于以二维码为参考进行角点标识。
在一种可能的实施方式中,所述K个第二图像方格间角点的标识信息是基于G个亚像素角点位置确定所述第二图像方格间角点的像素位置,并将所述第二图像中方格间角点的像素位置与所述二维码角点的像素位置进行距离匹配得到的;所述G个亚像素角点位置以第三角点信息为初始角点对所述第二图像进行亚像素检测搜索得到;所述第三角点信息为所述电子设备对K个膨胀图像进行角点检测得到的,所述第三角点信息为所述K个膨胀图像中角点的像素位置;所述K个膨胀图像是分别将所述K个第二图像进行膨胀处理得到的。这样,电子设备可以借助膨胀处理消除二维码对方格间角点识别的干扰,并通过膨胀图像角点与方格间角点的像素位置关系借助亚像素检测搜索,确定出方格间角点,保证方格间角点确定的准确性。此外,距离匹配是巧妙地借助了方格间角点与二维码角点距离相近时,标识信息相同,确定出标识信息,方格间角点两种信息提取的准确性。
其中,所述第二图像方格间角点的标识信息为与所述二维码角点匹配的像素位置的角点对应的标识信息。
在一种可能的实施方式中,所述膨胀图像的像素大小与所述第二图像的像素大小相同;所述膨胀图像不包括二维码图案;所述膨胀图像中的黑色方格的像素大小小于所述第二图像的黑色方格的像素大小。这样,电子设备可以借助膨胀处理消除二维码对方格间角点识别的干扰,并通过膨胀图像角点与方格间角点的像素位置关系借助亚像素检测搜索,确定出方格间角点,保证方格间角点确定的准确性。此外,距离匹配是巧妙地借助了方格间角点与二维码角点距离相近时,标识信息相同,确定出标识信息,方格间角点两种信息提取的准确性。
其中,所述第二图像方格间角点的标识信息为与所述二维码角点匹配的像素位置的角点对应的标识信息。
在一种可能的实施方式中,所述G个亚像素角点位置是对S个亚像素角点位置进行聚合得到的,所述G为小于或等于S的整数;所述亚像素角点位置为角点的亚像素坐标;所述S个亚像素角点位置是以所述第三角点信息中的像素位置为初始角点对所述第二图像进行亚像素检测搜索得到的。这样,亚像素角点数量能够确定成与第二图像中方格间角点一致,保证亚像素角点更加接近实际的方格间角点的像素位置,保证第二图像第二角点信息提取的准确性。
在一种可能的实施方式中,所述像旋校正矩阵H基于第一图像特征P0、第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定;所述第一图像的第一图像特征P0、所述第二图像的第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系是将所述第一图像和所述第二图像中相同标识信息的二维码角点的进行对应,将所述第一图像和所述第二图像中相同标识信息的方格间角点的进行对应确定的;图像特征为角点的像素位置。这样,由于标识信息是方便电子设备进行识别的,通过标识信息确定这一角点的像素位置,从而能够对照两个图像中的标识信息确定相同角点的像素位置,保证获取P0和PI,以及其之间对应关系的便捷性和准确性。
其中,所述第一图像特征P0和所述第二图像特征P1的对应关系为相同角点在所述第一图像和所述第二图像中像素位置的对应关系。
在一种可能的实施方式中,所述H基于P0*H=P1计算得出。这样,对于像旋图像,H能够对图像进行旋转校正,保证显示的方向是正对于画面的,提高校正后图像质量。
在一种可能的实施方式中,所述H基于H=T*H1计算得出;所述平移校正矩阵T是所述电子设备基于所述旋转校正矩阵H1的实际平移量D确定的,所述D为所述第二图像在旋转校正后的中心点与所述第一图像的中心点之间在实际坐标系下的平移向量;所述H1基于P0*H1=P1计算得出。这样,在进行旋转校正的基础上,进行平移,保证旋转后的图像中心显示在画面中心,减少拍摄画面出现画面内容丢失的情况,保证校正图像的质量和效果。
在一种可能的实施方式中,所述平移校正矩阵T基于所述实际平移量D确定;所述实际平移量D基于理想平移量为d、理想方格宽度l和呈像方格宽度L计算得到,所述D为(Δx,Δy),其中,Δx=dx·L/l;Δy=dy·L/I;所述理想平移量d是获取所述第一标定板的理想方格宽度l,并基于所述第一图像和所述第二图像在理想坐标系下中心点坐标计算得到的;所述d为所述第二图像在旋转校正后的中心点与所述第一图像的中心点在所述理想坐标系下的平移向量(dx,dy);所述理想方格宽度l为所述第一图像中方格的像素宽度;所述呈像方格宽度L获取所述第一标定板实际方格宽度,基于相机理论内参计算得到;所述实际方格宽度为所述第一标定板中每个方格的实际宽度,所述呈像方格宽度L为所述第二图像进行旋转校正后方格的像素宽度。这样,电子设备可以基于旋转校正后的中心点与所述第一图像的中心点平移情况,确定出平移校正矩阵T,保证T的准确,从而可以保证H的校正效果。
在一种可能的实施方式中,所述H基于H=F*T*H1计算得到;所述缩放矩阵F基于呈像方格宽度L和理想方格宽度l确定;所述呈像方格宽度L为所述第二图像进行旋转校正后方格的像素宽度,所述理想方格宽度l为所述第一图像中方格的像素宽度;所述H1基于P0*H1=P1计算得到;所述平移校正矩阵T是基于所述旋转校正矩阵H1的实际平移量D确定的;所述D为所述第二图像在旋转校正后的中心点与所述第一图像的中心点之间在实际坐标系下的平移向量。这样,在进行旋转校正的基础上,进行平移,在进行缩放校正,保证旋转后的图像中心显示在画面中心,且边缘画面能够完全显示,减少拍摄画面出现画面内容丢失的情况,保证校正图像的质量和效果。
第三方面,本申请提供了一种电子设备,包括:一个或多个处理器和一个或多个存储器,所述一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述电子设备存储有第一图像的第一角点信息和第二角点信息;所述第一图像为包括第一标定板的图像,所述第一标定板是ChAruco标定板;所述第一角点信息包括二维码角点的像素位置和标识信息,所述第二角点信息包括方格间角点的像素位置和标识信息,所述像素位置用于指示角点在图像中的像素坐标,所述标识信息用于标识图像中的角点;同一角点的像素位置和标识信息存在对应关系,使得所述电子设备执行:
获取第二图像,所述第二图像为所述电子设备拍摄所述第一标定板时存在像旋的图像;提取所述第二图像中各二维码角点的像素位置和标识信息;提取所述第二图像中各方格间角点的像素位置和标识信息;基于所述第一图像和所述第二图像中相同标识信息的角点分别对应的像素位置,确定像旋校正矩阵H;所述H用于对所述电子设备拍摄的原始图像进行图像校正处理;所述相同标识信息的角点包括所述二维码角点和所述方格间角点。
在一种可能的实施方式中,所述电子设备获取第二图像,具体执行:控制棱镜分别在K个棱镜转向角度上进行转向,并依次获取到K个第二图像,所述第二图像为从图像传感器上获取到的原始图像;所述K个棱镜转向角度与所述K个第二图像一一对应;所述电子设备提取所述第二图像中各二维码角点的像素位置和标识信息,具体执行:提取所述K个第二图像中各二维码角点的像素位置和标识信息;所述电子设备提取所述第二图像中各方格间角点的像素位置和标识信息,具体执行:提取所述K个第二图像中各方格间角点的像素位置和标识信息;所述电子设备基于所述第一图像和所述第二图像中相同标识信息的角点分别对应的像素位置,确定像旋校正矩阵H,具体执行:基于所述第一图像和所述K个第二图像中相同标识信息的角点分别对应的像素位置,确定K个像旋校正矩阵H;所述K个第二图像与所述K个像旋校正矩阵一一对应,所述K个棱镜转向角度与所述K个像旋校正矩阵H一一对应。
在一种可能的实施方式中,所述电子设备提取所述第二图像中各二维码角点的像素位置和标识信息,具体执行:识别所述第二图像中的各二维码,确定二维码角点的二维码ID和二维码的四角方向,确定所述二维码角点的标识信息;所述标识信息包括二维码ID和二维码的四角方向;确定所述二维码角点在所述第二图像中的像素位置。
在一种可能的实施方式中,所述电子设备提取所述第二图像中各方格间角点的像素位置和标识信息,具体执行:将所述第二图像进行膨胀处理,得到膨胀图像;对所述膨胀图像进行角点检测,得到第三角点信息,所述第三角点信息为所述膨胀图像中角点的像素位置;以所述第三角点信息为初始角点对所述第二图像进行亚像素检测搜索,得到G个亚像素角点位置;基于所述G个亚像素角点位置确定所述第二图像方格间角点的像素位置,并将所述第二图像中方格间角点的像素位置与所述二维码角点的像素位置进行距离匹配,得到所述第二图像方格间角点的标识信息。
在一种可能的实施方式中,所述膨胀图像的像素大小与所述第二图像的像素大小相同;所述膨胀图像不包括二维码图案;所述膨胀图像中的黑色方格的像素大小小于所述第二图像的黑色方格的像素大小。
在一种可能的实施方式中,所述电子设备以所述第三角点信息为初始角点对所述第二图像进行亚像素检测搜索,得到G个亚像素角点位置,具体执行:以所述第三角点信息中的像素位置为初始角点对所述第二图像进行亚像素检测搜索,得到S个亚像素角点位置;所述亚像素角点位置为角点的亚像素坐标;对所述S个亚像素角点位置进行聚合,得到G个亚像素角点位置;所述G为小于或等于S的整数。
在一种可能的实施方式中,所述电子设备基于所述第一图像和所述第二图像中相同标识信息的角点分别对应的像素位置,确定像旋校正矩阵H,具体执行:将所述第一图像和所述第二图像中相同标识信息的二维码角点的进行对应,将所述第一图像和所述第二图像中相同标识信息的方格间角点的进行对应,确定所述第一图像的第一图像特征P0、所述第二图像的第二图像特征P1,以及所述第一图像特征P0和所述第二图像特征P1的对应关系;图像特征为角点的像素位置;基于所述第一图像特征P0、所述第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定像旋校正矩阵H。
在一种可能的实施方式中,所述电子设备基于所述第一图像特征P0、所述第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定像旋校正矩阵H,具体执行:基于P0*H=P1,计算得出所述H。
在一种可能的实施方式中,所述电子设备基于所述第一图像特征P0、所述第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定像旋校正矩阵H,具体执行:基于P0*H1=P1,计算得出所述H1;基于旋转校正矩阵H1的实际平移量D确定平移校正矩阵T;所述D为所述第二图像在旋转校正后的中心点与所述第一图像的中心点之间在实际坐标系下的平移向量;基于H=T*H1,计算得出所述H。
在一种可能的实施方式中,所述电子设备基于旋转校正矩阵H1的中心点偏差D确定平移校正矩阵T,具体执行:获取所述第一标定板实际方格宽度,基于相机理论内参,计算呈像方格宽度L;所述实际方格宽度为所述第一标定板中每个方格的实际宽度,所述呈像方格宽度L为所述第二图像进行旋转校正后方格的像素宽度;获取所述第一标定板的理想方格宽度l,并基于所述第一图像和所述第二图像在理想坐标系下中心点坐标,计算理想平移量为d;所述d为所述第二图像在旋转校正后的中心点与所述第一图像的中心点在所述理想坐标系下的平移向量(dx,dy);所述理想方格宽度l为所述第一图像中方格的像素宽度;计算所述实际坐标系下的实际平移量D=L·d/l;所述D为(Δx,Δy),其中,Δx=dx·L/l;Δy=dy·L/I;基于所述实际平移量D确定平移校正矩阵T。
在一种可能的实施方式中,所述电子设备基于所述第一图像特征P0、所述第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定像旋校正矩阵H,具体执行:基于P0*H1=P1,计算得到所述H1;基于旋转校正矩阵H1的实际平移量D确定平移校正矩阵T;所述D为所述第二图像在旋转校正后的中心点与所述第一图像的中心点之间在实际坐标系下的平移向量;基于呈像方格宽度L和理想方格宽度l确定缩放矩阵F;所述呈像方格宽度L为所述第二图像进行旋转校正后方格的像素宽度,所述理想方格宽度l为所述第一图像中方格的像素宽度;基于H=F*T*H1,计算得到所述H。
第三方面的每个实施方式具体描述和有益效果可以参考第一方面的对应描述,不赘述。
第四方面,本申请提供了一种电子设备,包括:一个或多个处理器和一个或多个存储器,所述一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行上述第二方面任一项可能的实现方式中的图像处理方法。
第五方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得所述装置执行上述第一方面任一项可能的实现方式中的图像处理方法。
第六方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得所述装置执行上述第二方面任一项可能的实现方式中的图像处理方法。
第七方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述第一方面任一项可能的实现方式中的图像处理方法。
第八方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述第二方面任一项可能的实现方式中的图像处理方法。
附图说明
下面对本申请实施例用到的附图进行介绍。
图1A~图1D是本申请实施例提供的一组不同类型标定板的参考示意图;
图2是本申请实施例提供的一种亚像素角点检测的方法示意图;
图3是本申请实施例提供的一种摄像头模组的结构示意图;
图4A~图4D是本申请实施例提供的一组存在像旋问题的示意图像;
图5是本申请实施例提供的一种图像像旋校正的摄像模组结构示意图;
图6是本申请实施例提供的一种像旋校正的图像处理方法流程示意图;
图7A~图7E是本申请实施例提供的一组像旋校正过程的对比图;
图8是本申请实施例提供的一种像旋校正矩阵H2确定的方法流程示意图;
图9是本申请实施例提供的一种平移校正矩阵T确定的方法流程图;
图10是本申请实施例提供的一种像旋标定的图像处理方法流程示意图;
图11是本申请实施例提供的一种相机标定装置示意图;
图12A和图12B是本申请实施例提供的一组二维码角点的图像示意图;
图13是本申请实施例提供的一种第二图像的第二角点信息提取的方法流程示意图;
图14A和图14B是本申请实施例提供的一组图像膨胀前后方格间角点位置的对比图;
图15A和图15B是本申请实施例提供的一组膨胀图像角点和第二图像角点的对比示意图;
图16是本申请实施例提供的一种电子设备100的硬件结构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请实施例的限制。如在本申请实施例的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请实施例中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
首先,结合附图对本申请中所涉及的部分用语和相关技术进行解释说明,以便于本领域技术人员理解。
(1)像素和亚像素
像素(pixel)是指在由一个数字序列表示的图像中的一个最小单位,是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。像素的主要职责是表示或显示颜色。像素值可以通过多个灰度等级表示,例如,像素值在0~255之间一共256个灰度等级,可以用来代表不同等级的亮度。对于每个像素而言,可以在一种图像中具有其二维坐标,用来表示像素的位置。
在相机成像的过程中,获得的图像数据是将图像进行了离散化的处理,由于感光元件本身的能力限制,到成像面上每个像素只代表附近的颜色。例如,两个感光元件上的像素之间有4.5um的间距,宏观上它们是连在一起的,微观上它们之间还有无数微小的东西存在,这些存在于两个实际物理像素之间的像素,就被称为“亚像素”。亚像素实际上应该是存在的,只是缺少更小的传感器将其检测出来而已,可以在软件上将其近似计算出来,因此,亚像素的位置表示一般不是整数。
(2)相机标定板:
在拍摄系统中,由于电子设备的摄像头组件得到的图像会产生一定的畸变,即实物和拍摄结果之间存在一定的差异,导致拍摄得到的像素值和真实世界坐标系的映射关系会存在一定的映射关系。由于相机每个镜头的畸变程度各不相同,通过相机标定可以获取校正镜头畸变的单应性矩阵,单应性矩阵能够对畸变图像进行校正。在大多数条件下,单应性矩阵需要通过实验一计算才能得到,这个求解单应性矩阵的过程可以理解为相机标定。
相机标定的过程,可以需要借助标定板,即标定板能够方便地提取畸变前后的图像相同特征点的像素位置,以快速准确地提取图像畸变前后对应的特征点。目前,标定板的类型是多种多样的,下面对几种常用标定板进行介绍:
图1A~图1D是本申请实施例公开的一组不同类型标定板的参考示意图。下面结合上述图像,说明以下四种标定板:圆形标定板、数字标定板、图形标定板和ChAruco标定板。
第一类:圆形标定板:
如图1A所示,圆形标定板为在白色背景上按照横竖向的阵列均匀分布着的黑色圆形(和/或者环形)的标定板。在图像处理术语中,圆可以被检测为图像中的“斑点”。在这些二元斑点区域上应用一些简单的条件,如面积、圆度、凸度等。其中,圆形标定板的优点有:检测简单、绘制方便、标定算法成熟、可用特征点数量多等。但对应存在一些缺点,比如:区分性差,标定过程中无法根据扫描成像识别出特征点在完整标定板中的位置。
第二类:数字标定板:
如图1B所示,数字标定板是棋盘格标定板与数字结合所形成的标定板。其中,棋盘格标定板是呈棋盘状,即同等大小的黑白格交叉分布的标定板。在棋盘格标定板中,将白色格子按照顺序写入数字,即形成数字标定板。数字标定板的优点有,具有很高的区分性,绘制方便。数字标定板也存在缺点,例如:1.检测难度大,难以做到一次性将整个视场角FOV范围内的数字同时检测;2.实际可应用的特征点数量也比较少。
第三类:图形标定板:
如图1C所示,图形标定板为各同等大小的矩形方格中分布有不同形状图形的标定板。图形标定板的优点是较高的区分性。缺点是:1.标定板的绘制比较难,需要找到不同形状的图形进行区分;2.检测难度大,部分复杂形状难以通过常规手段进行检测。
第四类:ChAruco标定板:
如图1D所示,ChAruco标定板为在棋盘格标定板的白色方格内填充Aruco二维码符号的标定板。所谓ChAruco,即是指Chess+Aruco,Aruco二维码不同于生活中常见的二维码,它可以是由简单图案构成,且易于识别。例如,Aruco二维码为8*8左右的像素构成的简单图案,具有设计简单,识别快速的优点。例如,在OpenCV4.2以上的跨平台计算机视觉和机器学习软件库中,就带有ChAruco的Chart(标定板)设计接口和检测接口,使用方便,准确率高。ChAruco标定板的优点有:具有较高的区分性;绘制方便;检测简单,有开源算法可以帮助实现。ChAruco标定板的缺点:实际可应用的特征点数量比较少。
本申请实施例,使用ChAruco标定板进行标定。首先,需要确定棋盘格角点。例如,将棋盘格二值化并找到四边形(黑色的棋盘区域)来找到棋盘角点的候选。在标定的时候,标定算法要求提供的(ChAruco标定板)的参数。ChAruco标定板的参数可以包括棋盘格的参数以及二维码类型。其中棋盘格的参数可以包括棋盘格的宽度与高度和每个棋盘格的大小。例如,棋盘格的宽度与高度为80*60表示一共有80列60行的格子,棋盘格的大小为10*10,单位可以为像素pixel。二维码的类型可以包括二维码的大小和对应的身份标识ID。例如,例如,每个二维码的大小为8*8(单位可以为像素pixel)(棋盘格的大小大于二维码的大小),二维码ID能够唯一标识这一个二维码。例如,电子设备可以按照二维码从左到右,从上小的顺序对每一个二维码生成一个ID。如图1D所示(16*12的棋盘格,一共96个二维码),对于最左上角的二维码ID为0,往右数一个二维码ID为1;……;第二行最右侧的二维码ID为7;……;第12行(最下面一行)最右边的二维码ID为95。本申请实施例中二维码ID不仅仅可以通过数字表示,还可以通过其他方式表示(例如,字母,符号及其组合等),标识方式不限定。
相机标定能够确定出相机的相关参数,例如,单应性矩阵。单应性矩阵能够用于相机拍摄图像的校正。单应性矩阵能够表述两个平面之间的映射关系。具体讲,就是所处共同平面上的一些点,在两张图像之间的变换关系。举例说明:空间中一个长方形盒子,盒子正面中心点为O,用相机在不同的角度拍摄两张照片得到图像1和图像2。两张图像中均有O点,图像1中O点的像素坐标为O1(m1,n1);图像2中O点的像素坐标为O2(m2,n2)。这两坐标之间的和关系就是单应性变化。O2像素坐标的特征点为单应性矩阵与O1像素坐标的特征点的卷积结果。在空间上的任一点,都体现在这两张图像中,满足上述的变化,这便是单应性矩阵。
(3)亚像素角点检测
在相机标定的时候,可以使用到亚像素角点检测,来搜索角点位置,此时,角点位置不是简单的像素坐标值,也就是说需要确定出角点位置的实数坐标而不是整数坐标位置。
角点位置特征为:角点与边缘点的连线和边缘点的梯度方向垂直。借助于上述特征,电子设备能够进行亚像素角点检测。
图2是本申请实施例示例性的提出的一种亚像素角点检测的方法示意图。如图2所示,以棋盘格标定板为例,假设一个起始角点q在实际的亚像素角点附近。p点在q点附近的领域中(图2中q点的领域为以q点为几何中心的方形区域)。如图2中情况(a)可见,若p点在均匀区域内部(处于黑格或者白格的中间位置),则p点的梯度为0。如图2中情况(b)可见,所p点在边缘上(处于黑格和白格的之间的分界线上),则p点的梯度方向垂直边缘方向。如果向量q-p方向与边缘方向一致,那么q-p向量与p点的梯度向量的点积结果为0。
在初始角点附近可以收集很多组点的梯度以及相关向量q-p,此时的q就是需要求取的更加精确的角点位置。每一组向量点积设置为0,基于这种思想,将点积为0的等式组合起来形成系统方程,系统方程的解就是更加精确的亚像素角点位置,将新的q点作为区域中心,可以继续使用这个方式进行迭代,获得很高的精度亚像素角点。迭代过程中的终止条件可以是迭代次数达到某一预设值,也可以是迭代得到的亚像素角点精度达到预设值,对终止条件不具体限定。
(4)摄像头模组介绍:
图3是本申请实施例公开的一种摄像头模组的结构示意图。如图3所示,电子设备的摄像头模组可以包括:镜头(lens)、图像传感器、马达、图像信号处理器(Image SignalProcessor,ISP)。
其中。镜头lens是一个能够接收光信号并汇聚光信号于感光器件的装置。镜头可以包括多个透镜,用来采集待拍摄物体反射的光信号。本申请实施例中,镜头可以包括一个或者多个反光棱镜(棱镜)和透镜组。棱镜能够改变光路,马达能够调整推动棱镜调整角度,从而适应当前的相机抖动。上述棱镜的位置和数量仅仅是示例性的描述,本申请对此不限定。透镜组能够对光路进行透射,透射前后的光路基本是平行的。
在本申请实施例中,为了光学防抖,控制棱镜转向的马达,为了控制抖动问题,电子设备可以通过马达控制棱镜进行转向,保证镜头采集到的光线尽可能地在图像传感器上进行呈像。
图像传感器作为感光芯片,能够将镜头采集的光信号转化成电信号,生成待拍摄物体的原始图像,图像传感器可以包括互补金属氧化物半导体(complementary metaloxide semiconductor,CMOS)或电荷耦合器件(charge coupled device,CCD)两种传感器类型。图像传感器输出的原始信号处理成通用的成像数据(RGB)。图像传感器或得到原始图像中每个pixel都有RGB三通道的数据,RAW格式每个pixel只有1个像素信息。
图像信号处理(image signal processing,ISP)模块主要作用是对前端图像传感器输出的信号做后期处理,主要功能有线性纠正、噪声去除、坏点去除、内插、白平衡、自动曝光控制等,依赖于ISP才能在不同的光学条件下都能较好的还原现场细节。在本申请实施例中,ISP还可以用于对原始图像进行像旋校正以及平移校正等处理。
在摄像头模组工作过程中,物体通过镜头(lens)聚集的光,通过图像传感器(CMOS或CCD)集成电路,把光信号转换成电信号,再经过内部ISP转换成数字图像信号输出到数字信号处理器(DSP)加工处理,转换成标准的GRB、YUV等格式图像信号。
在摄像机中,相机外参可以包括旋转矩阵R和平移向量t。相机外参能够世界坐标系转化到相机坐标系。
其中,在棱镜转向的过程中,镜头的视角FOV会发生变化,镜头所能覆盖的范围会发生变化,(物体超过这个角度就不会被收在镜头里),一个摄像机镜头能涵盖多大范围的景物,通常以角度来表示,这个角度就叫镜头的视角FOV。被拍摄对象透过镜头在焦点平面上结成可见影像所包括的面积,是镜头的视场角。
在拍摄中,被拍摄物体与镜头离得近,就需要短焦距的镜头成像;被拍摄物体与镜头离得远,就需要长焦距的镜头成像,才能使得同样一个物体拍出同样的大小。然而,由于手机厚度的限制,即便摄像头在一定程度上凸起,也无法满足焦距更长的拍摄需求。因此,通过潜望式镜头可以解决长焦距的拍摄需要。(本申请实施例的镜头为潜望式镜头)潜望式镜头中,可以包括至少一个反光棱镜(棱镜),棱镜对光路折射,增加光路折射率,从而可以在同等体积在,实现更长焦距的拍摄效果。
在潜望式镜头中,为了解决拍摄中的抖动问题,需要通过马达控制棱镜进行转向,棱镜转向的过程中,光线的入射摄像头到图像传感器上的呈像角度是发生转动的,即由于棱镜转向的过程中,由于棱镜会在绕轴线旋转,被拍摄物体在图像传感器上的呈像会出现绕光轴旋转抖动的现象,所拍摄的图像会产生像旋问题,即图像发生一定程度上的畸变。
示例性地,图4A~图4D是本申请实施例公开的一组存在像旋问题的示意图像。如图4A所示,在棱镜转向的过程中,电子设备拍摄的图像存在整体模糊的问题,且图像发生了畸变,图像不是横平竖直的,而是有一定角度的偏移图像质量差;如图4B所示,图像的右边部分的呈像效果较差。因此,可以看出,棱镜转向造成的像旋会造成图像畸变,拍摄效果差。
进一步地,针对上述问题,若通过圆形标定板(如图1A所示)进行标定,是无法准确找到可移动摄像头的FOV位置;使用数字标定板(如图1B所示),检测难度很大,且准确度不高,标定的效果较差。
此外,若使用理想标定板进行标定,理想标定板是理论绘制的,和图像传感器实际扫描的成像坐标系不匹配。在棱镜发生转向的情况下,电子设备所扫描到的图像的成像坐标系随之也会发生变化,导致理想坐标系和实际坐标系存在不匹配的问题。所以在理想标定板中计算得到的图像平移量(相机外参的平移向量t)无法准确满足实际上的扫描坐标系中的平移量,导致拍摄画面与显示画面不重合的问题。
如图4C和图4D所示,在理想摄像机中,从image1平移到image3,形成平移量1;然而,在相机实际的扫描位置是从image2平移到image4,形成平移量2。对比理想扫描和实际扫描,其两平移量是存在差异的,因此,同样会造成相机扫描的图像结果存在偏移,无法显示图像的全部。
本申请实施例针对于上述的问题提出一种像旋标定方法,这一像旋标定方法能够计算得到像旋校正矩阵来解决由于棱镜的调整出现的像旋问题。在像旋标定阶段,电子设备可以先确定预设第一标定板,第一标定板是ChAruco标定板。电子设备可以预先约定对图像特征点的提取位置为第一角点信息和第二角点信息。其中第一角点信息是二维码的四个角点,第二角点信息是方格间的角点。电子设备可以基于第一标定板便可以确定理想图像中第一角点信息和第二角点信息对应的第一图像特征。之后,电子设备通过拍摄第一标定板的物理图像,可以获取像旋图像,送入本申请的算法中,提取第二图像特征。电子设备可以通过第一图像特征和第二图像特征确定像旋校正矩阵H。其中,像旋校正矩阵H可以是旋转校正矩阵H1;像旋校正矩阵H还可以是旋转校正矩阵H1与平移校正矩阵T的第一叠加矩阵H2;像旋校正矩阵H还可以是第一叠加矩阵H2与缩放矩阵F的第二叠加矩阵H3。即,电子设备确定旋转校正矩阵H1之后,可以根据矫正前后的实际平移量D,计算平移校正矩阵T的,并将H1和T两个矩阵叠加就得到了H2,并将F和H2叠加,得到H3。至此,像旋标定阶段完成,在拍摄阶段,电子设备可以基于拍摄的原始图像和像旋校正矩阵H确定校正之后的图像。
本申请实施例中,电子设备可以提前对摄像头进行像旋问题标定,得到像旋校正矩阵,保证在相机拍摄阶段,像旋校正矩阵更够将发生畸变的图像在呈像上进行校正,降低拍摄中由于棱镜调整的导致的像旋问题,提高图像拍摄效果。
首先,说明在拍摄阶段,电子设备将拍摄得到的原始图像进行像旋校正的过程。
图5是本申请实施例公开的一种图像像旋校正的摄像头模组结构示意图。如图5所示,摄像模组可以包括镜头510、图像传感器520、ISP 530和显示器540。其中,镜头510可以包括棱镜511。摄像头模组的各个部分可以参考图2的相关描述,不赘述。
电子设备基于像旋校正矩阵H对原始图像进行校正处理,得到校正图像。其中,原始图像是ISP获取到的图像传感器上获取到的图像。
图6是本申请实施例提出的一种像旋校正的图像处理方法流程示意图。如图6所示,图像进行像旋校正的图像处理方法可以包括但不限于以下步骤:
S601:电子设备基于像旋校正矩阵H对原始图像进行旋转校正处理,得到校正图像。
其中,电子设备可以提前存储有像旋校正矩阵H。原始图像为电子设备的图像sensor获取到的图像矩阵。
具体地,电子设备可以将原始图像与H进行卷积,得到校正图像。其中,H可以为3*3的矩阵。像旋校正矩阵H是电子设备预设的(提前存储的)。原始图像是电子设备可以通过ISP从图像传感器上获取到的像旋图像,即原始图像尚未经过ISP的校正、去噪、白平衡等等处理。
可选地,电子设备可以预先存储有K个像旋校正矩阵H。在进行像旋校正处理之前,电子设备可以从K个校正矩阵中确定出其中一个目标像旋校正矩阵。电子设备存在K种棱镜转向角度,针对于每一种棱镜转向角度,电子设备均可以对应存储有一种校正矩阵,即K种棱镜转向角度和K个校正矩阵存在第一对应关系。第一对应关系为K个棱镜转向角度和K个像旋校正矩阵之间的对应关系。具体地,电子设备获取第一棱镜转向角度,第一棱镜转向角度为电子设备拍摄到的原始图像对应的棱镜转向角度;电子设备基于第一棱镜转向角度确定第一对应关系中对应的目标像旋校正矩阵;所述电子设备基于所述目标像旋校正矩阵对所述原始图像进行校正处理,得到校正图像。
示例性地,电子设备针对不同的棱镜转向角度有不同的表达方式,表1是本申请实施例公开的一种棱镜转向角度的示意表。
表1
(-2,-2) | (-1,-2) | (0,-2) | (1,-2) | (2,-2) |
(-2,-1) | (-1,-1) | (0,-1) | (1,-1) | (2,-1) |
(-2,0) | (-1,0) | (0,0) | (1,0) | (2,0) |
(-2,1) | (-1,1) | (0,1) | (1,1) | (2,1) |
(-2,2) | (-1,2) | (0,2) | (1,2) | (2,2) |
如表1所示,棱镜转向角度一共有25种可能。其中,坐标(c,v)能够唯一表示和确定其转向角度。c可以表示沿着第一轴线上按照特定方向进行|c|值大小的转动;v可以表示沿着第二轴线上按照特定方向进行|v|值大小的转动。其中转向的具体方向可以与c和v的正负有关,此处不具体限定。其中c和v的范围均为-2到2的整数。数值的大小表示转向角度的等级或者范围,不表示具体度数。数值越大,表示转动角度越大。
需要说明的是,上述的棱镜转向角度的表示方法可以是上述的坐标方法,也可以是其它方法,比如角度区分,马达Code去区分等等,本申请对棱镜转向角度的表示方式不限定。
上述的实施方式中,电子设备可以基于当前的获取到的像旋图像以及其对应的棱镜转向角度,确定校正时使用的H,保证H的准确性以及H校正之后,校正图像的质量和效果。
一种可能的实施方式中,像旋校正矩阵H可以为图10的方法中求取出的旋转校正矩阵H1。
上述的过程中,旋转校正矩阵H1也可以与棱镜转向角度存在对应关系,电子设备可以将H1当作H直接进行计算即可,不赘述。
图7A~图7E是本申请实施例示例性地示出的一组像旋校正过程的对比图。
如图7A是理想图像,即电子设备希望拍摄得到的目标图像,即没有发生像旋问题时,电子设备通过摄像头拍摄到的图像,其中,理想图像为ChAruco标定板的方格呈现横平竖直的分布,二维码分布位置也是十分均匀。图7B是发生像旋之后的摄像头采集到的原始图像。原始图像相对理想图像来说存在一定角度的倾斜,且方格的大小也不统一,即图像发生了一定程度的畸变。图7C是本申请实施例进行像旋校正之后的图像,图7C中的旋转校正后的图像,其图像的方格线条与呈现横屏竖直的结果,说明将图像的倾斜和畸变成功校正回来。这样,对于像旋图像,H能够对图像进行旋转校正,保证显示的方向是正对于画面的,提高校正后图像质量。
对比上述3张图像,校正前后的图像,像旋问题成功得到解决,图像的呈像质量更好。但是由于旋转导致中心点偏移,所以镜头的FOV与图像FOV存在不一致的问题,导致校正后的图像的边缘部分是存在部分信息缺失。即呈像位置与显示位置存在差异。针对上述的问题,本申请提出另一种像旋校正矩阵H。
另一种可能的实施方式中,像旋校正矩阵H可以为旋转校正矩阵H1与平移校正矩阵T的第一叠加矩阵H2。
此时,电子设备需要在确定旋转校正矩阵H1之后,可以计算平移校正矩阵T,并基于旋转校正矩阵H1和平移校正矩阵T确定像旋校正矩阵H。
图8是本申请实施例公开的一种像旋校正矩阵H2确定的方法流程示意图。如图8所示,确定像旋校正矩阵H2的方法可以包括但不限于以下步骤:
S801:电子设备计算校正后的实际平移量D,并基于实际平移量D确定平移校正矩阵T。
电子设备基于在理想坐标系中确定理想图像的中心点和像旋图像进行旋转校正后的中心点,确定理想图像和旋转校正后图像的理想偏移量。基于理想偏移量,以及方格的实际呈像宽度和理想呈像宽度确定旋转校正后的图像与理想图像之间的实际平移量D。
上述过程中,电子设备可以存储有(预置有)第一标定板的理想图像(图10中的第一图像)和像旋图像(图10中的第二图像)。
图9是本申请实施例公开的一种平移校正矩阵T确定的方法流程图。如图9所示,该平移校正矩阵T确定的方法可以包括但不限于以下步骤:
S8011:电子设备获取第一标定板实际方格宽度,基于相机理论内参,计算呈像方格宽度L。
其中,实际方格宽度为第一标定板中棋盘格每个格子的实际宽度。实际方格宽度的单位可以为长度单位,例如,毫米。每个电子设备均预置有相机理论内参,电子设备可以基于实际方格宽度和相机理论内参计算出呈像方格宽度L。呈像方格宽度L为第二图像进行旋转校正后方格的像素宽度,单位可以为pixel。
S8012:电子设备获取第一标定板的理想方格宽度l,并基于第一图像和第二图像在理想中心坐标下偏差量,计算理想平移量为d。
电子设备可以提前存储有理想方格宽度l,理想方格宽度l的单位为pixel。所述理想方格宽度l为第一图像中方格的像素宽度。其中,第一图像是理想图像,第二图像是发生像旋的图像,具体可以参考图10中的相关描述,不赘述。第一图像和第二图像的相关信息电子设备均提前存储。
电子设备可以获取到第一图像的中心点在理想坐标系中的像素坐标O3(x3,y3);在确定旋转校正矩阵H1的情况下,电子设备可以基于第二图像中心点的像素坐标O4'(x4',y4')和旋转校正矩阵H1确定经过旋转校正之后的第二图像的校正中心点的像素坐标O4(x4,y4)。O4(x4,y4)可以为H1与第二图像中心点的像素坐标O4'(x4',y4')的卷积结果。其中,O3(x3,y3)和O4'(x4',y4')可以是电子设备存储的第一图像和第二图像的信息内容。
在电子设备确定第一图像的中心点像素坐标O3(x3,y3)和第二图像的旋转校正后的中心点像素坐标O4(x4,y4)的情况下,可以确定中心点在旋转校正前后的理想平移量d(dx,dy)。其中,dx=x4-x3;dy=y4-y3。即可以理解为,d为第二图像在旋转校正后的中心点与第一图像的中心点在理想坐标系下的平移向量(dx,dy)。
其中,S8011和S8012的执行顺序不限定。
S8013:电子设备计算像素坐标系下的实际平移量D=L·d/l。
在确定L、d和l的情况下,电子设备可以确定出实际平移量D=L·d/l。其中,D=(Δx,Δy),Δx=dx·L/l;Δy=dy·L/I。
其实,实际方格宽度l比上呈像方格宽度L等于实际平移长度d比上呈像平移长度D。因此,在确定L、d和l的情况下,可以计算出实际平移量D为(Δx,Δy)。
S8014:电子设备基于实际平移量D确定平移校正矩阵T。
电子设备可以基于这个实际平移量D(Δx,Δy)确定平移校正矩阵
上述实施方式中,电子设备可以基于旋转校正后的中心点与所述第一图像的中心点平移情况,确定出平移校正矩阵T,保证T的准确,从而可以保证H的校正效果。
S802:电子设备基于旋转校正矩阵H1和平移校正矩阵T确定像旋校正矩阵H(H2)。
在获取到旋转校正矩阵H1的情况下,电子设备可以确定H2,并将H2作为上述图6中的H进行像旋校正即可。
电子设备可以将旋转校正矩阵H1和平移校正矩阵T进行叠加,得到最终的像旋校正矩阵
如图7D所示,图7D是在旋转校正的基础之上,叠加平移之后,图像会呈现在画面的中心位置,保证扫描到的图像能够尽可能完整地显示在画面中心位置,即在电子设备计算出平移校正矩阵T之后,可以按照中心点偏差D,以及对应的方向将校正图像进行平移校正,保证拍摄图像能够在图像的中心进行显示。从而可以提高拍摄图像的效果和质量。这样,在进行旋转校正的基础上,进行平移,保证旋转后的图像中心显示在画面中心,减少拍摄画面出现画面内容丢失的情况,保证校正图像的质量和效果。
然而,在图7D中,电子设备得到的画面由于图像的旋转校正,存在部分无法与显示图像完全对齐。对此,本申请提出又一种可能的像旋校正矩阵。
又一种可能的实施方式中,像旋校正矩阵H可以为旋转校正矩阵H1、平移校正矩阵T以及缩放矩阵F的第二叠加矩阵H3。
按照图10的方法,电子设备可以得到旋转校正矩阵H1,按照上述图8的方法,电子设备可以得到平移校正矩阵T。之后,电子设备可以基于呈像方格宽度L和理想方格宽度l之间的比例关系确定缩放矩阵F:
之后,电子设备可以计算H3=F*H2=F*T*H1。
至此,电子设备可以确定基于确定出第二叠加矩阵H3作为像旋校正矩阵,进行存储到电子设备,并在拍摄过程中使用。
如图7E所示,将第二图像经过H3的校正之后,电子设备可以将图7D在显示画面上进行一定比例的放大,保证呈像画面中不存在边缘部分信息缺失的问题,提高拍摄质量和效果。这样,在进行旋转校正的基础上,进行平移,在进行缩放校正,保证旋转后的图像中心显示在画面中心,且边缘画面能够完全显示,减少拍摄画面出现画面内容丢失的情况,保证校正图像的质量和效果。
电子设备确定H2和H3的过程中,由于每个第二图像均存在对应的棱镜转向角度,因此,其计算出的每一个H2或者H3也存在对应的棱镜转向角度。即电子设备可以存在K个棱镜转向角度,分别一一对应K个第二图像。电子设备确定H为H2的情况下,能够计算出K个H2,K个H2分别一一对应K个棱镜转向角度。电子设备确定H为H3的情况下,能够计算出K个H3,K个H3分别一一对应K个棱镜转向角度。
上述三种可能的实施方式中,需要说明的是,计算H1、H2和H3的过程均是执行图6中的方法之前处理完成的,且计算H1、H2和H3之前,电子设备已经执行完成图10的方法,得到H1。
图10是本申请实施例公开的一种像旋标定的图像处理方法流程示意图。如图10所示,像旋标定的图像处理方法可以包括但不限定于以下步骤:
电子设备在进行像旋标定之前,已经存储有第一图像,第一图像是包括第一标定板的图像。第一标定板是ChAruco标定板,第一标定板的棋盘格(方格)宽高数为M*N,即第一标定板的纵向包括M行格子,横向包括N列格子,其中,M和N均为正整数。一般而言,M和N为偶数。第一图像包括第一标定板中的所有信息,即第一图像包括M*N个格子的图像,以及白格子中的二维码图像。
在第一标定板中,包含二维码的方格(白格)仅仅为总方格数量的一半。因此,二维码四角坐标的数量为4MN/2=2MN。每个白格中存在一个Aruco二维码,每个Aruco二维码均对应一个二维码ID,即每个二维码ID能够唯一标识第一图像中的一个Aruco二维码。假设第一标定板分布是12*12(M*N)的大小,每个一个白格就有一个黑格,这会在横向12行,纵向共有12列中,每一行或者每一列都会间隔性出现6个白格和6个黑格。每一个白格中的Aruco二维码均设有对应的ID,二维码为方形图案,每个二维码拥有四个角点坐标。
标定板图像的角点类型有两种:第一角点信息和第二角点信息。电子设备可以维护(存储有)第一图像的第一角点信息和第二角点信息。每个角点信息可以包括标识信息和像素位置。其中,标识信息用于标识图像中的角点,标识信息是指角点位置在第一图像中的逻辑标识,标识信息具体可以以Aruco二维码为参考进行角点标识(即标识信息可以用于以二维码为参考进行角点标识)。像素位置用于指示角点在图像中的像素坐标,是指角点位置在第一图像中的像素坐标,例如,(x1,y1),表示当前的角点位置处于第一图像的第x1行第y1列。
其中,第一角点信息为二维码角点位置,第一角点信息可以通过标识信息来表示,即通过二维码ID和二维码四角坐标两个维度的信息来表示。例如,第一角点信息中某一角点位置可以表示为(a,b),其中,a表示二维码ID;b表示当前角点相对于二维码a的位置或方向。例如,假设b包括0、1、2和3四种数字,分别依次表示位于二维码的左上角,右上角,右下角,左下角四种位置。若当前第一角点信息(a,b)为(21,0)表示二维码ID21的左上角的角点。第一角点信息也可以通过像素位置来表示。各个角点的标识信息和像素位置是一一对应的。
其中,第二角点信息为方格间角点位置。第二角点信息也可以通过标识信息和像素位置两种方式表示。其中,第二角点信息的标识信息也可以通过二维码ID和二维码的四角方向表示。如图1D所示,每一个二维码均处于一个白格中间位置,白格的四个角点正好与二维码的四个角点一一对应,因此,二维码ID和二维码四角坐标同样能够标识白格角点位置,具体表示方式可以参考上述第一角点信息的描述,不赘述。第二角点信息通过像素位置表示,具体描述为这一角点在第一图像中的像素坐标即可。第二角点信息中,同一角点可以通过两个或一个标识信息表示。如图1D所示,对于第一图像中边缘位置的角点,其标识信息只能通过一个二维码来表示,对于第一图像中间位置的角点,其标识信息可以通过两个二维码来表示,例如,第一行第二列的白格左下角的角点(假设通过标识信息表示为(0,2))也是第二行第三列白格左上角的角点(假设通过标识信息表示为(9,0),显然标识信息(0,2)和(9,0)表示同一个角点。
假设当前第一图像中存在2MN个第一角点信息和2MN个第二角点信息,电子设备维护的第一图像的第一角点信息和第二角点信息可以分别表示为:
第一角点信息包括有2MN个二维码角点的标识信息和像素位置。例如,[(a_0,b_0),(x1_0,y1_0)];[(a_1,b_1),(x1_1,y1_1)];[(a_2,b_2),(x1_2,y1_2)];……;[(a_2MN-1,b_2MN-1),(x1_2MN-1,y1_2MN-1)]。其中,第一个二维码角点的标识信息为(a_0,b_0),像素位置为(x1_0,y1_0);第二个二维码角点的标识信息为(a_1,b_1),像素位置为(x1_1,y1_1);……;第2MN个二维码角点的标识信息为(a_2MN-1,b_2MN-1),像素位置为(x1_2MN-1,y1_2MN-1)。
第二角点信息包括有2MN个方格间角点的标识信息和像素位置。例如,[(a_0,b_0),(x2_0,y2_0)];[(a_1,b_1),(x2_1,y2_1)];[(a_2,b_2),(x2_2,y2_2)];……;[(a_2MN-1,b_2MN-1),(x2_2MN-1,y2_2MN-1)]。其中,第一个方格间角点的标识信息为(a_0,b_0),像素位置为(x2_0,y2_0);第二个方格间角点的标识信息为(a_1,b_1),像素位置为(x2_1,y2_1);……;第2MN个方格间角点的标识信息为(a_2MN-1,b_2MN-1),像素位置为(x2_2MN-1,y2_2MN-1)。
示例性地,第一图像为图1D,M为16,N为12。一共有12*8=96个二维码,二维码ID的从上到下从左到右依次为0、1、2、3、……、95。二维码四个角的方向从左上角开始,沿顺时针方向依次为0、1、2和3。电子设备一共存储有2*16*12=384个第一角点信息,可以按照二维码ID从小到大的顺序,以及二维码四个角的方向从左上角开始,沿顺时针方向的排列顺序依次为:[(0,0),(2,12)];[(0,1),(2,17)];[(0,2),(7,17)];[(0,3),(7,12)];[(1,0),(2,32)];[(1,1),(2,37)];……;[(95,0),(112,142)];[(95,1),(112,147)];[(95,2),(117,147)];[(95,3),(117,142)]。其中,第一图像中,每个方格的大小为10*10pixel;每个二维码的大小为6*6pixel,第一图像的总像素大小为159*119。
示例性地,同样按照上述图1D示例的逻辑,电子设备一共存储有2*16*12=384个第二角点信息,可以按照二维码ID从小到大的顺序,以及二维码四个角的方向从左上角开始,沿顺时针方向的排列顺序依次为:[(0,0),(0,10)];[(0,1),(0,20)];[(0,2)(9,0),(10,2 0)];[(0,3)(8,1),(10,10)];[(1,0),(0,30)];[(1,1),(0,40)];……;[(95,0)(85,2),(110,140)];[(95,1)(86,3)(110,150)];[(95,2),(120,150)];[(95,3),(120,140)]。其中,对于一些方格间角点而言,第二角点信息中包括1个标识信息,例如第二角点信息中的[(0,0),(0,10)]中的(0,0);对于另一些方格间角点而言,第二角点信息中包括2个标识信息,例如第二角点信息中的[(0,2)(9,0),(10,20)]中的(0,2)(9,0)标识信息均对应像素位置为(10,20)的角点。
在本申请实施例中,标识信息和像素位置均能够确定出唯一的角点,标识信息能够用于电子设备进行识别,即基于识别到的二维码以及与二维码之间的方向或距离,能够确定出这一角点;像素位置能够表示每一个角点在第一图像中的像素坐标。由于电子设备能够识别二维码确定标识信息,标识信息和像素位置之间存在对应关系,从而能够基于标识信息对应确定角点的像素位置。这一过程巧妙利用了标识信息的识别能力和像素位置的对应关系,方便能够确定像素位置的前后变化。同一角点的像素位置能够具体衡量像旋图像和理想图像的具体差距,为计算像旋校正矩阵的前提。因此,本申请实施例中,需要先确定出像旋图像,并基于像旋图像和理想图像中相同角点的像素位置确定像旋校正矩阵H,以用于像旋校正。
S1001:电子设备获取第二图像。
第二图像可以是拍摄第一标定板的像旋图像,即所述电子设备拍摄所述第一标定板时存在像旋的图像。第二图像可以包括第一标定板中的部分或者全部画面内容。例如,第二图像中拍摄到了第一标定板中几个方格以及二维码,第二图像包括了第一标定板中的全部方格和二维码。第二图像不包括除第一标定板之外的其它画面内容。
在棱镜转向的情况下,电子设备可以拍摄获得第二图像。第二图像是电子设备通过ISP获取到的图像传感器上的图像。即可以理解为第二图像并未经过去噪、校正、白平衡等等处理,第二图像是摄像模组获取到的原始图像。
具体地,电子设备可以将电子设备有待像旋标定的摄像头模组固定在专用的夹具中,在固定的距离处放置标定板。电子设备控制在拍摄的过程中,控制棱镜发生转向,得到第二图像。
示例性地,图11是本申请实施例公开的一种相机标定装置示意图。如图11所示,相机标定装置可以包括第一标定板和摄像头模组。其中,第一标定板是ChAruco标定板。摄像头模组所包括的各个模块的具体描述可以参考图2的相关描述,不赘述。在获取第二图像的过程中,电子设备应当控制在棱镜发生转向的情况下,对第一标定板进行拍摄,此时,图像传感器所得到的图像是第二图像。
可选地,电子设备可以通过控制棱镜的转向角度获取第二图像。一共设置有K种棱镜转向角度,电子设备便可以控制棱镜按照上述K中棱镜转向角度分别进行转向,并对应获取K帧第二图像。
示例性地,如图表1所示,电子设备可以按照表1中的25种(K)棱镜转向角度依次控制棱镜进行转向,并分别得到25个第二图像,每个第二图像对应的棱镜转向角度均有不同。此时,第一图像可以认为是表1中棱镜转向角度为(0,0)的图像(不发生像旋)。
可选地,电子设备可以控制电子设备进行抖动,抖动过程中,棱镜发生转向,获取第二图像,电子设备可以基于第二图像确定出这一图像的棱镜转向角度。
具体地,如图11所示,可以控制电子设备进行抖动(可以是各个角度的抖动),在抖动的过程中,电子设备可以获取可以进行拍摄,ISP可以从图像传感器获取多张第二图像。电子设备可以基于获取到的第二图像确定出每个第二图像对应的棱镜转向角度。可选地,对其中相同棱镜转向角度的第二图像进行剔除,即相同棱镜转向角度的第二图像仅保留一个即可。
经过上述的两种实施方式,电子设备在获取第二图像之后,并能够确定每个第二图像的棱镜转向角度。即电子设备可以得到有K个棱镜转向角度和K个第二图像,其中,K个棱镜转向角度和K个第二图像存在第一对应关系。
S1002:电子设备提取第二图像的第一角点信息。
电子设备在获取到第二图像之后,可以通过算法直接识别第二图像中各个二维码,提取第二图像中各二维码角点的像素位置和标识信息。若是K个第二图像,每个第二图像均需要提取。
第一角点信息的角点是二维码四个拐角角点。二维码有识别的功能,电子设备可以提前维护有第一标定板中各个二维码的类型,因此电子设备可以识别第二图像中的每一个二维码,并确定对应的二维码ID,基于二维码ID和识别到的四个角点,确定出每个二维码四个角点的标识信息和像素位置(第一角点信息)。
示例性地,图12A和图12B是本申请实施例公开的一组二维码角点的图像示意图。图12A和图12B均是拍摄的第二图像中相同部分的图案。如图12A所示,电子设备能够识别到所有二维码,并确定出所有二维码的ID。例如,最左边的这一二维码其二维码ID为38。之后,电子设备可以确定每一个二维码的四个拐角位置的角点坐标。如图12B所示,电子设备可以确定二维码ID为38的四个角点,从左上角开始编号依次为112、113、114和115,并能够确定标识信息。电子设备正对这些位置,能够提取出每一个二维码角点的像素位置。
S1003:电子设备提取第二图像的第二角点信息。
电子设备可以基于提取第二图像中所有方格间角点的标识信息和像素位置。
具体地,电子设备可以对第二图像进行膨胀处理,得到膨胀图像,并提取膨胀图像中的角点像素坐标即第三角点信息。以第三角点信息为初始角点对第二图像进行亚像素检测搜索,得到S个亚像素角点位置,并对S个亚像素角点位置进行聚合,得到第二图像的第二角点信息的像素位置(G个亚像素角点位置)。之后可以基于第二图像方格间角点的像素位置与第二图像的第一角点信息的像素位置之间的距离对应关系,匹配出第二图像方格间角点的标识信息。
图13是本申请实施例公开一种第二图像的第二角点信息提取的方法流程示意图。如图13所示,S1003可以包括但不限于以下步骤:
S1301:电子设备将第二图像进行膨胀处理,得到膨胀图像。
电子设备可以通过对第二图像做膨胀操作,消除进行方格间角点检测时,二维码图案对角点检测的干扰。
具体地,电子设备可以将第二图像输入一个图像滤波器,将其中二维码的图案进行滤除,得到膨胀图像。在本申请实施例中,图像滤波器可以是低通滤波器,放大图像中低频部分,同时滤掉图像中高频部分。二维码图案是第一标定板的高频部分,图像滤波器可以把二维码图案滤除。
示例性地,图14A和图14B是本申请实施例示例性地公开的一组图像膨胀前后方格间角点位置的对比图。假设图14A和图14B为膨胀后和膨胀前图像。如图14A所示,经过膨胀处理,膨胀后图像相较第二图像的黑色方格的像素大小会变小,二维码图案被滤除。如图14B所示,将膨胀后图像中的角点位置放入膨胀前图像中可以看到,膨胀后图像中一个或两个斜对角的角点均靠近一个膨胀后图像中的一个方格间的角点,即膨胀后图像角点附近存在膨胀前图像的方格间角点。正是借助这一特征,膨胀图像的角点附近能够找到第二图像的方格间角点。
S1302:电子设备对膨胀图像进行角点检测,得到第三角点信息。
电子设备得到膨胀图像之后,可以对膨胀图像进行角点检测,得到第三角点信息。第三角点信息为膨胀图像中各个(所有黑格的四个角点)的像素位置。
电子设备可以基于膨胀图像(第三角点信息)候选角点是根据像素邻域的灰度值变化,将相邻像素点灰度值对比足够大的点确定为角点。可以通过常见角点检测算法有Kitchen-Rosenfeld角点检测算法,Harris角点检测算法、KLT角点检测算法及moravec角点检测等算法,来确定第三角点位置的像素特征点。电子设备可以按照上述算法确定膨胀图像的第三角点信息。
S1303:电子设备以第三角点信息为初始角点对第二图像进行亚像素检测搜索,得到S个亚像素角点位置。
具体地,由于膨胀图像中角点的像素位置在第二图像中处于方格间角点的附近,因此,亚像素角点检测不断搜索在第二图像搜索附近(邻域)的角点,能够快速有效的找到第二图像中处于方格间角点。因此,电子设备可以以第三角点信息的像素位置为初始角点对第二图像进行亚像素检测搜索,不断迭代,便能得到第二图像中方格间角点。
电子设备可以按照亚像素角点检测的方法确定亚像素角点。具体地,电子设备可以将第二图中确定出的第三角点位置(像素位置)的角点确定为初始角点,以第二图像为输入图像,以预设的搜索窗口(初始角点对应的邻域大小)确定进行迭代处理,其中具体处理方式可以参考图2中对应的相关描述,不赘述。假设迭代的终止条件为迭代次数为W次,例如W=2或3。电子设备可以确定结束迭代,确定亚像素角点位置。
需要说明的是,经过上述亚像素检测搜索之后,确定出的每个第二图像的方格间角点对应的亚像素角点数量至少为1,也可以是多个,例如2个,3个,4个等。经过上述的处理过程,电子设备能够经过亚像素检测搜索,确定出每个第二图像的每个方格间角点对应的至少一个像素位置,即得到S个亚像素角点位置,S为正整数。
S1304:电子设备对S个亚像素角点位置进行聚合,得到G个亚像素角点位置。
其中,G为小于或等于S的整数。
在上述确定出S个亚像素角点位置(像素位置)中,第二图像的每个方格间角点可能包括多个亚像素角点位置,因此,电子设备可以S个亚像素角点位置进行聚合,将所有表示第二图像中同一方格间角点的不同亚像素角点位置聚合成为一个角点,得到G个亚像素角点位置,聚合之后的G个亚像素角点位置每一个角点均对应一个方格间角点的像素位置(即第二图像中第二角点信息中的像素位置),即G个亚像素角点位置中没有重复表示的角点。具体的聚合方式即可以为像素距离上的聚合。
S1305:电子设备将第二图像第一角点信息中的像素位置与G个亚像素角点位置进行距离匹配,得到G个亚像素角点位置对应的标识信息,进而得到第二图像的第二角点信息。
由于方格间角点和二维码角点的标识信息的表达方式是一致的,且第二图像中,方格间角点附近一般存在一个或者两个二维码角点,因此,电子设备在已知第二角点信息和第一角点信息中的像素位置的情况下,计算各个二维码角点的像素位置和各个方格间角点的像素位置之间的距离,将距离最近的一个二维码角点和一个方格间角点匹配为一组,同一组的角点的标识信息是相同的(即将与二维码角点匹配的像素位置的角点对应的标识信息确定为方格间角点的标识信息),因此可以确定出第二图像的第二角点信息的标识信息。至此,电子设备便能够提取到第二图像的第二角点信息。
图15A和图15B是本申请实施例公开的一组膨胀图像角点和第二图像角点的对比示意图。如图15A所示,将第二图像进行图像过滤器之后,得到膨胀图像,膨胀图像的大小的第二图像的大小是相等的。且膨胀图像的角点和第二图像的角点存在距离上的对应关系,即每一个对或者两个膨胀图像的角点的像素坐标在第二图像的方格间角点像素坐标的附近。由此,可以借助亚像素检测方法确定第二图像的方格间角点的像素位置,聚合之后第二图像每个方格间角点的像素位置便能唯一确定。如图15B所示,上述过程,能够确定出每个第二图像的方格间角点的像素位置和标识信息。这个过程中,巧妙地利用结合膨胀图像,消除二维码对方格间角点确定干扰,有借助亚像素检测与膨胀图像的关系,确定出第二图像的方格间角点的像素位置,保证了第二图像的第二角点信息提取的准确性。
上述的过程中,第一图像和第二图像所提取的角点数量不仅包括方格间角点,还包括二维码角点,提取的角点数量多,相较于单一的二维码四个角的角点,在数量上相当于增加了一倍。从而可以保证提取角点数量的充足,为后续确定像旋校正矩阵的计算过程提供了坚实基础,保证像旋校正矩阵H的准确性。
之后,电子设备可以基于第一图像和第二图像中相同标识信息的角点分别对应的像素位置,确定旋转校正矩阵H1。具体通过S1004和S1005说明:
S1004:电子设备将第一图像和第二图像中相同标识信息的方格间角点进行匹配,以及将第一图像和第二图像中相同标识信息的二维码角点进行匹配,得到第一图像特征P0和第二图像特征P1。
具体地,电子设备可以将第一图像和第二图像中相同标识信息的二维码角点的进行对应,将第一图像和所述第二图像中相同标识信息的方格间角点的进行对应,确定第一图像的第一图像特征P0、第二图像的第二图像特征P1,以及第一图像特征P0和第二图像特征P1的对应关系。第一图像特征P0和第二图像特征P1的对应关系为相同角点在第一图像和第二图像中像素位置的对应关系。图像特征均为角点的像素位置。
电子设备确定第一图像和第二图像中的两类角点之后,可以确定第一角点信息中第一图像和第二图像的标识信息,并将两图中相同标识信息的像素位置(坐标)匹配为一组,即两图像中的同一角点的像素位置一一对应;同理,将确定第二角点信息中第一图像和第二图像的标识信息,并将两图中相同标识信息的像素位置(坐标)匹配为一组,一一对应。从而可以得到第一图像特征P0和第二图像特征P1的映射关系。第一图像特征P0为第一图像中提取到的各个角点的像素坐标,第二图像特征P1为第二图像中提取到的各个角点的像素坐标,P0和P2按照角点存在一一对应。
表2是本申请实施例示例性地公开的一种第一图像特征P0和第二图像特征P1的映射关系表。
表2
第二图像特征P1 | 第一图像特征P0 | |
方格间角点1 | (x1_0,y1_0) | (m1_0,n1_0) |
方格间角点2 | (x1_1,y1_1) | (m1_1,n1_1) |
…… | …… | …… |
方格间角点G | (x1_G-1,y1_G-1) | (m1_G-1,n1_G-1) |
二维码角点1 | (x2_0,y2_0) | (m2_0,n2_0) |
二维码角点2 | (x2_1,y2_1) | (m2_1,n2_1) |
…… | …… | …… |
二维码角点G | (x2_G-1,y2_G-1) | (m2_G-1,n2_G-1) |
如表2所示,方格间角点和二维码角点一共有2G个,每个角点在第一图像和第二图像中,均是一一对应的。
当然,若第二图像仅包括第一标定板中的部分画面内容,电子设备也可以确定出的一些第一图像的像素位置不存在与之对应的第二图像的像素位置(第二图像中没有拍到的一部分角点,即2G小于或等于4MN)。
S1005:电子设备基于第一图像特征P0和第二图像特征P1确定旋转校正矩阵H1。
假设P0为1*3的矩阵,H1为3*3的矩阵,P1为1*3的矩阵。电子设备可以将第一图像特征P0和第二图像特征P1对应代入H1*P1=P0,求取H1。
第一图像中的像素位置(x,y)和第二图像中的像素位置(m,n)是一一对应代入上述关系中,求解的方式可以为最小二乘的方式,也可以为其他方式,本申请不限定。当特征点足够的情况下,便能求取出H1,代入到的其中的特征点越多,H1的鲁棒性越好,得到的H1越准确。由于角点的包括了方格间角点和二维码角点,角点数量的提取是翻倍的,确定出的H1是更加准确的。
需要说明的是,在用户使用的拍摄阶段,图6中的方法实施例可以是由第一电子设备执行的;在生成像旋校正矩阵H的过程,如图8、图9、图10和图13等方法流程,可以是由第二电子设备执行的。两电子设备可以不同,也可以相同。但是标定以及使用均针对的是同一这摄像头模组。
针对于不同棱镜转向角度的第二图像,均可以执行上述的操作过程,从而可以计算出每一个棱镜转向角度的旋转校正矩阵H1。假设计算得到K个旋转校正矩阵H1,电子设备可以存储棱镜转向角度以及对应的旋转校正矩阵H1。
在理想图像中,特征点是横平竖直的,在实际拍摄过程中,特征点发生畸变。两个特征点就进行匹配,求出两图像之间的单应性矩阵H1。在本申请实施例中,经过上述的图像处理过程,电子设备能够计算出像旋图像和理想图像之间的单应性矩阵H1。这样,能够在图像拍摄的过程中,对图像进行像旋校正,得到的图像能够校正图像歪斜以及FOV不匹配等问题,通过校正能够提高图像的拍摄质量和效果。
图16示出了电子设备100的硬件结构示意图。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,摄像头193,以及显示屏194等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图片,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现采集功能,以实现本申请实施例中HAL层的图像采集模块。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图片或视频。ISP还可以对图片的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图片或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图片或视频信号。ISP将数字图片或视频信号输出到DSP加工处理。DSP将数字图片或视频信号转换成标准的RGB,YUV等格式的图片或视频信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
本申请实施例中,摄像头193可以包括棱镜,棱镜能够转向来防抖动,ISP可以通过图像传感器(感光元件)可以获取原始图像。图6中的图像处理过程可以通过ISP执行。
在上述实施例中,全部或部分功能可以通过软件、硬件、或者软件加硬件的组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solidstate disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (24)
1.一种图像处理方法,其特征在于,所述方法应用于电子设备,所述电子设备存储有第一图像的第一角点信息和第二角点信息;所述第一图像为包括第一标定板的图像,所述第一标定板是ChAruco标定板;所述第一角点信息包括二维码角点的像素位置和标识信息,所述第二角点信息包括方格间角点的像素位置和标识信息,所述像素位置用于指示角点在图像中的像素坐标,所述标识信息用于标识图像中的角点;同一角点的像素位置和标识信息存在对应关系,所述方法包括:
所述电子设备获取第二图像,所述第二图像为所述电子设备拍摄所述第一标定板时存在像旋的图像;
所述电子设备提取所述第二图像中各二维码角点的像素位置和标识信息;
所述电子设备提取所述第二图像中各方格间角点的像素位置和标识信息;
所述电子设备基于所述第一图像和所述第二图像中相同标识信息的角点分别对应的像素位置,确定像旋校正矩阵H;所述H用于对所述电子设备拍摄的原始图像进行图像校正处理;所述相同标识信息的角点包括所述二维码角点和所述方格间角点。
2.根据权利要求1所述的方法,其特征在于,所述电子设备获取第二图像,具体包括:
所述电子设备控制棱镜分别在K个棱镜转向角度上进行转向,并依次获取到K个第二图像,所述第二图像为从图像传感器上获取到的原始图像;所述K个棱镜转向角度与所述K个第二图像一一对应;
所述电子设备提取所述第二图像中各二维码角点的像素位置和标识信息,具体包括:
所述电子设备提取所述K个第二图像中各二维码角点的像素位置和标识信息;
所述电子设备提取所述第二图像中各方格间角点的像素位置和标识信息,具体包括:
所述电子设备提取所述K个第二图像中各方格间角点的像素位置和标识信息;
所述电子设备基于所述第一图像和所述第二图像中相同标识信息的角点分别对应的像素位置,确定像旋校正矩阵H,具体包括:
所述电子设备基于所述第一图像和所述K个第二图像中相同标识信息的角点分别对应的像素位置,确定K个像旋校正矩阵H;所述K个第二图像与所述K个像旋校正矩阵一一对应,所述K个棱镜转向角度与所述K个像旋校正矩阵H一一对应。
3.根据权利要求1或2所述的方法,其特征在于,所述电子设备提取所述第二图像中各二维码角点的像素位置和标识信息,具体包括:
所述电子设备识别所述第二图像中的各二维码,确定二维码角点的二维码ID和二维码的四角方向,确定所述二维码角点的标识信息;所述标识信息包括二维码ID和二维码的四角方向;
所述电子设备确定所述二维码角点在所述第二图像中的像素位置。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述电子设备提取所述第二图像中各方格间角点的像素位置和标识信息,具体包括:
所述电子设备将所述第二图像进行膨胀处理,得到膨胀图像;
所述电子设备对所述膨胀图像进行角点检测,得到第三角点信息,所述第三角点信息为所述膨胀图像中角点的像素位置;
所述电子设备以所述第三角点信息为初始角点对所述第二图像进行亚像素检测搜索,得到G个亚像素角点位置;
所述电子设备基于所述G个亚像素角点位置确定所述第二图像方格间角点的像素位置,并将所述第二图像中方格间角点的像素位置与所述二维码角点的像素位置进行距离匹配,得到所述第二图像方格间角点的标识信息。
5.根据权利要求4所述的方法,其特征在于,所述膨胀图像的像素大小与所述第二图像的像素大小相同;所述膨胀图像不包括二维码图案;所述膨胀图像中的黑色方格的像素大小小于所述第二图像的黑色方格的像素大小。
6.根据权利要求4所述的方法,其特征在于,所述电子设备以所述第三角点信息为初始角点对所述第二图像进行亚像素检测搜索,得到G个亚像素角点位置,具体包括:
所述电子设备以所述第三角点信息中的像素位置为初始角点对所述第二图像进行亚像素检测搜索,得到S个亚像素角点位置;所述亚像素角点位置为角点的亚像素坐标;
所述电子设备对所述S个亚像素角点位置进行聚合,得到G个亚像素角点位置;所述G为小于或等于S的整数。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述电子设备基于所述第一图像和所述第二图像中相同标识信息的角点分别对应的像素位置,确定像旋校正矩阵H,具体包括:
所述电子设备将所述第一图像和所述第二图像中相同标识信息的二维码角点的进行对应,将所述第一图像和所述第二图像中相同标识信息的方格间角点的进行对应,确定所述第一图像的第一图像特征P0、所述第二图像的第二图像特征P1,以及所述第一图像特征P0和所述第二图像特征P1的对应关系;图像特征为角点的像素位置;
所述电子设备基于所述第一图像特征P0、所述第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定像旋校正矩阵H。
8.根据权利要求7所述的方法,其特征在于,所述电子设备基于所述第一图像特征P0、所述第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定像旋校正矩阵H,具体包括:
所述电子设备基于P0*H=P1,计算得出所述H。
9.根据权利要求7所述的方法,其特征在于,所述电子设备基于所述第一图像特征P0、所述第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定像旋校正矩阵H,具体包括:
所述电子设备基于P0*H1=P1,计算得出所述H1;
所述电子设备基于旋转校正矩阵H1的实际平移量D确定平移校正矩阵T;所述D为所述第二图像在旋转校正后的中心点与所述第一图像的中心点之间在实际坐标系下的平移向量;
所述电子设备基于H=T*H1,计算得出所述H。
10.根据权利要求9所述的方法,其特征在于,所述电子设备基于旋转校正矩阵H1的中心点偏差D确定平移校正矩阵T,具体包括:
所述电子设备获取所述第一标定板实际方格宽度,基于相机理论内参,计算呈像方格宽度L;所述实际方格宽度为所述第一标定板中每个方格的实际宽度,所述呈像方格宽度L为所述第二图像进行旋转校正后方格的像素宽度;
所述电子设备获取所述第一标定板的理想方格宽度l,并基于所述第一图像和所述第二图像在理想坐标系下中心点坐标,计算理想平移量为d;所述d为所述第二图像在旋转校正后的中心点与所述第一图像的中心点在所述理想坐标系下的平移向量(dx,dy);所述理想方格宽度l为所述第一图像中方格的像素宽度;
所述电子设备计算所述实际坐标系下的实际平移量D=L·d/l;所述D为(Δx,Δy),其中,Δx=dx·L/l;Δy=dy·L/I;
所述电子设备基于所述实际平移量D确定平移校正矩阵T。
11.根据权利要求7所述的方法,其特征在于,所述电子设备基于所述第一图像特征P0、所述第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定像旋校正矩阵H,具体包括:
所述电子设备基于P0*H1=P1,计算得到所述H1;
所述电子设备基于旋转校正矩阵H1的实际平移量D确定平移校正矩阵T;所述D为所述第二图像在旋转校正后的中心点与所述第一图像的中心点之间在实际坐标系下的平移向量;
所述电子设备基于呈像方格宽度L和理想方格宽度l确定缩放矩阵F;所述呈像方格宽度L为所述第二图像进行旋转校正后方格的像素宽度,所述理想方格宽度l为所述第一图像中方格的像素宽度;
所述电子设备基于H=F*T*H1,计算得到所述H。
12.一种图像处理方法,其特征在于,所述方法应用于电子设备,所述电子设备存储有K个棱镜转向角度和K个像旋校正矩阵H,所述K个棱镜转向角度和所述K个像旋校正矩阵H之间存在第一对应关系,所述方法包括:
所述电子设备获取第一棱镜转向角度,所述第一棱镜转向角度为所述电子设备拍摄到的原始图像对应的棱镜转向角度;
所述电子设备基于所述第一棱镜转向角度和所述第一对应关系确定目标像旋校正矩阵;
所述电子设备基于所述目标像旋校正矩阵对所述原始图像进行校正处理,得到校正图像。
13.根据权利要求12所述的方法,其特征在于,所述K个像旋校正矩阵H基于第一图像和K个第二图像中相标识信息的角点分别对应的像素位置确定;所述相同标识信息的角点包括二维码角点和方格间角点;
所述第一图像为包括第一标定板的图像,所述第一标定板是ChAruco标定板;所述电子设备存储有所述第一图像的第一角点信息和第二角点信息;所述第一角点信息包括二维码角点的像素位置和标识信息,所述第二角点信息包括方格间角点的像素位置和标识信息,所述像素位置用于指示角点在图像中的像素坐标,所述标识信息用于标识图像中的角点;同一角点的像素位置和标识信息存在对应关系;
所述第二图像为拍摄所述第一标定板时存在像旋的图像;所述电子设备提取有所述K个第二图像中各二维码角点的像素位置和标识信息以及各方格间角点的像素位置和标识信息。
14.根据权利要求13所述的方法,其特征在于,所述K个第二图像中各二维码角点的标识信息是识别所述K个第二图像中的各二维码,确定二维码角点的二维码ID和二维码的四角方向得到的,所述标识信息包括二维码ID和二维码的四角方向;所述K个第二图像中各二维码角点的像素位置是所述K个第二图像中各所述二维码角点在所述第二图像中的像素位置。
15.根据权利要求13或14所述的方法,其特征在于,所述K个第二图像方格间角点的标识信息是基于G个亚像素角点位置确定所述第二图像方格间角点的像素位置,并将所述第二图像中方格间角点的像素位置与所述二维码角点的像素位置进行距离匹配得到的;
所述G个亚像素角点位置以第三角点信息为初始角点对所述第二图像进行亚像素检测搜索得到;所述第三角点信息为所述电子设备对K个膨胀图像进行角点检测得到的,所述第三角点信息为所述K个膨胀图像中角点的像素位置;
所述K个膨胀图像是分别将所述K个第二图像进行膨胀处理得到的。
16.根据权利要求15所述的方法,其特征在于,所述膨胀图像的像素大小与所述第二图像的像素大小相同;所述膨胀图像不包括二维码图案;所述膨胀图像中的黑色方格的像素大小小于所述第二图像的黑色方格的像素大小。
17.根据权利要求15所述的方法,其特征在于,所述G个亚像素角点位置是对S个亚像素角点位置进行聚合得到的,所述G为小于或等于S的整数;所述亚像素角点位置为角点的亚像素坐标;
所述S个亚像素角点位置是以所述第三角点信息中的像素位置为初始角点对所述第二图像进行亚像素检测搜索得到的。
18.根据权利要求13-17任一项所述的方法,其特征在于,所述像旋校正矩阵H基于第一图像特征P0、第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系确定;
所述第一图像的第一图像特征P0、所述第二图像的第二图像特征P1以及所述第一图像特征P0和所述第二图像特征P1的对应关系是将所述第一图像和所述第二图像中相同标识信息的二维码角点的进行对应,将所述第一图像和所述第二图像中相同标识信息的方格间角点的进行对应确定的;图像特征为角点的像素位置。
19.根据权利要求18所述的方法,其特征在于,所述H基于P0*H=P1计算得出。
20.根据权利要求18所述的方法,其特征在于,所述H基于H=T*H1计算得出;所述平移校正矩阵T是所述电子设备基于所述旋转校正矩阵H1的实际平移量D确定的,所述D为所述第二图像在旋转校正后的中心点与所述第一图像的中心点之间在实际坐标系下的平移向量;所述H1基于P0*H1=P1计算得出。
21.根据权利要求20所述的方法,其特征在于,所述平移校正矩阵T基于所述实际平移量D确定;
所述实际平移量D基于理想平移量为d、理想方格宽度l和呈像方格宽度L计算得到,所述D为(Δx,Δy),其中,Δx=dx·L/l;Δy=dy·L/I;
所述理想平移量d是获取所述第一标定板的理想方格宽度l,并基于所述第一图像和所述第二图像在理想坐标系下中心点坐标计算得到的;所述d为所述第二图像在旋转校正后的中心点与所述第一图像的中心点在所述理想坐标系下的平移向量(dx,dy);所述理想方格宽度l为所述第一图像中方格的像素宽度;
所述呈像方格宽度L获取所述第一标定板实际方格宽度,基于相机理论内参计算得到;所述实际方格宽度为所述第一标定板中每个方格的实际宽度,所述呈像方格宽度L为所述第二图像进行旋转校正后方格的像素宽度。
22.根据权利要求18所述的方法,其特征在于,所述H基于H=F*T*H1计算得到;
所述缩放矩阵F基于呈像方格宽度L和理想方格宽度l确定;所述呈像方格宽度L为所述第二图像进行旋转校正后方格的像素宽度,所述理想方格宽度l为所述第一图像中方格的像素宽度;所述H1基于P0*H1=P1计算得到;所述平移校正矩阵T是基于所述旋转校正矩阵H1的实际平移量D确定的;所述D为所述第二图像在旋转校正后的中心点与所述第一图像的中心点之间在实际坐标系下的平移向量。
23.一种电子设备,其特征在于,包括:一个或多个处理器和一个或多个存储器;所述一个或多个处理器与所述一个或多个存储器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-11任一项所述的方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,实现如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310484862.5A CN117115004A (zh) | 2023-04-28 | 2023-04-28 | 一种图像处理方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310484862.5A CN117115004A (zh) | 2023-04-28 | 2023-04-28 | 一种图像处理方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117115004A true CN117115004A (zh) | 2023-11-24 |
Family
ID=88809904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310484862.5A Pending CN117115004A (zh) | 2023-04-28 | 2023-04-28 | 一种图像处理方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117115004A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201462A (zh) * | 2006-12-04 | 2008-06-18 | 三星电子株式会社 | 用于校正图像拍摄装置的抖动的设备和方法 |
US20210203851A1 (en) * | 2019-12-25 | 2021-07-01 | Aac Optics Solutions Pte. Ltd. | Camera device with hand shake correction function |
CN113219623A (zh) * | 2020-01-20 | 2021-08-06 | 南昌欧菲光电技术有限公司 | 潜望式光学系统、摄像模组、电子设备及防抖方法 |
CN114157852A (zh) * | 2021-11-30 | 2022-03-08 | 北京理工大学 | 一种基于旋转双棱镜的虚拟相机阵列三维成像方法及系统 |
CN114170319A (zh) * | 2021-10-26 | 2022-03-11 | 昆山丘钛微电子科技股份有限公司 | 测试标板的调整方法及装置 |
CN114283093A (zh) * | 2021-12-28 | 2022-04-05 | 天津大学 | 一种基于波前控制的畸变图像校正方法 |
-
2023
- 2023-04-28 CN CN202310484862.5A patent/CN117115004A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201462A (zh) * | 2006-12-04 | 2008-06-18 | 三星电子株式会社 | 用于校正图像拍摄装置的抖动的设备和方法 |
US20210203851A1 (en) * | 2019-12-25 | 2021-07-01 | Aac Optics Solutions Pte. Ltd. | Camera device with hand shake correction function |
CN113219623A (zh) * | 2020-01-20 | 2021-08-06 | 南昌欧菲光电技术有限公司 | 潜望式光学系统、摄像模组、电子设备及防抖方法 |
CN114170319A (zh) * | 2021-10-26 | 2022-03-11 | 昆山丘钛微电子科技股份有限公司 | 测试标板的调整方法及装置 |
CN114157852A (zh) * | 2021-11-30 | 2022-03-08 | 北京理工大学 | 一种基于旋转双棱镜的虚拟相机阵列三维成像方法及系统 |
CN114283093A (zh) * | 2021-12-28 | 2022-04-05 | 天津大学 | 一种基于波前控制的畸变图像校正方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108600576B (zh) | 图像处理装置、方法和系统以及计算机可读记录介质 | |
CN101616237B (zh) | 图像处理装置、图像处理方法 | |
KR102480600B1 (ko) | 이미지 처리 장치의 저조도 화질 개선 방법 및 상기 방법을 수행하는 이미지 처리 시스템의 동작 방법 | |
WO2016168145A1 (en) | Convolutional color correction | |
CN107925751A (zh) | 用于多视点降噪和高动态范围的系统和方法 | |
US10489885B2 (en) | System and method for stitching images | |
US9967453B2 (en) | Method of operating image signal processor and method of operating imaging system including the same | |
KR101583646B1 (ko) | 전 방위 평면 이미지를 생성하는 방법 및 장치 | |
US10769474B2 (en) | Keypoint detection circuit for processing image pyramid in recursive manner | |
US10366478B2 (en) | Method and device for obtaining a HDR image by graph signal processing | |
CN113313661A (zh) | 图像融合方法、装置、电子设备及计算机可读存储介质 | |
US11334961B2 (en) | Multi-scale warping circuit for image fusion architecture | |
US11350063B2 (en) | Circuit for correcting lateral chromatic abberation | |
US20220124247A1 (en) | Panoramic photographing method and device, camera and mobile terminal | |
CN113379609A (zh) | 一种图像处理方法、存储介质及终端设备 | |
CN117115004A (zh) | 一种图像处理方法和电子设备 | |
US11810266B2 (en) | Pattern radius adjustment for keypoint descriptor generation | |
WO2021208630A1 (zh) | 标定方法、标定装置及应用其的电子设备 | |
US20220286604A1 (en) | Sliding window for image keypoint detection and descriptor generation | |
US11475240B2 (en) | Configurable keypoint descriptor generation | |
CN116051362B (zh) | 图像处理方法及电子设备 | |
CN117135420B (zh) | 图像同步方法及其相关设备 | |
CN112150355A (zh) | 一种图像处理方法及相关设备 | |
US11494880B2 (en) | Image pyramid generation for image keypoint detection and descriptor generation | |
US11336803B2 (en) | Information processing apparatus, information processing method, program, and interchangeable lens |
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 |