CN115631249B - 一种相机校正方法、装置、设备和存储介质 - Google Patents
一种相机校正方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115631249B CN115631249B CN202211552890.8A CN202211552890A CN115631249B CN 115631249 B CN115631249 B CN 115631249B CN 202211552890 A CN202211552890 A CN 202211552890A CN 115631249 B CN115631249 B CN 115631249B
- Authority
- CN
- China
- Prior art keywords
- camera
- fov
- error
- adjacent
- candidate
- 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 59
- 238000012937 correction Methods 0.000 title claims abstract description 45
- 238000004590 computer program Methods 0.000 claims description 16
- 230000000694 effects Effects 0.000 abstract description 18
- RVCKCEDKBVEEHL-UHFFFAOYSA-N 2,3,4,5,6-pentachlorobenzyl alcohol Chemical compound OCC1=C(Cl)C(Cl)=C(Cl)C(Cl)=C1Cl RVCKCEDKBVEEHL-UHFFFAOYSA-N 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000005476 soldering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30141—Printed circuit board [PCB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
- G06T2207/30208—Marker matrix
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种相机校正方法、装置、设备和存储介质。该方法包括:获取相机在不同目标位置拍摄的斜线标定板的至少两个FOV图像,其中,所述斜线标定板上设置有若干条相互平行的斜线;根据相邻FOV图像的候选斜线的中点位置坐标确定所述相机的目标误差;当所述目标误差满足预设误差阈值时,基于所述目标误差对所述相机的旋转角度进行校正。本发明的技术方案,通过斜线标定板来确定相机的目标误差,进而根据目标误差对相机的旋转角度进行校正,能够代替人眼判断FOV图像的拼接效果,并且可以基于目标误差指导操作人员相机校正相机的旋转角度,使得最终获取到的PCBA板卡的图像更准确。
Description
技术领域
本发明实施例涉及AOI设备检测技术领域,尤其涉及一种相机校正方法、装置、设备和存储介质。
背景技术
AOI(Automated Optical Inspection)全称为自动光学检测,是基于计算机视觉技术来对PCB(Printed Circuit Board,印制电路板)板卡焊接生产中遇到的常见缺陷进行检测的设备。AOI设备检测中,需要用相机获取PCBA(Printed Circuit Board Assembly,印刷电路板装配)板卡照片。由于相机的视野范围(称为FOV,全称为Field of View)有限,无法将整个PCBA板卡囊括在一次拍摄的照片中,所以需要多次拍摄获取照片,然后将多次拍摄获取到的照片使用拼接的方法拼接在一起,得到整个PCBA板卡的整板图像。图1是一种用拼接方法得到PCBA板卡整板图像的方法示意图,如图1所示,PCBA板卡整板大小为220mm*140mm,相机的视野范围FOV为36mm*30mm,将相机多次拍摄获取到的照片使用拼接的方法拼接在一起,得到整个PCBA板卡的整板图像。得到整版PCBA板卡是为了之后做的PCBA板卡编程,PCBA板卡编程是对整个PCBA板卡的缺陷以及检测项添加各类算法,框定算法区域以及元件区域,因此编程是非常依赖拼接情况,如果拼接效果不佳,就会出现图像错位。图2是一种图像错位的示意图,如图2所示,两个左右相邻的相机的视野范围FOV图像拼接效果不佳,导致PCBA板卡上的器件发生错位。板卡编程若是出现这样的错位,编程时将无法对正确的位置添加算法与检测项,导致误报和漏报,所以AOI设备在标定的时候需要对拼接效果进行确认,确认拼接效果达到一定的指标,比如图像错位少于N个像素。
现有技术中的拼接效果的确认方案为人工抽检整版PCBA板卡的图像上的FOV,对其拼接边缘通过人眼识别其拼接的效果是否少于N个像素,若抽检的FOV像素误差都少于N个像素则认为这台AOI的拼接效果达标。
但是,通过人眼确认拼接效果的方案存在以下缺点:人眼标准不统一,不同人对于边缘的标准是不同的,所以对于同一台设备的确认就会出现如下情况:有人认为差了5个像素,有些人又认为差了7个像素,导致标准不统一,设备的拼接效果确认比较混乱;人工操作繁琐,因为确认拼接需要人工重复抽检N个FOV,人工操作需要一直找到拼接边缘确认,需要经常拖拽软件视图对准FOV拼接边缘,并放大确认其像素差值,整个操作流程繁琐。
发明内容
本发明实施例提供一种相机校正方法、装置、设备和存储介质,以实现能够代替人眼判断FOV图像的拼接效果,统一拼接效果的判断标准,降低操作人员的工作量。
根据本发明的一方面,提供了一种相机校正方法,包括:
获取相机在不同目标位置拍摄的斜线标定板的至少两个FOV图像,其中,所述斜线标定板上设置有若干条相互平行的斜线;
根据相邻FOV图像的候选斜线的中点位置坐标确定所述相机的目标误差;
当所述目标误差满足预设误差阈值时,基于所述目标误差对所述相机的旋转角度进行校正。
根据本发明的另一方面,提供了一种相机校正装置,该装置包括:
获取模块,用于获取相机在不同目标位置拍摄的斜线标定板的至少两个FOV图像,其中,所述斜线标定板上设置有若干条相互平行的斜线;
第一确定模块,用于根据相邻FOV图像的候选斜线的中点位置坐标确定所述相机的目标误差;
校正模块,用于当所述目标误差满足预设误差阈值时,基于所述目标误差对所述相机的旋转角度进行校正。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的相机校正方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的相机校正方法。
本发明实施例的技术方案,通过获取相机在不同目标位置拍摄的斜线标定板的至少两个FOV图像,其中,斜线标定板上设置有若干条相互平行的斜线,根据相邻FOV图像的候选斜线的中点位置坐标确定相机的目标误差,当目标误差满足预设误差阈值时,基于目标误差对相机的旋转角度进行校正。本发明的技术方案,通过斜线标定板来确定相机的目标误差,进而根据目标误差对相机的旋转角度进行校正,能够代替人眼判断FOV图像的拼接效果,统一拼接效果的判断标准,并且降低操作人员的工作量,可以基于目标误差指导操作人员校正相机的旋转角度,使得最终相机获取到的PCBA板卡的图像更加准确。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是一种用拼接方法得到PCBA板卡整板图像的方法示意图;
图2是一种图像错位的示意图;
图3是本发明实施例中的一种相机校正方法的流程图;
图4是本发明实施例中的一种相机拍摄FOV图像的方法示意图;
图5是本发明实施例中的一种斜线标定板的示意图;
图6是本发明实施例中的一种相邻FOV图像为左右相邻时的示意图;
图7是本发明实施例中的一种相邻FOV图像为上下相邻时的示意图;
图8是本发明实施例中的一种相邻FOV图像为左右相邻时的相机校正方法的示意图;
图9是本发明实施例中的一种相邻FOV图像为上下相邻时的相机校正方法的示意图;
图10是本发明实施例中的一种斜线标定板的FOV图像中的像素点的峰值曲线图;
图11是本发明实施例中的一种相机校正装置的结构示意图;
图12是实现本发明实施例的相机校正方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图3是本发明实施例中的一种相机校正方法的流程图,本实施例可适用于相机校正的情况,该方法可以由本发明实施例中的相机校正装置来执行,该装置可采用软件和/或硬件的方式实现,如图3所示,该方法具体包括如下步骤:
S101、获取相机在不同目标位置拍摄的斜线标定板的至少两个FOV图像。
其中,斜线标定板上设置有若干条相互平行的斜线。
图4是本发明实施例中的一种相机拍摄FOV图像的方法示意图,如图4所示,相机安装在导轨的上方,相机可以分别在X轴、Y轴和Z轴方向上进行移动,导轨可以在Y轴方向上进行移动,导轨上有皮带,皮带可以在X轴方向上进行移动,皮带上有可活动挡块,可以用于固定被拍摄的PCBA(Printed Circuit Board Assembly,印刷电路板装配)板卡。
其中,相机可以是用于拍摄PCBA板卡的相机,本实施例中的相机可以是任意能够满足实际拍摄需求的相机,本实施例对此不进行限定。
需要说明的是,目标位置可以是控制相机进行拍摄操作的位置。具体的,目标位置坐标可以包括相机的X轴坐标、相机的Y轴坐标和相机的Z轴坐标。例如,目标位置1可以表示为(X1,Y1,Z1),目标位置2可以表示为(X2,Y2,Z2)。
在本实施例中,斜线标定板可以是上面有若干条相互平行的间隔均匀的斜线线段的标定板,其中,斜线可以是从左向右倾斜,也可以是从右向左倾斜,本实施例对斜线的倾斜角度和斜线之间的距离不进行限定。示例性的,图5是本发明实施例中的一种斜线标定板的示意图,如图5所示,斜线标定板上有多条从左向右倾斜的间隔均匀的斜线线段。
需要解释的是,FOV(Field of View,相机的视野范围)图像可以是相机拍摄的在相机的最大视野范围内的图像。
具体的,控制相机移动至不同的目标位置对斜线标定板进行拍摄,获取相机在不同目标位置拍摄的斜线标定板的FOV图像以及FOV图像对应的相机位置坐标。示例性的,控制相机移动至目标位置A,获取相机移动至目标位置A时拍摄的斜线标定板的FOV图像A以及FOV图像A对应的相机位置坐标A,再控制相机移动至目标位置B,获取相机移动至目标位置B时拍摄的斜线标定板的FOV图像B以及FOV图像B对应的相机位置坐标B。需要注意的是,在控制相机移动至目标位置并对斜线标定板进行拍摄时,需控制相机移动到至少两个目标位置拍摄斜线标定板的FOV图像,如果只在一个目标位置拍摄一个斜线标定板的FOV图像,则无需将FOV图像进行拼接,也无法对相机的旋转角度进行校正。
S102、根据相邻FOV图像的候选斜线的中点位置坐标确定相机的目标误差。
需要说明的是,候选斜线可以是用于确定相邻FOV图像之间误差的斜线。优选的,若相邻FOV图像为左右相邻时,则候选斜线可以是左侧FOV图像的最后一列像素点确定的斜线以及右侧FOV图像的第一列像素点确定的斜线。在实现过程中,候选斜线的数量可以是多条。
在本实施例中,中点位置坐标可以是候选斜线的中点位置的像素的坐标,具体的,中点位置坐标可以包括中点的X轴坐标和中点的Y轴坐标。示例性的,中心位置坐标n可以表示为(Xn,Yn)。
在本实施例中,目标误差可以是相邻两个FOV图像之间的误差。具体的,目标误差可以包括水平误差和垂直误差,其中,水平误差可以是左右相邻的两个FOV图像之间的误差,垂直误差可以是上下相邻的两个FOV图像之间的误差。
具体的,控制相机移动到至少两个目标位置拍摄到至少两个斜线标定板的FOV图像后,首先确定相邻两个FOV图像的位置关系,相邻两个FOV图像的位置关系可以根据相邻两个FOV图像分别对应的相机位置坐标确定。示例性的,当相机移动至两个目标位置时拍摄的两个斜线标定板的FOV图像的位置关系为左右相邻时,则这两个FOV图像之间的误差为水平误差;当相机移动至两个目标位置时拍摄的两个斜线标定板的FOV图像的位置关系为上下相邻时,则这两个FOV图像之间的误差为垂直误差。确定相邻两个FOV图像的位置关系后,获取相邻FOV图像的候选斜线的中点位置坐标,最后根据相邻FOV图像的候选斜线的中点位置坐标确定相邻两个FOV图像之间的目标误差。
S103、当目标误差满足预设误差阈值时,基于目标误差对相机的旋转角度进行校正。
其中,预设误差阈值可以是由用户根据实际情况预先设置的相邻两个FOV图像之间存在的误差像素点的个数,本实施例对预设误差阈值的具体数值不进行限定。示例性的,预设误差阈值可以表示为N个像素点。
其中,旋转角度可以是相机在安装时相对于轨道的旋转角度。
在本实施例中,校正操作可以是对相机的安装位置进行调整,例如可以是将相机向左旋转或者可以是将相机向右旋转,使得相机平面与轨道平面平行。具体的校正操作可以是调节旋转的螺丝,通过调节螺丝来控制相机旋转,从而实现对相机的旋转角度的校正。
具体的,当目标误差未满足预设误差阈值时,不对相机的旋转角度进行校正;当目标误差满足预设误差阈值时,基于目标误差对相机的旋转角度进行校正。在实际操作过程中,对相机的旋转角度进行校正可以包括将相机向左旋转或者将相机向右旋转,向左或向右旋转可以根据目标误差值的正负情况确定,具体的旋转角度也可以根据目标误差的值大小来确定。示例性的,若目标误差为正值且大小为5时,可以将相机向左旋转5度;若目标误差为负值且大小为5时,可以将相机向右旋转5度。
本发明实施例的技术方案是一个循环方案,当目标误差未满足预设误差阈值时,不需要对相机的旋转角度进行校正;当目标误差满足预设误差阈值时,基于目标误差对相机的旋转角度进行校正。之后再利用校正后的相机重新获取更新目标误差,若利用校正后的相机测得的更新目标误差依然大于预设误差阈值,则继续利用更新目标误差校正相机,直至更新目标误差不满足预设误差阈值。
本发明实施例的技术方案,通过获取相机在不同目标位置拍摄的斜线标定板的至少两个FOV图像,其中,斜线标定板上设置有若干条相互平行的斜线,根据相邻FOV图像的候选斜线的中点位置坐标确定相机的目标误差,当目标误差满足预设误差阈值时,基于目标误差对相机的旋转角度进行校正。本发明的技术方案,通过斜线标定板来确定相机的目标误差,进而根据目标误差对相机的旋转角度进行校正,能够代替人眼判断FOV图像的拼接效果,统一拼接效果的判断标准,并且降低操作人员的工作量,可以基于目标误差指导操作人员校正相机的旋转角度,使得最终相机获取到的PCBA板卡的图像更加准确。
可选的,根据相邻FOV图像的候选斜线的中点位置坐标确定所述相机的目标误差,包括:
根据目标位置和目标位置对应的斜线标定板的FOV图像确定相邻FOV图像。
在本实施例中,相邻FOV图像可以是左右相邻的FOV图像,也可以是上下相邻的FOV图像。示例性的,可以根据至少两个FOV图像和每个FOV图像对应的相机位置坐标确定两个FOV图像是否为相邻FOV图像。
具体的,在控制相机移动至目标位置对斜线标定板进行拍摄时,获取相机在目标位置所拍摄的斜线标定板的FOV图像以及FOV图像对应的目标位置,即相机位置坐标,根据目标位置和目标位置对应的斜线标定板的FOV图像确定相邻FOV图像。
若相邻FOV图像为左右相邻,则根据相邻FOV图像的候选斜线的中点位置坐标确定水平误差。
图6是本发明实施例中的一种相邻FOV图像为左右相邻时的示意图,如图6所示,两个相邻的FOV图像为左右相邻,因相机和轨道存在旋转角度的问题使得两个相邻FOV图像在进行拼接时存在水平误差,即同一条斜线标定板的斜线在左侧FOV图像中与右侧FOV图像中出现了拼接错位现象。
需要说明的是,候选斜线可以是用于确定左右相邻的FOV图像之间误差的斜线。优选的,若相邻FOV图像为左右相邻时,则候选斜线可以是左侧FOV图像的最后一列像素点确定的斜线以及右侧FOV图像的第一列像素点确定的斜线。在实现过程中,候选斜线的数量可以是多条。
在本实施例中,中点位置坐标可以是候选斜线的中点位置的像素的坐标,具体的,中点位置坐标可以包括中点的X轴坐标和中点的Y轴坐标。
其中,水平误差可以是左右相邻的FOV图像之间在水平方向上的误差,由于相邻FOV图像为水平方向拼接,因此水平误差也可以理解为左右相邻的FOV图像的候选斜线的中点位置坐标中Y轴坐标的误差。
具体的,若相邻FOV图像为左右相邻,则获取左侧FOV图像的至少一条候选斜线的中点位置坐标和右侧FOV图像的至少一条候选斜线的中点位置坐标,根据左侧FOV图像的至少一条候选斜线的中点位置坐标和右侧FOV图像的至少一条候选斜线的中点位置坐标确定与左侧FOV图像的候选斜线匹配的右侧FOV图像的候选斜线(例如可以将与左侧FOV图像的候选斜线距离最近的右侧FOV图像的候选斜线确定为与左侧FOV图像的候选斜线匹配的右侧FOV图像的候选斜线,或者可以将左侧FOV图像和右侧FOV图像中相同位置的候选斜线进行匹配,例如可以将左侧FOV图像的第一条候选斜线和右侧FOV图像的第一条候选斜线确定为一对匹配的候选斜线),若左侧FOV图像的候选斜线A1与右侧FOV图像的候选斜线B1匹配,则将左侧FOV图像的候选斜线A1的中点位置Y坐标与右侧FOV图像的候选斜线B1中点位置Y坐标的差值确定为水平误差。
若相邻FOV图像为上下相邻,则根据相邻FOV图像的候选斜线的中点位置坐标确定垂直误差。
图7是本发明实施例中的一种相邻FOV图像为上下相邻时的示意图,如图7所示,两个相邻的FOV图像为上下相邻,因相机和轨道存在旋转角度的问题使得两个相邻FOV图像在进行拼接时存在垂直误差,即同一条斜线标定板的斜线在上方FOV图像中与下方FOV图像中出现了拼接错位现象。
需要说明的是,候选斜线可以是用于确定上下相邻的FOV图像之间误差的斜线。优选的,若相邻FOV图像为上下相邻时,则候选斜线可以是上方FOV图像的最后一行像素点确定的斜线以及下方FOV图像的第一行像素点确定的斜线。在实现过程中,候选斜线的数量可以是多条。
其中,垂直误差可以是上下相邻的FOV图像之间在垂直方向上的误差,由于相邻FOV图像为垂直方向拼接,因此垂直误差也可以理解为上下相邻的FOV图像的候选斜线的中点位置坐标中X轴坐标的误差。
具体的,若相邻FOV图像为上下相邻,则获取上方FOV图像的至少一条候选斜线的中点位置坐标和下方FOV图像的至少一条候选斜线的中点位置坐标,根据上方FOV图像的至少一条候选斜线的中点位置坐标和下方FOV图像的至少一条候选斜线的中点位置坐标确定与上方FOV图像的候选斜线匹配的下方FOV图像的候选斜线(例如可以将与上方FOV图像的候选斜线距离最近的下方FOV图像的候选斜线确定为与上方FOV图像的候选斜线匹配的下方FOV图像的候选斜线,或者可以将上方FOV图像和下方FOV图像中相同位置的候选斜线进行匹配,例如可以将上方FOV图像的第一条候选斜线和下方FOV图像的第一条候选斜线确定为一对匹配的候选斜线),若上方FOV图像的候选斜线C1与下方FOV图像的候选斜线D1匹配,则将上方FOV图像的候选斜线C1的中点位置X坐标与下方FOV图像的候选斜线D1中点位置X坐标的差值确定为垂直误差。
集合斜线标定板上所有FOV图像对应的水平误差和垂直误差,将水平误差的中间值以及垂直误差的中间值确定为目标误差。
具体的,相邻FOV图像之间可以只存在水平误差(即垂直误差为0),也可以只存在垂直误差(即水平误差为0),还可以即存在水平误差又存在垂直误差。集合斜线标定板上所有FOV图像对应的水平误差和垂直误差,当相邻FOV图像之间只存在水平误差(即垂直误差为0)时,则将水平误差的中间值确定为目标误差;当相邻FOV图像之间只存在垂直误差(即水平误差为0)时,则将垂直误差的中间值确定为目标误差;当相邻FOV图像之间即存在水平误差又存在垂直误差时,则将水平误差的中间值和垂直误差的中间值共同确定为目标误差。
可选的,若相邻FOV图像为左右相邻,则根据相邻FOV图像的候选斜线的中点位置坐标确定水平误差,包括:
若相邻FOV图像为左右相邻,则获取左侧FOV图像的最后一列像素点的像素值以及右侧FOV图像的第一列像素点的像素值。
需要说明的是,最后一列像素点可以是左侧FOV图像上最右侧边缘的一列像素点,即相机在拍摄左侧FOV图像时相机在最大视野范围内所拍摄到的最右侧的一列像素点。相反的,第一列像素点可以是右侧FOV图像上最左侧边缘的一列像素点,即相机在拍摄右侧FOV图像时相机在最大视野范围内所拍摄到的最左侧的一列像素点。
具体的,若相邻FOV图像为左右相邻,则获取左侧FOV图像的最后一列像素点的像素值,以及获取右侧FOV图像的第一列像素点的像素值。
根据像素点的像素差值确定候选斜线。
具体的,若相邻FOV图像为左右相邻,则根据左侧FOV图像的最后一列像素点的像素值确定左侧FOV图像的至少一条候选斜线,根据右侧FOV图像的第一列像素点的像素值确定右侧FOV图像的至少一条候选斜线,根据左侧FOV图像的每条候选斜线的像素点和右侧FOV图像的每条候选斜线的像素点的像素差值确定候选斜线。
根据左侧FOV图像和右侧FOV图像中匹配的候选斜线的中点位置坐标确定水平误差。
具体的,根据至少一对左侧FOV图像和右侧FOV图像中匹配的候选斜线的中点位置坐标确定水平误差。
示例性的,图8是本发明实施例中的一种相邻FOV图像为左右相邻时的相机校正方法的示意图。如图8所示,对FOV图像中的像素值进行取反,使得斜线标定板上的斜线更加明显,当然也可以不进行取反操作进行相机校正,此处以进行取反操作后的FOV图像为例进行说明。如图8所示,左侧FOV图像存在一条候选斜线A1,右侧FOV图像存在一条候选斜线B1,左侧FOV图像的候选斜线A1与右侧FOV图像的候选斜线B1匹配。若候选斜线A1的中点位置坐标为(XA1,YA1),候选斜线B1的中点位置坐标为(XB1,YB1),则将左侧FOV图像和右侧FOV图像中匹配的候选斜线A1和B1的中点位置坐标(XA1,YA1)和(XB1,YB1)中的两个Y轴坐标相减,确定水平误差。
示例性的,若左侧FOV图像存在两条候选斜线A1和A2,右侧FOV图像存在两条候选斜线B1和B2,左侧FOV图像的候选斜线A1与右侧FOV图像的候选斜线B1匹配,左侧FOV图像的候选斜线A2与右侧FOV图像的候选斜线B2匹配,候选斜线A1的中点位置坐标为(XA1,YA1),候选斜线A2的中点位置坐标为(XA2,YA2),候选斜线B1的中点位置坐标为(XB1,YB1),候选斜线B2的中点位置坐标为(XB2,YB2),则将左侧FOV图像和右侧FOV图像中匹配的候选斜线A1和B1的中点位置坐标(XA1,YA1)和(XB1,YB1)中的两个Y轴坐标相减,确定水平误差1,将左侧FOV图像和右侧FOV图像中匹配的候选斜线A2和B2的中点位置坐标(XA2,YA2)和(XB2,YB2)中的两个Y轴坐标相减,确定水平误差2,将水平误差1和水平误差2进行从小到大的排序,取中间值作为最终的水平误差。同理,当左侧FOV图像和右侧FOV图像都存在大于两条候选斜线,即可能存在2个以上的水平误差时,将所有水平误差进行从小到大的排序,取中间值作为最终的水平误差。
可选的,若相邻FOV图像为上下相邻,则根据相邻FOV图像的候选斜线的中点位置坐标确定垂直误差,包括:
若相邻FOV图像为上下相邻,则获取上方FOV图像的最后一行像素点的像素值以及下方FOV图像的第一行像素点的像素值。
需要说明的是,最后一行像素点可以是上方FOV图像上最下方边缘的一行像素点,即相机在拍摄上方FOV图像时相机在最大视野范围内所拍摄到的最下方的一行像素点。相反的,第一行像素点可以是下方FOV图像上最上方边缘的一行像素点,即相机在拍摄下方FOV图像时相机在最大视野范围内所拍摄到的最上方的一行像素点。
具体的,若相邻FOV图像为上下相邻,则获取上方FOV图像的最后一行像素点的像素值,以及获取下方FOV图像的第一行像素点的像素值。
根据像素点的像素差值确定候选斜线。
具体的,若相邻FOV图像为上下相邻,则根据上方FOV图像的最后一行像素点的像素值确定上方FOV图像的至少一条候选斜线,根据下方FOV图像的第一行像素点的像素值确定下方FOV图像的至少一条候选斜线,根据上方FOV图像的每条候选斜线的像素点和下方FOV图像的每条候选斜线的像素点的像素差值确定候选斜线。
根据上方FOV图像和下方FOV图像中匹配的候选斜线的中点位置坐标确定垂直误差。
具体的,根据至少一对上方FOV图像和下方FOV图像中匹配的候选斜线的中点位置坐标确定垂直误差。
示例性的,图9是本发明实施例中的一种相邻FOV图像为上下相邻时的相机校正方法的示意图。如图9所示,对FOV图像中的像素值进行取反,使得斜线标定板上的斜线更加明显,当然也可以不进行取反操作进行相机校正,此处以进行取反操作后的FOV图像为例进行说明。如图9所示,上方FOV图像存在一条候选斜线C1,下方FOV图像存在一条候选斜线D1,上方FOV图像的候选斜线C1与下方FOV图像的候选斜线D1匹配。若候选斜线C1的中点位置坐标为(XC1,YC1),候选斜线D1的中点位置坐标为(XD1,YD1),则将上方FOV图像和下方FOV图像中匹配的候选斜线C1和D1的中点位置坐标(XC1,YC1)和(XD1,YD1)中的两个X轴坐标相减,确定垂直误差。
示例性的,若上方FOV图像存在两条候选斜线C1和C2,下方FOV图像存在两条候选斜线D1和D2,上方FOV图像的候选斜线C1与下方FOV图像的候选斜线D1匹配,上方FOV图像的候选斜线C2与下方FOV图像的候选斜线D2匹配,候选斜线C1的中点位置坐标为(XC1,YC1),候选斜线C2的中点位置坐标为(XC2,YC2),候选斜线D1的中点位置坐标为(XD1,YD1),候选斜线D2的中点位置坐标为(XD2,YD2),则将上方FOV图像和下方FOV图像中匹配的候选斜线C1和D1的中点位置坐标(XC1,YC1)和(XD1,YD1)中的两个X轴坐标相减,确定垂直误差1,将上方FOV图像和下方FOV图像中匹配的候选斜线C2和D2的中点位置坐标(XC2,YC2)和(XD2,YD2)中的两个X轴坐标相减,确定垂直误差2,将垂直误差1和垂直误差2进行从小到大的排序,取中间值作为最终的垂直误差。同理,当上方FOV图像和下方FOV图像都存在大于两条候选斜线,即可能存在2个以上的垂直误差时,将所有垂直误差进行从小到大的排序,取中间值作为最终的垂直误差。
可选的,根据像素点的像素差值确定候选斜线,包括:
将相邻像素点的像素差值大于第一差值阈值的像素点确定为目标端点。
其中,第一差值阈值可以是由用户根据实际情况下相邻像素点的像素值的差值大小设置的阈值,本实施例对第一差值阈值的具体数值不进行限定。
需要说明的是,目标端点可以是候选斜线的端点,一条候选斜线包括两个目标端点。
具体的,取一行或一列FOV图像的像素点,按一个方向(从上往下或从左往右)顺序获取像素值,将(上下相邻或左右相邻)像素点的像素差值大于第一差值阈值的像素点确定为目标端点。例如还可以是,将相邻黑白像素点发生跳变情况(例如可以是水平方向从左往右或垂直方向从上往下的连续像素点均为黑色,下一个相邻像素点突然跳变为白色,或者连续像素点均为白色,下一个相邻像素点突然跳变为黑色)的像素点确定为候选斜线的目标端点。
若两个目标端点之间的相邻像素点的像素差值小于第二差值阈值,且两个目标端点之间的像素点数量大于数量阈值,则将两个目标端点之间的区域确定为斜线标定板上的候选斜线。
其中,第二差值阈值可以是由用户根据实际情况下相邻像素点的像素值的差值大小设置的阈值,本实施例对第二差值阈值的具体数值不进行限定。优选的,第二差值阈值可以和第一差值阈值相同,也可以小于第一差值阈值。
其中,数量阈值可以是由用户根据实际情况下两个目标端点之间的像素点数量多少设置的阈值,本实施例对此不进行限定。优选的,数量阈值例如可以是5。
具体的,取一行或一列FOV图像的像素点,按一个方向(从上往下或从左往右)顺序获取像素值,若两个目标端点之间的相邻像素点的像素差值小于第二差值阈值,即相邻黑白像素点未发生跳变情况(例如可以是水平方向从左往右或垂直方向从上往下所有连续像素点均为黑色,或者所有连续像素点均为白色),且两个目标端点之间的像素点数量大于数量阈值,则将两个目标端点之间的区域确定为斜线标定板上的候选斜线。
可选的,在根据相邻FOV图像的候选斜线的中点位置坐标确定相机的目标误差之前,还包括:
根据相机拍摄的斜线标定板的FOV图像中的像素点的像素值确定第一峰值和第二峰值。
其中,第一峰值为第一个数量峰值对应的像素点的像素值,第二峰值为第二个数量峰值对应像素点的像素值。
具体的,第一峰值可以是斜线标定板的FOV图像中的像素点的像素值个数相对较多的两个中像素值较小的像素值,第二峰值可以是斜线标定板的FOV图像中的像素点的像素值个数相对较多的两个中像素值较大的像素值。
具体的,获取FOV图像中每个像素值对应的像素点的数量,并根据每个像素值和每个像素值对应的像素点的数量绘制曲线图,获取曲线图中的第一峰值和第二峰值。
根据第一峰值和第二峰值确定目标阈值。
其中,目标阈值可以是根据第一峰值和第二峰值确定的用于对FOV图像进行二值化处理的像素值阈值。
示例性的,图10是本发明实施例中的一种斜线标定板的FOV图像中的像素点的峰值曲线图。如图10所示,X轴坐标为像素点的像素值,Y轴坐标为像素值的个数,斜线标定板的FOV图像中的像素点的像素值个数最多的像素值为T1和T2,其中,像素值T1可以为第一峰值,像素值T2可以为第二峰值,第一峰值的个数为Hmax1,第二峰值的个数为Hmax2。根据第一峰值T1和第二峰值T2确定目标阈值T,具体的确定方法优选的可以是双峰法图像分割,因为斜线标定板是黑白双色,双峰是最明显的特征。
根据目标阈值对FOV图像进行二值化,以便根据二值化后的FOV图像确定目标误差。
可以知道的是,二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑色和白色的视觉效果。
具体的,根据目标阈值对FOV图像进行二值化,使得FOV图像呈现出明显的只有黑和白的视觉效果,便于后续候选斜线的确定。根据二值化后的FOV图像确定候选斜线以及候选斜线的中点位置坐标,根据候选斜线的中点位置坐标确定目标误差。
可选的,根据二值化后的FOV图像确定目标误差,包括:
对二值化后的FOV图像中的像素点的像素值进行取反。
在本实施例中,取反操作可以是将二值化后的FOV图像中的像素点的像素值为0的像素点的像素值变为255,将二值化后的FOV图像中的像素点的像素值为255的像素点的像素值变为0。
具体的,二值化后的FOV图像中斜线的像素点的像素值为0,斜线标定板白色背景的像素点的像素值为255,即斜线为黑色,斜线标定板的背景为白色。对二值化后的FOV图像中的像素点的像素值进行取反,FOV图像中斜线的像素点的像素值变为255,标定板白色背景的像素点的像素值变为0,即斜线变为白色,斜线标定板的背景变为黑色,使得斜线标定板上的斜线更加明显,便于候选斜线以及候选斜线的中点位置坐标的确定。
根据取反后的FOV图像确定目标误差。
具体的,根据取反后的FOV图像确定候选斜线以及候选斜线的中点位置坐标,根据候选斜线的中点位置坐标确定目标误差。
可选的,基于目标误差对相机的旋转角度进行校正,包括:
若垂直误差为正值,则将相机向左旋转预设角度。
其中,预设角度可以根据目标误差的值和预设的像素误差阈值确定。其中,预设的像素误差阈值可以由用户根据实际情况预先设置,预设的像素误差阈值可以包括预设的水平方向的像素误差阈值和垂直方向的像素误差阈值,本实施例对水平方向的像素误差阈值和垂直方向的像素误差阈值的大小不进行限定。优选的,水平方向的像素误差阈值例如可以是5个像素,垂直方向的像素误差阈值例如可以是5个像素。
具体的,若上下相邻的FOV图像的垂直误差为正值,即左侧FOV图像的候选斜线的中点位置坐标的X轴坐标的值和右侧FOV图像的候选斜线的中点位置坐标的X轴坐标的值的差值为正值,则将相机向左旋转,根据两个X轴坐标的差值和垂直方向的像素误差阈值确定预设角度的具体值。
若垂直误差为负值,则将相机向右旋转预设角度。
具体的,若上下相邻的FOV图像的垂直误差为负值,即左侧FOV图像的候选斜线的中点位置坐标的X轴坐标的值和右侧FOV图像的候选斜线的中点位置坐标的X轴坐标的值的差值为负值,则将相机向右旋转,根据两个X轴坐标的差值和垂直方向的像素误差阈值确定预设角度的具体值。
若水平误差为负值,则将相机向右旋转预设角度。
具体的,若左右相邻的FOV图像的水平误差为负值,即上方FOV图像的候选斜线的中点位置坐标的Y轴坐标的值和下方FOV图像的候选斜线的中点位置坐标的Y轴坐标的值的差值为负值,则将相机向右旋转,根据两个Y轴坐标的差值和水平方向的像素误差阈值确定预设角度的具体值。
若水平误差为正值,则将相机向左旋转预设角度。
具体的,若左右相邻的FOV图像的水平误差为正值,即上方FOV图像的候选斜线的中点位置坐标的Y轴坐标的值和下方FOV图像的候选斜线的中点位置坐标的Y轴坐标的值的差值为正值,则将相机向左旋转,根据两个Y轴坐标的差值和水平方向的像素误差阈值确定预设角度的具体值。
在实际操作过程中,若相邻FOV图像同时存在水平误差和垂直误差,则可先校正其中一种误差,再校正另一种误差,只需将两种误差都校正至小于或者等于预设的像素误差阈值即可,本实施例对校正水平误差和垂直误差的先后顺序不进行限定。
本发明实施例的技术方案,通过获取相机在不同目标位置拍摄的斜线标定板的至少两个FOV图像,其中,斜线标定板上设置有若干条相互平行的斜线,根据相邻FOV图像的候选斜线的中点位置坐标确定相机的目标误差,当目标误差满足预设误差阈值时,基于目标误差对相机的旋转角度进行校正。本发明的技术方案,通过斜线标定板来确定相机的目标误差,进而根据目标误差对相机的旋转角度进行校正,能够代替人眼判断FOV图像的拼接效果,统一了拼接效果的判断标准,能够做到客观地评判拼接情况,减少了拼接误差。同时,不需要再通过操作人员移动PCBA整板视图来确认各个FOV的拼接情况,减少了人员的操作,降低了操作人员的工作量,并且可以基于目标误差指导操作人员校正相机的旋转角度,大大节省了操作人员的操作时间,使得最终相机获取到的PCBA板卡的图像更加准确,提高了工作效率。
实施例二
图11是本发明实施例中的一种相机校正装置的结构示意图。本实施例可适用于相机校正的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供相机校正的功能的设备中,如图11所示,所述相机校正装置具体包括:获取模块201、第一确定模块202和校正模块203。
其中,获取模块,用于获取相机在不同目标位置拍摄的斜线标定板的至少两个FOV图像,其中,所述斜线标定板上设置有若干条相互平行的斜线;
第一确定模块,用于根据相邻FOV图像的候选斜线的中点位置坐标确定所述相机的目标误差;
校正模块,用于当所述目标误差满足预设误差阈值时,基于所述目标误差对所述相机的旋转角度进行校正。
可选的,所述第一确定模块202包括:
第一确定单元,用于根据所述目标位置和所述目标位置对应的斜线标定板的FOV图像确定相邻FOV图像;
第二确定单元,用于若相邻FOV图像为左右相邻,则根据所述相邻FOV图像的候选斜线的中点位置坐标确定水平误差;
第三确定单元,用于若相邻FOV图像为上下相邻,则根据所述相邻FOV图像的候选斜线的中点位置坐标确定垂直误差;
第四确定单元,用于集合所述斜线标定板上所有FOV图像对应的所述水平误差和所述垂直误差,将所述水平误差的中间值以及垂直误差的中间值确定为目标误差。
可选的,所述第二确定单元包括:
第一获取子单元,用于若相邻FOV图像为左右相邻,则获取左侧FOV图像的最后一列像素点的像素值以及右侧FOV图像的第一列像素点的像素值;
第一确定子单元,用于根据所述像素点的像素差值确定候选斜线;
第二确定子单元,用于根据所述左侧FOV图像和所述右侧FOV图像中匹配的候选斜线的中点位置坐标确定水平误差。
可选的,所述第三确定单元包括:
第二获取子单元,用于若相邻FOV图像为上下相邻,则获取上方FOV图像的最后一行像素点的像素值以及下方FOV图像的第一行像素点的像素值;
第三确定子单元,用于根据所述像素点的像素差值确定候选斜线;
第四确定子单元,用于根据所述上方FOV图像和所述下方FOV图像中匹配的候选斜线的中点位置坐标确定垂直误差。
可选的,所述第一确定子单元或第三确定子单元具体用于:
将相邻像素点的像素差值大于第一差值阈值的像素点确定为目标端点;
若两个目标端点之间的相邻像素点的像素差值小于第二差值阈值,且两个目标端点之间的像素点数量大于数量阈值,则将所述两个目标端点之间的区域确定为所述斜线标定板上的候选斜线。
可选的,所述相机校正装置还包括:
第二确定模块,用于根据所述相机拍摄的斜线标定板的FOV图像中的像素点的像素值确定第一峰值和第二峰值;所述第一峰值为第一个数量峰值对应的像素点的像素值,第二峰值为第二个数量峰值对应像素点的像素值;
第三确定模块,用于根据所述第一峰值和所述第二峰值确定目标阈值;
二值化模块,用于根据所述目标阈值对所述FOV图像进行二值化,以便根据二值化后的FOV图像确定目标误差。
可选的,所述二值化模块包括:
取反单元,用于对二值化后的FOV图像中的像素点的像素值进行取反;
第五确定单元,用于根据取反后的FOV图像确定目标误差。
可选的,所述校正模块203包括:
第一旋转单元,用于若垂直误差为正值,则将所述相机向左旋转预设角度;
第二旋转单元,用于若垂直误差为负值,则将所述相机向右旋转预设角度;
第三旋转单元,用于若水平误差为负值,则将所述相机向右旋转预设角度;
第四旋转单元,用于若水平误差为正值,则将所述相机向左旋转预设角度。
上述产品可执行本发明任意实施例所提供的相机校正方法,具备执行相机校正方法相应的功能模块和有益效果。
实施例三
图12示出了可以用来实施本发明的实施例的电子设备30的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图12所示,电子设备30包括至少一个处理器31,以及与至少一个处理器31通信连接的存储器,如只读存储器(ROM)32、随机访问存储器(RAM)33等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器31可以根据存储在只读存储器(ROM)32中的计算机程序或者从存储单元38加载到随机访问存储器(RAM)33中的计算机程序,来执行各种适当的动作和处理。在RAM 33中,还可存储电子设备30操作所需的各种程序和数据。处理器31、ROM 32以及RAM 33通过总线34彼此相连。输入/输出(I/O)接口35也连接至总线34。
电子设备30中的多个部件连接至I/O接口35,包括:输入单元36,例如键盘、鼠标等;输出单元37,例如各种类型的显示器、扬声器等;存储单元38,例如磁盘、光盘等;以及通信单元39,例如网卡、调制解调器、无线通信收发机等。通信单元39允许电子设备30通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器31可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器31的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器31执行上文所描述的各个方法和处理,例如相机校正方法:
获取相机在不同目标位置拍摄的斜线标定板的至少两个FOV图像,其中,所述斜线标定板上设置有若干条相互平行的斜线;
根据相邻FOV图像的候选斜线的中点位置坐标确定所述相机的目标误差;
当所述目标误差满足预设误差阈值时,基于所述目标误差对所述相机的旋转角度进行校正。
在一些实施例中,相机校正方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元38。在一些实施例中,计算机程序的部分或者全部可以经由ROM 32和/或通信单元39而被载入和/或安装到电子设备30上。当计算机程序加载到RAM 33并由处理器31执行时,可以执行上文描述的相机校正方法的一个或多个步骤。备选地,在其他实施例中,处理器31可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行相机校正方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (9)
1.一种相机校正方法,其特征在于,包括:
获取相机在不同目标位置拍摄的斜线标定板的至少两个FOV图像,其中,所述斜线标定板上设置有若干条相互平行的斜线;
根据相邻FOV图像的候选斜线的中点位置坐标确定所述相机的目标误差;
当所述目标误差满足预设误差阈值时,基于所述目标误差对所述相机的旋转角度进行校正;
其中,根据相邻FOV图像的候选斜线的中点位置坐标确定所述相机的目标误差,包括:
根据所述目标位置和所述目标位置对应的斜线标定板的FOV图像确定相邻FOV图像;
若相邻FOV图像为左右相邻,则根据所述相邻FOV图像的候选斜线的中点位置坐标确定水平误差;
若相邻FOV图像为上下相邻,则根据所述相邻FOV图像的候选斜线的中点位置坐标确定垂直误差;
集合所述斜线标定板上所有FOV图像对应的所述水平误差和所述垂直误差,将所述水平误差的中间值以及垂直误差的中间值确定为目标误差。
2.根据权利要求1所述的方法,其特征在于,若相邻FOV图像为左右相邻,则根据所述相邻FOV图像的候选斜线的中点位置坐标确定水平误差,包括:
若相邻FOV图像为左右相邻,则获取左侧FOV图像的最后一列像素点的像素值以及右侧FOV图像的第一列像素点的像素值;
根据所述像素点的像素差值确定候选斜线;
根据所述左侧FOV图像和所述右侧FOV图像中匹配的候选斜线的中点位置坐标确定水平误差。
3.根据权利要求1所述的方法,其特征在于,若相邻FOV图像为上下相邻,则根据所述相邻FOV图像的候选斜线的中点位置坐标确定垂直误差,包括:
若相邻FOV图像为上下相邻,则获取上方FOV图像的最后一行像素点的像素值以及下方FOV图像的第一行像素点的像素值;
根据所述像素点的像素差值确定候选斜线;
根据所述上方FOV图像和所述下方FOV图像中匹配的候选斜线的中点位置坐标确定垂直误差。
4.根据权利要求2或3所述的方法,其特征在于,根据所述像素点的像素差值确定候选斜线,包括:
将相邻像素点的像素差值大于第一差值阈值的像素点确定为目标端点;
若两个目标端点之间的相邻像素点的像素差值小于第二差值阈值,且两个目标端点之间的像素点数量大于数量阈值,则将所述两个目标端点之间的区域确定为所述斜线标定板上的候选斜线。
5.根据权利要求1所述的方法,其特征在于,在根据相邻FOV图像的候选斜线的中点位置坐标确定所述相机的目标误差之前,还包括:
根据所述相机拍摄的斜线标定板的FOV图像中的像素点的像素值确定第一峰值和第二峰值;所述第一峰值为第一个数量峰值对应的像素点的像素值,第二峰值为第二个数量峰值对应像素点的像素值;
根据所述第一峰值和所述第二峰值确定目标阈值;
根据所述目标阈值对所述FOV图像进行二值化,以便根据二值化后的FOV图像确定目标误差。
6.根据权利要求5所述的方法,其特征在于,根据二值化后的FOV图像确定目标误差,包括:
对二值化后的FOV图像中的像素点的像素值进行取反;
根据取反后的FOV图像确定目标误差。
7.根据权利要求1所述的方法,其特征在于,基于所述目标误差对所述相机的旋转角度进行校正,包括:
若垂直误差为正值,则将所述相机向左旋转预设角度;
若垂直误差为负值,则将所述相机向右旋转预设角度;
若水平误差为负值,则将所述相机向右旋转预设角度;
若水平误差为正值,则将所述相机向左旋转预设角度。
8.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的相机校正方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的相机校正方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211552890.8A CN115631249B (zh) | 2022-12-06 | 2022-12-06 | 一种相机校正方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211552890.8A CN115631249B (zh) | 2022-12-06 | 2022-12-06 | 一种相机校正方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115631249A CN115631249A (zh) | 2023-01-20 |
CN115631249B true CN115631249B (zh) | 2023-05-26 |
Family
ID=84910333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211552890.8A Active CN115631249B (zh) | 2022-12-06 | 2022-12-06 | 一种相机校正方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115631249B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113133319A (zh) * | 2019-10-31 | 2021-07-16 | 深圳市大疆创新科技有限公司 | 标定板、测试角分辨率的方法、装置及计算机存储介质 |
CN114459383A (zh) * | 2022-02-28 | 2022-05-10 | 嘉兴市像景智能装备有限公司 | 一种基于正弦条纹相移轮廓术的标定方法及实施装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103076330A (zh) * | 2013-01-05 | 2013-05-01 | 王锦峰 | 多面阵相机aoi设备及其拍摄图像方法 |
CN105139393B (zh) * | 2015-08-19 | 2018-03-02 | 中国航空工业集团公司北京长城航空测控技术研究所 | 线阵相机内参数的标定方法 |
CN106780388B (zh) * | 2016-12-22 | 2020-05-19 | 哈尔滨工业大学 | 一种线阵相机光学畸变矫正方法 |
CN114638824B (zh) * | 2022-05-11 | 2022-08-23 | 成都数联云算科技有限公司 | 基于aoi设备采集图像的融合方法、装置、设备和介质 |
-
2022
- 2022-12-06 CN CN202211552890.8A patent/CN115631249B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113133319A (zh) * | 2019-10-31 | 2021-07-16 | 深圳市大疆创新科技有限公司 | 标定板、测试角分辨率的方法、装置及计算机存储介质 |
CN114459383A (zh) * | 2022-02-28 | 2022-05-10 | 嘉兴市像景智能装备有限公司 | 一种基于正弦条纹相移轮廓术的标定方法及实施装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115631249A (zh) | 2023-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6934026B2 (ja) | ビジョンシステムでラインを検出するためのシステム及び方法 | |
WO2017067342A1 (zh) | 板卡位置检测方法及装置 | |
CN110555838A (zh) | 基于图像的零件故障检测方法及装置 | |
JP6463593B2 (ja) | ビジョンシステムでラインを検出するためのシステム及び方法 | |
CN115272291A (zh) | 一种贴膜的缺陷检测方法、装置、设备及存储介质 | |
CN111311671B (zh) | 一种工件测量方法、装置、电子设备及存储介质 | |
WO2021190331A1 (zh) | 确定相机布局位置的方法、装置、终端设备及存储介质 | |
CN115631249B (zh) | 一种相机校正方法、装置、设备和存储介质 | |
CN115311624B (zh) | 一种边坡位移监测方法、装置、电子设备及存储介质 | |
CN116668843A (zh) | 一种拍摄状态的切换方法、装置、电子设备以及存储介质 | |
CN112637587B (zh) | 坏点检测方法及装置 | |
CN115829911A (zh) | 检测系统的成像一致性的方法、装置和计算机存储介质 | |
CN114734444A (zh) | 一种目标定位方法、装置、电子设备及存储介质 | |
CN112837285A (zh) | 一种板面图像的边缘检测方法及装置 | |
CN117115233B (zh) | 一种基于机器视觉的尺寸测量方法、装置及电子设备 | |
CN117689660B (zh) | 基于机器视觉的保温杯温度质检方法 | |
CN114092890B (zh) | 区域内可容纳人数的确定方法、装置、设备及介质 | |
CN116952166B (zh) | 汽车门把手总成的零件检测方法、装置、设备及介质 | |
CN116182807B (zh) | 一种姿态信息确定方法、装置、电子设备、系统和介质 | |
CN112991179B (zh) | 用于输出信息的方法、装置、设备以及存储介质 | |
CN117783132A (zh) | 工件自动检测方法、装置、电子设备以及存储介质 | |
CN117496190A (zh) | 一种视觉跟随方法、装置、电子设备和存储介质 | |
CN117876475A (zh) | 一种图像采集方法、装置、设备及存储介质 | |
CN116740766A (zh) | 煤矿人员检测方法、装置、电子设备及存储介质 | |
CN116385463A (zh) | 一种车道线检测方法、装置、电子设备及存储介质 |
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 |