CN115100225A - 一种相机视场的误差场确定方法、装置、电子设备及介质 - Google Patents
一种相机视场的误差场确定方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN115100225A CN115100225A CN202210506054.XA CN202210506054A CN115100225A CN 115100225 A CN115100225 A CN 115100225A CN 202210506054 A CN202210506054 A CN 202210506054A CN 115100225 A CN115100225 A CN 115100225A
- Authority
- CN
- China
- Prior art keywords
- pixel
- error
- circular array
- circle
- array image
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000005259 measurement Methods 0.000 claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 17
- 239000011159 matrix material Substances 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 40
- 230000008569 process Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000002474 experimental method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000003708 edge detection Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009897 systematic effect Effects 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/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- 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/70—Determining position or orientation of objects or cameras
-
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种相机视场的误差场确定方法、装置、电子设备及介质,该方法包括:获取通过目标相机采集用于建立误差场的圆形阵列图像;根据各个圆心的位置,计算各个圆心之间的测量像素距离;获取各个圆心中各圆心之间的物理距离,并根据各个圆心之间的物理距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差;根据圆形阵列图像中各个圆心之间的像素误差,确定目标相机对应的误差场,误差场用于表征各个像素点的位置与各个像素点对应的像素误差之间的关联关系。通过本发明的方法,基于各个圆心之间的像素误差建立的误差场可以从像素级别使得建立的误差场更加准确。
Description
技术领域
本发明涉及图像处理技术领域,具体而言,本发明涉及一种相机视场的误差场确定方法、装置、电子设备及介质。
背景技术
高质量的影像测量仪往往具备高精度、高重复测量精度等特征。影像测量仪误差主要分为系统误差和随机误差。在仪器的使用过程中,应当尽量减少系统误差对测量精度的影响。系统误差主要来源于镜头畸变、光源均匀度以及边缘检测精度等。一是镜头畸变导致图像存在扭曲变形、几何失真现象;二是光源并不是那么的稳定、均匀导致图像在阈值分割时并不准确;三是亚像素边缘检测算法定位精度仍然受周围像素的影响,且当参与计算的像素个数或者像素周围没有分布在边缘两侧时,其存在一定的定位误差。
为此,为了进一步提升影像测量仪精度,控制仪器系统误差是亟待解决的问题。现有技术中,使用大尺寸网格标准板建立误差场,其制作精度低;且在提取网格交点的误差时,需先定位出网格标准板中每条横线和纵线的边缘,再求取所有直线交叉点的误差。该方法在提取交点时过程复杂且定位精度欠缺。由此,现有技术中基于网格标准板建立误差场的精度较低,使得基于该误差场进行检测时的检测精度也较低。
发明内容
本发明所要解决的技术问题是提供了一种相机视场的误差场确定方法、装置、电子设备及介质,旨在解决上述至少一个技术问题。
第一方面,本发明解决上述技术问题的技术方案如下:一种相机视场的误差场确定方法,该方法包括:
获取通过目标相机采集用于建立误差场的圆形阵列图像,圆形阵列图像为m行n列的矩形点阵图像,圆形阵列图像中的每个圆表征了一个像素点;
根据圆形阵列图像,确定圆形阵列图像中每个圆的圆心的位置;
根据各个圆心的位置,计算各个圆心之间的测量像素距离;
获取各个圆心中各圆心之间的物理距离,并根据各个圆心之间的物理距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差;
根据圆形阵列图像中各个圆心之间的像素误差,确定目标相机对应的误差场,误差场用于表征各个像素点的位置与各个像素点对应的像素误差之间的关联关系,各个像素点包括圆形阵列图像中的各个圆点。
本发明的有益效果是:本发明方案中,采用圆形阵列图像建立误差场,在圆形阵列图像中,通过圆形阵列图像中的每个圆表征像素点,通过各个圆心之间的物理距离和测量距离,确定圆形阵列图像中各个圆心之间的像素误差,各个圆心之间的物理距离和测量距离基于圆心的位置即可确定,相较于确定网格标准板中网格的交点的误差方法更加简单,且基于各个圆心之间的像素误差建立的误差场可以从像素级别使得建立的误差场更加准确。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,上述根据圆形阵列图像,包括:
根据圆形阵列图像,提取圆形阵列图像中各个圆的圆形轮廓;
根据各个圆形轮廓,通过最小二乘法拟合得到圆形阵列图像中每个圆的圆心的位置;
上述根据各个圆心之间的物理距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差,包括:
根据各个圆心之间的物理距离和每个像素的长度,确定各个圆心之间的物理像素距离;
根据各个圆心之间的物理像素距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差。
采用上述进一步方案的有益效果是,通过最小二乘法可使得确定的每个圆的圆心的位置更加准确,根据亚像素级的物理像素距离和测量像素距离来确定圆形阵列图像中各个圆心之间的像素误差,可以更加准确的体现出各个圆心之间的真实像素误差。
进一步,上述根据各个圆心之间的物理像素距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差,包括:
对于圆形阵列图像中的每行,依次计算行中的第一个圆的圆心与行中各个圆的圆心之间的测量像素距离,根据行中各圆之间的物理像素距离和测量像素距离,确定行中各个圆之间像素误差;
对于圆形阵列图像中的每列,依次计算列中的第一个圆的圆心与列中各个圆的圆心之间的测量像素距离,根据列中各圆之间的物理像素距离和测量像素距离,确定列中各个圆之间像素误差,圆形阵列图像中各个圆心之间的像素误差包括各行中各个圆之间像素误差和各列中各个圆之间像素误差。
采用上述进一步方案的有益效果是,对于圆形阵列图像,分别按照行和列计算各个圆之间像素误差,可以减少重复计算,且计算方式更加简单。
进一步,该方法还包括:
对于圆形阵列图像中的各矩形中的每个矩形,确定矩形内的目标点的第一位置,其中,对于每个矩形,矩形是由圆形阵列图像中的行对应的相邻两个圆和列对应的相邻两个圆生成的,目标点为矩形中的任一点;
对于每个矩形,确定目标点与矩形的竖直方向上的第一交点的第二位置和第二交点的第三位置;
对于每个矩形,根据矩形中各圆之间的像素误差、第一位置、第二位置和第三位置,确定目标点在水平方向上的横向像素误差,以及目标点在竖直方向上的纵向像素误差;
对于每个矩形,根据目标点的横向像素误差和纵向像素误差,确定目标点的像素误差,像素误差包括横向像素误差和纵向像素误差;
上述根据圆形阵列图像中各个圆心之间的像素误差,确定目标相机对应的误差场,误差场用于表征各个像素点的位置与各个像素点对应的像素误差之间的关联关系,各个像素点包括圆形阵列图像中的各个圆点,包括:
根据圆形阵列图像中各个圆心之间的像素误差和各个目标点的像素误差,确定目标相机对应的误差场,误差场用于表征各个像素点的位置与各个像素点对应的像素误差之间的关联关系,各个像素点包括圆形阵列图像中的各个圆点和各个目标点。
采用上述进一步方案的有益效果是,在基于各个圆心之间的像素误差建立误差场的过程中,考虑到相机视场中除各圆心之外的其他像素点的像素误差,可使得基于圆形阵列图像中各个圆心之间的像素误差和各个目标点的像素误差确定的目标相机对应的误差场更加准确。
进一步,若圆形阵列图像中的各圆心不在同一水平线上,该方法还包括:
对于圆形阵列图像中的每行,将行中的各个圆心投影至水平方向,得到投影后的各圆心的位置;
对于圆形阵列图像中的每行,根据该行中投影后的各圆心的位置和投影前的各圆心的位置,确定行中各圆心对应的横向投影误差;
对于圆形阵列图像中的每行,根据该行中各圆心对应的横向投影误差对该行中各圆心的横向像素误差进行误差补偿,得到横向补偿后的各个圆的圆心位置;
对于圆形阵列图像中进行水平方向投影后的每列,将该列中的各个圆心投影至竖直方向,得到投影后的各圆心的位置;
对于圆形阵列图像中进行水平方向投影后的每列,根据该列中投影后的各圆心的位置和投影前的各圆心的位置,确定列中各圆心对应的纵向投影误差;
对于圆形阵列图像中进行水平方向投影后的每列,根据该列中各圆心对应的纵向投影误差对该列中各圆心的纵向像素误差进行误差补偿,得到纵向补偿后的各个圆心的圆心位置;
根据横向补偿后的各个圆的圆心位置和纵向补偿后的各个圆心的圆心位置,确定标准圆形阵列;
上述根据圆形阵列图像中各个圆心之间的像素误差和各个目标点的像素误差,确定目标相机对应的误差场,包括:
根据标准圆形阵列各个圆心之间的像素误差和各个目标点的像素误差,确定目标相机对应的误差场。
采用上述进一步方案的有益效果是,考虑到相机镜头畸变的情况,在建立误差场的过程中,确定各个圆心对应的投影误差,通过该投影误差对圆形阵列图像中的各个圆的像素误差进行补偿,得到标准圆形阵列,通过该标准圆形阵列建立的误差场可以对相机镜头畸变的情况进行校正,使得确定的误差场更准确。
进一步,该方法还包括:
获取通过目标相机采集的目标图像;
对于目标图像中的待处理像素点,根据待处理像素点在目标图像中的位置和误差场,确定待处理像素点对应的像素误差;
根据像素误差对待处理像素点的位置进行补偿,得到补偿后待处理像素点的位置。
采用上述进一步方案的有益效果是,在建立好误差场后,可基于该误差场对目标相机采集的目标图像进行补偿,以使得补偿后的待处理像素点的位置更加准确。
进一步,上述误差场是基于标准圆形阵列建立的,该方法还包括:
根据待处理像素点的位置和标准圆形阵列,确定待处理像素点相对于标准圆形阵列的目标横向投影误差和目标纵向投影误差;
根据像素误差对待处理像素点的位置进行补偿,得到补偿后待处理像素点的位置,包括:
根据像素误差、目标横向投影误差和目标纵向投影误差,对待处理像素点的位置进行补偿,得到补偿后待处理像素点的位置。
采用上述进一步方案的有益效果是,考虑到相机镜头畸变的情况,在对待处理像素点的位置进行补偿的过程中,还基于待处理像素点相对于标准圆形阵列的目标横向投影误差和目标纵向投影误差对待处理像素点的位置进行补偿,使得最终确定的待处理像素点的位置更加准确。
第二方面,本发明为了解决上述技术问题还提供了一种相机视场的误差场确定装置,该装置包括:
图像获取模块,用于获取通过目标相机采集用于建立误差场的圆形阵列图像,圆形阵列图像为m行n列的矩形点阵图像,圆形阵列图像中的每个圆表征了一个像素点;
圆心位置确定模块,用于根据圆形阵列图像,确定圆形阵列图像中的每个圆的圆心的位置;
测量像素距离确定模块,用于根据各个圆心的位置,计算各个圆心之间的测量像素距离;
像素误差确定模块,用于获取各个圆心中各圆心之间的物理距离,并根据各个圆心之间的物理距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差;
误差场建立模块,用于根据圆形阵列图像中各个圆心之间的像素误差,确定目标相机对应的误差场,误差场用于表征各个像素点的位置与各个像素点对应的像素误差之间的关联关系,各个像素点包括圆形阵列图像中的各个圆点。
第三方面,本发明为了解决上述技术问题还提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时实现本申请的相机视场的误差场确定方法。
第四方面,本发明为了解决上述技术问题还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本申请的相机视场的误差场确定方法。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍。
图1为本发明一个实施例提供的一种相机视场的误差场确定方法的流程示意图;
图2为本发明一个实施例提供的一种圆形阵列图像的示意图;
图3为本发明一个实施例提供的一种圆形阵列图像中圆心横向排序示意图;
图4为本发明一个实施例提供的一种圆形阵列图像中圆心纵向排序示意图;
图5为本发明一个实施例提供的一种圆形阵列图像中第一行圆的示意图;
图6为本发明一个实施例提供的一种圆形阵列图像中第一列圆的示意图;
图7为本发明一个实施例提供的一种基于圆形阵列图像建立的误差场的示意图;
图8为本发明一个实施例提供的一种圆形阵列图像中的矩形示意图;
图9为本发明一个实施例提供的一种目标点P的像素误差的确定过程示意图;
图10为本发明一个实施例提供的一种相机镜头畸变情况下对应的圆形阵列图像中的各圆心的示意图;
图11为本发明一个实施例提供的一种圆形阵列图像中第一行圆的水平方向投影示意图;
图12为本发明一个实施例提供的一种圆形阵列图像中各行的圆心向X方向(水平方向)投影示意图;
图13为本发明一个实施例提供的一种圆形阵列图像中第一列圆向竖直方向投影的示意图;
图14为本发明一个实施例提供的一种圆形阵列图像中各行的圆心向Y方向投影的示意图;
图15为本发明一个实施例提供的一种横向投影误差补偿后的各圆心的位置示意图;
图16为本发明一个实施例提供的一种纵向投影误差补偿后的各圆心的位置示意图;
图17为本发明一个实施例提供的一种横向补偿和纵向补偿后对应的标准圆形阵列中的各个圆的圆心位置示意图;
图18为本发明一个实施例提供的一种像素补偿的结果示意图;
图19为本发明一个实施例提供的第一次实验的结果示意图;
图20为本发明一个实施例提供的第二次实验的结果示意图;
图21为本发明一个实施例提供的一种相机视场的误差场确定方法的流程示意图;
图22为本发明一个实施例提供的一种相机视场的误差场确定装置的结构示意图;
图23为本发明一个实施例提供的一种电子设备的结构示意图。
具体实施方式
以下对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
下面以具体实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
本发明实施例所提供的方案可以适用于任何确定相机视场的误差场的应用场景中。本发明实施例所提供的方案可以由任一电子设备执行,比如,可以是用户的终端设备,上述终端设备可以是任何可以安装应用,并可通过应用访问网页的终端设备,包括以下至少一项:智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能电视、智能车载设备。
本发明实施例提供了一种可能的实现方式,如图1所示,提供了一种相机视场的误差场确定方法的流程图,该方案可以由任一电子设备执行,例如,可以是终端设备,或者由终端设备和服务器共同执行。为描述方便,下面将以服务器作为执行主体为例对本发明实施例提供的方法进行说明,如图1中所示的流程图,该方法可以包括以下步骤:
步骤S110,获取通过目标相机采集用于建立误差场的圆形阵列图像,圆形阵列图像为m行n列的矩形点阵图像,圆形阵列图像中的每个圆表征了一个像素点;
步骤S120,根据圆形阵列图像,确定圆形阵列图像中每个圆的圆心的位置;
步骤S130,根据各个圆心的位置,计算各个圆心之间的测量像素距离;
步骤S140,获取各个圆心中各圆心之间的物理距离,并根据各个圆心之间的物理距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差;
步骤S150,根据圆形阵列图像中各个圆心之间的像素误差,确定目标相机对应的误差场,误差场用于表征各个像素点的位置与各个像素点对应的像素误差之间的关联关系,各个像素点包括圆形阵列图像中的各个圆点。
通过本发明的方法,采用圆形阵列图像建立误差场,在圆形阵列图像中,通过圆形阵列图像中的每个圆表征像素点,通过各个圆心之间的物理距离和测量距离,确定圆形阵列图像中各个圆心之间的像素误差,各个圆心之间的物理距离和测量距离基于圆心的位置即可确定,相较于确定网格标准板中网格的交点的误差方法更加简单,且基于各个圆心之间的像素误差建立的误差场可以从像素级别使得建立的误差场更加准确。
下面结合以下具体的实施例,对本发明的方案进行进一步的说明,在该实施例中,相机视场的误差场确定方法可以包括以下步骤:
步骤S110,获取通过目标相机采集用于建立误差场的圆形阵列图像,圆形阵列图像为m行n列的矩形点阵图像,圆形阵列图像中的每个圆表征了一个像素点。
其中,目标相机可以是高精度的CCD相机,该目标相机可用于采集小尺度工件的图像。
其中,矩形点阵图像是由m行n列相互平行且间距固定的圆形阵列组成的点阵图像,该圆形阵列图像恰好能覆盖相机视场,这该矩形点阵图像可参见图2所示的圆形阵列图像示意图,在图2中,每个圆点表示一个像素点,每个像素点的位置表示该像素点对应的圆点的圆心的位置。m和n可以相同,也可以不同,作为一个示例,m=n=61。
可以理解的是,上述圆形阵列图像中的各像素点还可通过棋盘格或其他网格线等方式进行表示。均在本发明的保护范围内。
步骤S120,根据圆形阵列图像,确定圆形阵列图像中每个圆的圆心的位置。
步骤S130,根据各个圆心的位置,计算各个圆心之间的测量像素距离。
其中,测量像素距离指的是两个圆心之间像素级的距离,该测量像素距离通过相关算法确定。可选的,在本申请方案中,可采用计算欧式距离的方法,计算各个圆心之间的测量像素距离,则测量像素距离可以通过欧式距离表示。
在本申请方案中,为了达到测量精度需求,上述根据所述圆形阵列图像,包括:根据圆形阵列图像,提取圆形阵列图像中各个圆的圆形轮廓;根据各个圆形轮廓,通过最小二乘法拟合得到圆形阵列图像中每个圆的圆心的位置。可选的,可使用亚像素边缘检测算法提取出圆形阵列图像中所有圆的边缘轮廓点集(圆形轮廓对应的集合),根据得到的边缘轮廓点集,使用最小二乘法对各个圆进行拟合,得到每个圆的圆心的坐标,即圆心的位置。由于提取到的圆心集合是无序的,而本申请方案中需要以圆心横向方向、纵向方向建立误差补偿表。由此,可将提取到的圆心集合分别按照横向方向(水平方向)和纵向方向(竖直方向)顺序排列,具体可参见图3所示的圆心横向排序示意图和图4所示的圆心纵向排序示意图。
步骤S140,获取各个圆心中各圆心之间的物理距离,并根据各个圆心之间的物理距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差。
其中,像素误差指的是通过目标相机拍摄的图像中,各个像素点的位置相对于真实位置的位置偏差,物理距离指的是圆形阵列图像中,各个圆心之间的固定距离,该物理距离可以是预先设定好的。可选的,上述根据各个圆心之间的物理距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差,包括:
根据各个圆心之间的物理距离和每个像素的长度,确定各个圆心之间的物理像素距离;
根据各个圆心之间的物理像素距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差。
通过像素级的物理像素距离和测量像素距离可以更加准确的确定出像素误差。其中,像素的长度通常为一个设定值,比如,为σmm。
在本申请的方案中,由于圆形阵列图像包括m行n列的圆,则可按照行和列的方式计算物理像素距离和测量像素距离,具体的,上述根据各个圆心之间的物理像素距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差,包括:
对于圆形阵列图像中的每行,依次计算行中的第一个圆的圆心与行中各个圆的圆心之间的测量像素距离,根据行中各圆之间的物理像素距离和测量像素距离,确定行中各个圆之间像素误差;
对于圆形阵列图像中的每列,依次计算列中的第一个圆的圆心与列中各个圆的圆心之间的测量像素距离,根据列中各圆之间的物理像素距离和测量像素距离,确定列中各个圆之间像素误差,圆形阵列图像中各个圆心之间的像素误差包括各行中各个圆之间像素误差和各列中各个圆之间像素误差。
作为一个示例,假设物理距离记为D′mm,1个像素点的像素长度为σmm,则相邻两个圆心之间的物理像素距离为:D=D′/σ,单位为pixel,在本示例中,以圆形阵列图像中的第一行圆为例,计算该第一行各圆之间的像素误差,如图5所示的第一行圆的示意图,通过建立的坐标轴表征第一行中各个圆的圆心的位置,第一行的圆的圆心的位置分别记为:C0,0,C0,1,C0,2,C0,3,···,C0,n-1,C0,n,根据第一行的各个圆的圆心的位置,依次计算C0,0与第一行中各个圆的圆心之间的欧式距离(测量距离),可表示为D0j=C0,j-C0,0,其中,j表示第一行中的第j个圆心,j为0,···,n,比如,D00表示第一个圆的圆心与本身之间的欧式距离,通常为0,然后根据各个欧式距离和σ,计算得到第一行中各个圆心之间的像素误差∈0j,表示为:∈0j=D*j-D0j,j=0,1,2,3,…,n。对圆形阵列图像中每行圆都进行上述相同的操作,即可得到各行圆对应的像素误差。
同理,可采用确定每行中各圆之间的像素误差的方式,确定每列中各圆之间的像素误差,参见图6所示的第一列圆的示意图,通过建立的坐标轴表征第一列中各个圆的圆心的位置,第一列的圆的圆心的位置分别记为:C0,0,C1,0,C2,0,C3,0,···,Cn-1,0,Cn,0,根据第一列的各个圆的圆心的位置,依次计算C0,0与第一列中各个圆的圆心之间的欧式距离(测量距离),可表示为Dj0=Cj,0-C0,0,其中,j表示第一列中的第j个圆心,j为0,···,n,比如,D00表示第一个圆的圆心与本身之间的欧式距离,通常为0,然后根据各个欧式距离和σ,计算得到第一列中各个圆心之间的像素误差∈j0,表示为:∈j0=D*j-Dj0,j=0,1,2,3,…,n。对圆形阵列图像中每列圆都进行上述相同的操作,即可得到各列圆对应的像素误差。
步骤S150,根据圆形阵列图像中各个圆心之间的像素误差,确定目标相机对应的误差场,误差场用于表征各个像素点的位置与各个像素点对应的像素误差之间的关联关系,各个像素点包括圆形阵列图像中的各个圆点。
其中,通过对圆形阵列图像上所有横向圆心、纵向圆心分别建立误差表,可以快速获得圆形阵列图像上任意圆心的误差。参见图7所示的误差表(误差场)的示意图,图7中,横坐标表示的是各个圆心,比如,a00表示的是第1行(列)的第1个圆,a03表示的是第1行的第4个圆,a15表示的是第2行的第6个圆;纵轴表示的是各个圆对应的像素误差。
在实际应用过程中,上述建立的误差场是基于圆心之间的像素误差建立的,不包括非圆心坐标上的像素点,基于该点,在本申请的可选方案中,该方法还包括:
对于圆形阵列图像中的各矩形中的每个矩形,确定矩形内的目标点的第一位置,其中,对于每个矩形,矩形是由圆形阵列图像中的行对应的相邻两个圆和列对应的相邻两个圆生成的,目标点为矩形中的任一点;
对于每个矩形,确定目标点与矩形的竖直方向上的第一交点的第二位置和第二交点的第三位置;
对于每个矩形,根据矩形中各圆之间的像素误差、第一位置、第二位置和第三位置,确定目标点在水平方向上的横向像素误差,以及目标点在竖直方向上的纵向像素误差;
对于每个矩形,根据目标点的横向像素误差和纵向像素误差,确定目标点的像素误差,像素误差包括横向像素误差和纵向像素误差;
其中,对于圆形阵列图像中的各个圆,四个上下相邻的圆之间可以形成一个矩形,具体参见图8所示的示意图,在图8中,目标点为p,p点的位置(第一位置)表示为p(x,y),该p点位于圆心Q12、Q22、Q21、Q11所围成的矩形内,这四个圆心的圆心分别为:Q12(x1,y2)、Q22(x2,y2)、Q21(x2,y1)、Q11(x1,y1),p点所在直线与该矩形在竖直方向上的交点分别为R1和R2,R1对应的第二位置表示为:R1(x,y1),R2对应的第二位置表示为:R2(x,y2),圆心Q12、Q22、Q21、Q11对应的横向像素误差分别为μ12_x、μ22_x、μ21_x、μ11_x,圆心Q12、Q22、Q21、Q11对应的纵向像素误差分别为μ12_y、μ22_y、μ21_y、μ11_y。
首先,根据双线性插值算法,确定p点在水平方向上的横向像素误差和纵向像素误差,具体过程为:
双线性插值算法的公式(1)为:
其中,通过f(p)表示p点对应的像素误差,则f(p1)表示p1点对应的像素误差,f(p2)表示p2点对应的像素误差;
根据该公式(1)可得点R1在水平方向上对应的双线性插值公式(2)为:
换种表达方式,R1点在水平方向上对应的横向像素误差μ1_x可表示为公式(3):
同理,根据该公式(1)可得点R2在水平方向上对应的双线性插值公式(4)为:
R2点在水平方向上对应的像素误差μ2_x可表示为公式(5):
目标点p在水平方向上对应的双线性插值公式(6)为:
目标点p在水平方向上对应的横向像素误差μ_x可表示为公式(7):
同理,R1在竖直方向上对应的双线性插值公式(8)为:
R1点在竖直方向上对应的纵向像素误差μ1_y可表示为公式(9):
R2在竖直方向上对应的双线性插值公式(10)为:
R2点在竖直方向上对应的像素误差μ2_y可表示为公式(11):
目标点p在竖直方向上对应的双线性插值公式(12)为:
目标点p在竖直方向上对应的纵向像素误差μ_y可表示为公式(13):
作为一个示例,参见图9所示的目标点P的像素误差的确定示意图,图9中,p点的位置p(x,y)=p(152,122),p点位于圆心C22(104,97)、C23(182,97)、C33(182,165)、C33(104,165)所围成的矩形内,C22、C23、C33和C33各自对应的像素误差(横向像素误差,纵向像素误差)分别为:C22(μ_x=0.0245,μ_y=-0.02844)、C23(μ_x=0.06732,μ_y=-0.05995)、C33(μ_x=0.05135,μ_y=0.01715)、C32(μ_x=0.0575,μ_y=-0.05407)。目标点p所在直线与该矩形的在竖直方向上的交点分别为R1和R2,R1对应的第二位置表示为:R1(x,y1),R2对应的第二位置表示为:R2(x,y2)。
则p点的像素误差为:(μ_x,μ_y)。
在确定了圆形阵列图像中各个圆之间的横向像素误差和纵向像素误差后,上述根据圆形阵列图像中各个圆心之间的像素误差,确定目标相机对应的误差场,误差场用于表征各个像素点的位置与各个像素点对应的像素误差之间的关联关系,各个像素点包括圆形阵列图像中的各个圆点,包括:
根据圆形阵列图像中各个圆心之间的像素误差和各个目标点的像素误差,确定目标相机对应的误差场,误差场用于表征各个像素点的位置与各个像素点对应的像素误差之间的关联关系,各个像素点包括圆形阵列图像中的各个圆点和各个目标点。
考虑到相机镜头畸变的情况,或者在使用标定板采集图像时,由于标定板摆放的位置致使图像成像时,各行圆心并不能保持绝对水平(同一行圆心保持y坐标相同,同一列圆心保持x坐标相同),使得圆形阵列图像中的各圆心不在同一水平线上,参见图10所示的相机镜头畸变情况下对应的圆形阵列图像中的各圆心的示意图,则该方法还包括:
对于圆形阵列图像中的每行,将行中的各个圆心投影至水平方向,得到投影后的各圆心的位置;具体可参见图11所示的第一行圆的水平方向投影示意图,图11中,黑色实心圆表示的未投影之前第一行中的各个圆的位置,空心的圆表示的是水平投影后第一行中各个圆的位置。
对于圆形阵列图像中的每行,根据该行中投影后的各圆心的位置和投影前的各圆心的位置,确定行中各圆心对应的横向投影误差,即图11中所示的Δy。
按照上述相同的方式,将圆形阵列图像中每行的各个圆投影至水平方向,使得各个圆的圆心在同一水平线上,参见图12所示的各行的圆心向X方向(水平方向)投影的示意图。
对于圆形阵列图像中进行水平方向投影后的每列,将该列中的各个圆心投影至竖直方向,得到投影后的各圆心的位置;具体可参见图13所示圆形阵列图像中进行水平方向投影后的第一列圆向竖直方向投影示意图,图13中,黑色实心圆表示圆形阵列图像中进行水平方向投影后的第一列中的各个圆的位置,空心的圆表示的是进行竖直投影后第一列中各个圆的位置;
对于圆形阵列图像中进行水平方向投影后的每列,根据该列中投影后的各圆心的位置和投影前的各圆心的位置,确定该列中各圆心对应的纵向投影误差,即图13中所示的Δx;
按照上述相同的方式,将圆形阵列图像中进行水平方向投影后每列的各个圆的圆心投影至水平方向,使得各个圆的圆心在同一水平线上,参见图14所示的各行的圆心向Y方向(竖直方向)投影的示意图。
在投影之后,对于圆形阵列图像中的每行,根据该行中各圆心对应的横向投影误差对该行中各圆心的横向像素误差进行误差补偿,得到横向补偿后的各个圆的圆心位置。具体可参见图15所示的横向投影误差补偿后的各圆心的位置示意图。
对于圆形阵列图像中进行水平方向投影后的每列,根据该列中各圆心对应的纵向投影误差对该列中各圆心的纵向像素误差进行误差补偿,得到纵向补偿后的各个圆心的圆心位置。具体可参见图16所示的纵向投影误差补偿后的各圆心的位置示意图。
在进行像素误差补偿后,根据横向补偿后的各个圆的圆心位置和纵向补偿后的各个圆心的圆心位置,确定标准圆形阵列;横向补偿后和纵向补偿后对应的标准圆形阵列中的各个圆的圆心位置参见图17所示,其中,空心的圆和左上角对应的黑色实心的圆即为标准圆形阵列,Δx=1mm,Δy=1mm。上述根据各个圆之间的纵向投影误差和横向投影误差对圆形阵列图像中的各个圆的圆心的位置进行像素补偿的结果参见图18所示,图18左侧为未补偿前圆形阵列图像中的各个圆的圆心的位置的示意图,图18右侧为补偿后各个圆的圆心的位置的示意图。
在确定了标准圆形阵列之后,该标准圆形阵列是对相机的镜头畸变进行校正后的圆形阵列,则基于标准圆形阵列建立的误差场可以更加准确的表征各个像素点与对应的像素误差之间的关联关系。即上述根据圆形阵列图像中各个圆心之间的像素误差和各个目标点的像素误差,确定目标相机对应的误差场,包括:
根据标准圆形阵列各个圆心之间的像素误差和各个目标点的像素误差,确定目标相机对应的误差场。
在建立了误差场之后,可根据该误差场对目标相机采集到的目标图像进行像素误差补偿,具体过程为:
获取通过目标相机采集的目标图像;
对于目标图像中的待处理像素点,根据待处理像素点在目标图像中的位置和误差场,确定待处理像素点对应的像素误差;
根据像素误差对待处理像素点的位置进行补偿,得到补偿后待处理像素点的位置。
其中,目标图像中可为针对某小尺寸工件的图像,通过误差补偿可使得后续对该工件的测量结果更加准确。待处理像素点可以是目标图像中的各个像素点,考虑到误差补偿仅对目标图像中的被拍摄物体(比如,小尺寸工件)的测量结果有影响,待处理像素点还可以仅是被拍摄物体对应的各个像素点。根据误差场对待处理像素点的位置进行补偿后,会使得最终的得到的待处理像素点的位置更加准确。
考虑到目标相机的镜头畸变,该方法还包括:
根据待处理像素点的位置和标准圆形阵列,确定待处理像素点相对于标准圆形阵列的目标横向投影误差和目标纵向投影误差;
根据像素误差对待处理像素点的位置进行补偿,得到补偿后待处理像素点的位置,包括:
根据像素误差、目标横向投影误差和目标纵向投影误差,对待处理像素点的位置进行补偿,得到补偿后待处理像素点的位置。
即确定待处理像素在水平方向的目标横向投影误差,以及在竖直方向的目标纵向投影误差,然后根据像素误差、目标横向投影误差和目标纵向投影误差,对待处理像素点的位置进行补偿,得到补偿后待处理像素点的位置。
作为一个示例,接上例,假如确定的待处理像素点为P,p点的像素误差为:(μ_x,μ_y),P点在X方向投影误差为Δy(目标横向投影误差),P点在Y方向的投影误差Δx(目标纵向投影误差)。则根据像素误差、目标横向投影误差和目标纵向投影误差,对待处理像素点的位置进行补偿,得到补偿后待处理像素点的位置可表示为:
P_x=152-Δy+μ_x
P_y=122-Δx+μ_y
在本发明的可选方案中,以两次实验验证通过本申请方案中的误差场进行补偿后的结果:第一次实验,以2.000mm圆直径进行误差补偿前、误差补偿后的测量数据对比。未进行误差补偿前,测量结果最大值为2.004mm,最小值为1.999mm,重复测量标准偏差为0.005mm;使用本发明方案进行测量,测量结果最大值为2.001mm,最小值为1.999mm,重复测量标准偏差为0.002mm。
第二次实验,以16.000mm圆心距进行误差补偿前、误差补偿后的测量数据对比。对16.000mm圆心距进行测试。未进行误差补偿前,测量结果最大值为16.013mm,最小值为15.995mm,重复测量标准偏差为0.018mm;使用本发明进行测量,测量结果最大值为15.999mm,最小值为15.998mm,重复测量标准偏差为0.001mm。通过上述两个实验可以看出,本发明在测量精度与重复测量稳定性在均有所提升,即通过本申请方案中的误差场进行补偿后,标准偏差比未补偿前小,表示通过本申请方案的误差场进行误差补偿可使得测量结果更加准确。
为了更好的说明及理解本发明所提供的方法的原理,下面结合一个可选的具体实施例对本发明的方案进行说明。需要说明的是,该具体实施例中的各步骤的具体实现方式并不应当理解为对于本发明方案的限定,在本发明所提供的方案的原理的基础上,本领域技术人员能够想到的其他实现方式也应视为本发明的保护范围之内。
参见图21所示的流程图,在本示例中,上述相机视场的误差场确定方法包括以下步骤:
步骤1,获取通过目标相机采集用于建立误差场的圆形阵列图像(也可称为标准板),该圆形阵列图像为61行、61列尺寸大小、圆直径1.000mm、制作精度0.001mm圆形阵列。
步骤2,使用亚像素边缘检测算法提取出标准板中所有圆形边缘轮廓点集(对应图21中亚像素边缘检测提取标定板边缘轮廓)。然后根据得到的轮廓点集,使用最小二乘法对圆进行拟合,计算出圆心的位置和半径(对应图21中最小二乘法拟合得到圆心及半径)。
步骤3,将提取到的圆形边缘轮廓点集分别按照横向方向、纵向方向顺序排列。即61行、61列顺序排列(对应图21中将每一圆心按X方向和Y方向分别排序)。
步骤4,根据各个圆心之间的物理距离和每个像素的长度,确定各个圆心之间的物理像素距离。
步骤5,对于圆形阵列图像中的每行,依次计算行中的第一个圆的圆心与行中各个圆的圆心之间的测量像素距离,根据行中各圆之间的物理像素距离和测量像素距离,确定行中各个圆之间像素误差。
步骤6,对于圆形阵列图像中的每列,依次计算列中的第一个圆的圆心与列中各个圆的圆心之间的测量像素距离,根据列中各圆之间的物理像素距离和测量像素距离,确定列中各个圆之间像素误差,圆形阵列图像中各个圆心之间的像素误差包括各行中各个圆之间像素误差和各列中各个圆之间像素误差。
步骤7,对于圆形阵列图像中的各矩形中的每个矩形,确定矩形内的目标点的第一位置,其中,对于每个矩形,矩形是由圆形阵列图像中的行对应的相邻两个圆和列对应的相邻两个圆生成的,目标点为矩形中的任一点。
步骤8,对于每个矩形,确定目标点与矩形的竖直方向上的第一交点的第二位置和第二交点的第三位置;根据矩形中各圆之间的像素误差、第一位置、第二位置和第三位置,确定目标点在水平方向上的横向像素误差,以及目标点在竖直方向上的纵向像素误差;根据目标点的横向像素误差和纵向像素误差,确定目标点的像素误差,像素误差包括横向像素误差和纵向像素误差。
步骤9,圆形阵列图像中的各圆心不在同一水平线上,对于圆形阵列图像中的每行,将行中的各个圆心投影至水平方向,得到投影后的各圆心的位置;根据该行中投影后的各圆心的位置和投影前的各圆心的位置,确定行中各圆心对应的横向投影误差;在此基础上,对于圆形阵列图像中进行水平方向投影后的每列,将该列中的各个圆心投影至竖直方向,得到投影后的各圆心的位置;根据该列中投影后的各圆心的位置和投影前的各圆心的位置,确定列中各圆心对应的纵向投影误差(对应图21中将圆心投影,分别引入横向投影误差Δy和Δx(Δx是纵向投影误差))。
步骤10,确定每个点(圆点和目标点)在X方向的累计误差(横向像素误差和横向投影误差Δy之和),以及每个点在Y方向的累计误差(纵向像素误差和纵向投影误差Δx之和);该步骤对应图21中的分别计算X方向和Y方向的累积误差。
步骤11,根据各个点在X方向的累计误差和各个点在Y方向的累计误差,建立误差场,以使根据建立的误差场对通过目标相机拍摄得到的目标图像进行误差补偿(对应图21所示的建立误差场并利用双线性插值算法进行误差补偿)。
基于与图1中所示的方法相同的原理,本发明实施例还提供了一种相机视场的误差场确定装置20,如图22中所示,该相机视场的误差场确定装置20可以包括图像获取模块210、圆心位置确定模块220、测量像素距离确定模块230、像素误差确定模块240和误差场建立模块250,其中:
图像获取模块210,用于获取通过目标相机采集用于建立误差场的圆形阵列图像,圆形阵列图像为m行n列的矩形点阵图像,圆形阵列图像中的每个圆表征了一个像素点;
圆心位置确定模块220,用于根据圆形阵列图像,确定圆形阵列图像中的每个圆的圆心的位置;
测量像素距离确定模块230,用于根据各个圆心的位置,计算各个圆心之间的测量像素距离;
像素误差确定模块240,用于获取各个圆心中各圆心之间的物理距离,并根据各个圆心之间的物理距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差;
误差场建立模块250,用于根据圆形阵列图像中各个圆心之间的像素误差,确定目标相机对应的误差场,误差场用于表征各个像素点的位置与各个像素点对应的像素误差之间的关联关系,各个像素点包括圆形阵列图像中的各个圆点。
可选的,上述圆心位置确定模块220在根据圆形阵列图像,确定圆形阵列图像中的每个圆的圆心的位置时,具体用于:根据圆形阵列图像,提取圆形阵列图像中各个圆的圆形轮廓;根据各个圆形轮廓,通过最小二乘法拟合得到圆形阵列图像中每个圆的圆心的位置;
上述像素误差确定模块240在根据各个圆心之间的物理距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差时,具体用于:
根据各个圆心之间的物理距离和每个像素的长度,确定各个圆心之间的物理像素距离;根据各个圆心之间的物理像素距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差。
可选的,上述像素误差确定模块240在根据各个圆心之间的物理像素距离和测量像素距离,确定圆形阵列图像中各个圆心之间的像素误差时,具体用于:
对于圆形阵列图像中的每行,依次计算行中的第一个圆的圆心与行中各个圆的圆心之间的测量像素距离,根据行中各圆之间的物理像素距离和测量像素距离,确定行中各个圆之间像素误差;
对于圆形阵列图像中的每列,依次计算列中的第一个圆的圆心与列中各个圆的圆心之间的测量像素距离,根据列中各圆之间的物理像素距离和测量像素距离,确定列中各个圆之间像素误差,圆形阵列图像中各个圆心之间的像素误差包括各行中各个圆之间像素误差和各列中各个圆之间像素误差。
可选的,该装置还包括:
第一位置确定模块,用于对于圆形阵列图像中的各矩形中的每个矩形,确定矩形内的目标点的第一位置,其中,对于每个矩形,矩形是由圆形阵列图像中的行对应的相邻两个圆和列对应的相邻两个圆生成的,目标点为矩形中的任一点;
交点位置确定模块,用于对于每个矩形,确定目标点与矩形的竖直方向上的第一交点的第二位置和第二交点的第三位置;
横向和纵向像素误差确定模块,用于对于每个矩形,根据矩形中各圆之间的像素误差、第一位置、第二位置和第三位置,确定目标点在水平方向上的横向像素误差,以及目标点在竖直方向上的纵向像素误差;
目标点的像素误差确定模块,用于对于每个矩形,根据目标点的横向像素误差和纵向像素误差,确定目标点的像素误差,像素误差包括横向像素误差和纵向像素误差;
上述误差场建立模块250在根据圆形阵列图像中各个圆心之间的像素误差,确定目标相机对应的误差场,误差场用于表征各个像素点的位置与各个像素点对应的像素误差之间的关联关系,各个像素点包括圆形阵列图像中的各个圆点时,具体用于:
根据圆形阵列图像中各个圆心之间的像素误差和各个目标点的像素误差,确定目标相机对应的误差场,误差场用于表征各个像素点的位置与各个像素点对应的像素误差之间的关联关系,各个像素点包括圆形阵列图像中的各个圆点和各个目标点。
可选的,若圆形阵列图像中的各圆心不在同一水平线上,该装置还包括:
横向投影模块,用于对于圆形阵列图像中的每行,将行中的各个圆心投影至水平方向,得到投影后的各圆心的位置;
横向投影误差确定模块,用于对于圆形阵列图像中的每行,根据该行中投影后的各圆心的位置和投影前的各圆心的位置,确定行中各圆心对应的横向投影误差;
横向补偿模块,用于对于圆形阵列图像中的每行,根据该行中各圆心对应的横向投影误差对该行中各圆心的横向像素误差进行误差补偿,得到横向补偿后的各个圆的圆心位置;
纵向投影模块,用于对于圆形阵列图像中进行水平方向投影后的每列,将列中的各个圆心投影至竖直方向,得到投影后的各圆心的位置;
纵向投影误差确定模块,用于对于圆形阵列图像中进行水平方向投影后的每列,根据该列中投影后的各圆心的位置和投影前的各圆心的位置,确定列中各圆心对应的纵向投影误差;
纵向补偿模块,用于对于圆形阵列图像中进行水平方向投影后的每列,根据该列中各圆心对应的纵向投影误差对该列中各圆心的纵向像素误差进行误差补偿,得到纵向补偿后的各个圆心的圆心位置;
标准圆形阵列确定模块,根据横向补偿后的各个圆的圆心位置和纵向补偿后的各个圆心的圆心位置,确定标准圆形阵列;
上述误差场建立模块250在在根据圆形阵列图像中各个圆心之间的像素误差和各个目标点的像素误差,确定目标相机对应的误差场时,具体用于:
根据标准圆形阵列各个圆心之间的像素误差和各个目标点的像素误差,确定目标相机对应的误差场。
可选的,该装置还包括:
补偿模块,用于获取通过目标相机采集的目标图像;对于目标图像中的待处理像素点,根据待处理像素点在目标图像中的位置和误差场,确定待处理像素点对应的像素误差;根据像素误差对待处理像素点的位置进行补偿,得到补偿后待处理像素点的位置。
可选的,上述误差场是基于标准圆形阵列建立的,该装置还包括:
横纵向补偿确定模块,用于根据待处理像素点的位置和标准圆形阵列,确定待处理像素点相对于标准圆形阵列的目标横向投影误差和目标纵向投影误差;
上述补偿模块在根据像素误差对待处理像素点的位置进行补偿,得到补偿后待处理像素点的位置时,具体用于:
根据像素误差、目标横向投影误差和目标纵向投影误差,对待处理像素点的位置进行补偿,得到补偿后待处理像素点的位置。
本发明实施例的相机视场的误差场确定装置可执行本发明实施例所提供的相机视场的误差场确定方法,其实现原理相类似,本发明各实施例中的相机视场的误差场确定装置中的各模块、单元所执行的动作是与本发明各实施例中的相机视场的误差场确定方法中的步骤相对应的,对于相机视场的误差场确定装置的各模块的详细功能描述具体可以参见前文中所示的对应的相机视场的误差场确定方法中的描述,此处不再赘述。
其中,上述相机视场的误差场确定装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该相机视场的误差场确定装置为一个应用软件;该装置可以用于执行本发明实施例提供的方法中的相应步骤。
在一些实施例中,本发明实施例提供的相机视场的误差场确定装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的相机视场的误差场确定装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的相机视场的误差场确定方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在另一些实施例中,本发明实施例提供的相机视场的误差场确定装置可以采用软件方式实现,图22示出了存储在存储器中的相机视场的误差场确定装置,其可以是程序和插件等形式的软件,并包括一系列的模块,包括图像获取模块210、圆心位置确定模块220、测量像素距离确定模块230、像素误差确定模块240和误差场建立模块250,用于实现本发明实施例提供的相机视场的误差场确定方法。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定。
基于与本发明的实施例中所示的方法相同的原理,本发明的实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机程序;处理器,用于通过调用计算机程序执行本发明任一实施例所示的方法。
在一个可选实施例中提供了一种电子设备,如图23所示,图23所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本发明实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图23中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本发明方案的应用程序代码(计算机程序),并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备也可以是终端设备,图23示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
根据本发明的另一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种实施例实现方式中提供的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
应该理解的是,附图中的流程图和框图,图示了按照本发明各种实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例提供的计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种相机视场的误差场确定方法,其特征在于,包括以下步骤:
获取通过目标相机采集用于建立误差场的圆形阵列图像,所述圆形阵列图像为m行n列的矩形点阵图像,所述圆形阵列图像中的每个圆表征了一个像素点;
根据所述圆形阵列图像,确定所述圆形阵列图像中每个圆的圆心的位置;
根据各个所述圆心的位置,计算各个所述圆心之间的测量像素距离;
获取各个所述圆心中各圆心之间的物理距离,并根据各个所述圆心之间的物理距离和测量像素距离,确定所述圆形阵列图像中各个所述圆心之间的像素误差;
根据所述圆形阵列图像中各个所述圆心之间的像素误差,确定所述目标相机对应的误差场,所述误差场用于表征各个像素点的位置与各个所述像素点对应的像素误差之间的关联关系,各个所述像素点包括所述圆形阵列图像中的各个圆点。
2.根据权利要求1所述的方法,其特征在于,所述根据所述圆形阵列图像,包括:
根据所述圆形阵列图像,提取所述圆形阵列图像中各个圆的圆形轮廓;
根据各个所述圆形轮廓,通过最小二乘法拟合得到所述圆形阵列图像中每个圆的圆心的位置;
所述根据各个所述圆心之间的物理距离和测量像素距离,确定所述圆形阵列图像中各个所述圆心之间的像素误差,包括:
根据各个所述圆心之间的物理距离和每个像素的长度,确定各个所述圆心之间的物理像素距离;
根据各个所述圆心之间的物理像素距离和测量像素距离,确定所述圆形阵列图像中各个所述圆心之间的像素误差。
3.根据权利要求2所述的方法,其特征在于,所述根据各个所述圆心之间的物理像素距离和测量像素距离,确定所述圆形阵列图像中各个所述圆心之间的像素误差,包括:
对于所述圆形阵列图像中的每行,依次计算所述行中的第一个圆的圆心与所述行中各个圆的圆心之间的测量像素距离,根据所述行中各圆之间的物理像素距离和测量像素距离,确定所述行中各个圆之间像素误差;
对于所述圆形阵列图像中的每列,依次计算所述列中的第一个圆的圆心与所述列中各个圆的圆心之间的测量像素距离,根据所述列中各圆之间的物理像素距离和测量像素距离,确定所述列中各个圆之间像素误差,所述圆形阵列图像中各个所述圆心之间的像素误差包括各行中各个圆之间像素误差和各列中各个圆之间像素误差。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
对于所述圆形阵列图像中的各矩形中的每个矩形,确定所述矩形内的目标点的第一位置,其中,对于每个所述矩形,所述矩形是由所述圆形阵列图像中的行对应的相邻两个圆和列对应的相邻两个圆生成的,所述目标点为所述矩形中的任一点;
对于每个所述矩形,确定所述目标点与所述矩形的竖直方向上的第一交点的第二位置和第二交点的第三位置;
对于每个所述矩形,根据所述矩形中各圆之间的像素误差、所述第一位置、所述第二位置和所述第三位置,确定所述目标点在水平方向上的横向像素误差,以及所述目标点在竖直方向上的纵向像素误差;
对于每个所述矩形,根据所述目标点的横向像素误差和纵向像素误差,确定所述目标点的像素误差,所述像素误差包括所述横向像素误差和所述纵向像素误差;
所述根据所述圆形阵列图像中各个所述圆心之间的像素误差,确定所述目标相机对应的误差场,所述误差场用于表征各个像素点的位置与各个所述像素点对应的像素误差之间的关联关系,各个所述像素点包括所述圆形阵列图像中的各个圆点,包括:
根据所述圆形阵列图像中各个所述圆心之间的像素误差和各个所述目标点的像素误差,确定所述目标相机对应的误差场,所述误差场用于表征各个像素点的位置与各个所述像素点对应的像素误差之间的关联关系,各个所述像素点包括所述圆形阵列图像中的各个圆点和各个所述目标点。
5.根据权利要求1至3中任一项所述的方法,其特征在于,若所述圆形阵列图像中的各圆心不在同一水平线上,所述方法还包括:
对于所述圆形阵列图像中的每行,将所述行中的各个圆心投影至水平方向,得到投影后的各圆心的位置;
对于所述圆形阵列图像中的每行,根据该行中投影后的各圆心的位置和投影前的各圆心的位置,确定所述行中各所述圆心对应的横向投影误差;
对于所述圆形阵列图像中的每行,根据该行中各所述圆心对应的横向投影误差对该行中各所述圆心的横向像素误差进行误差补偿,得到横向补偿后的各个圆的圆心位置;
对于所述圆形阵列图像中进行水平方向投影后的每列,将所述列中的各个圆心投影至竖直方向,得到投影后的各圆心的位置;
对于所述圆形阵列图像中进行水平方向投影后的每列,根据该列中投影后的各圆心的位置和投影前的各圆心的位置,确定所述列中各所述圆心对应的纵向投影误差;
对于所述圆形阵列图像中进行水平方向投影后的每列,根据该列中各所述圆心对应的纵向投影误差对该列中各所述圆心的纵向像素误差进行误差补偿,得到纵向补偿后的各个圆心的圆心位置;
根据所述横向补偿后的各个圆的圆心位置和所述纵向补偿后的各个圆心的圆心位置,确定标准圆形阵列;
所述根据所述圆形阵列图像中各个所述圆心之间的像素误差和各个所述目标点的像素误差,确定所述目标相机对应的误差场,包括:
根据所述标准圆形阵列各个所述圆心之间的像素误差和各个所述目标点的像素误差,确定所述目标相机对应的误差场。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
获取通过所述目标相机采集的目标图像;
对于所述目标图像中的待处理像素点,根据所述待处理像素点在所述目标图像中的位置和所述误差场,确定所述待处理像素点对应的像素误差;
根据所述像素误差对所述待处理像素点的位置进行补偿,得到补偿后所述待处理像素点的位置。
7.根据权利要求6所述的方法,其特征在于,所述误差场是基于标准圆形阵列建立的,所述方法还包括:
根据所述待处理像素点的位置和所述标准圆形阵列,确定所述待处理像素点相对于所述标准圆形阵列的目标横向投影误差和目标纵向投影误差;
所述根据所述像素误差对所述待处理像素点的位置进行补偿,得到补偿后所述待处理像素点的位置,包括:
根据所述像素误差、所述目标横向投影误差和所述目标纵向投影误差,对所述待处理像素点的位置进行补偿,得到补偿后所述待处理像素点的位置。
8.一种相机视场的误差场确定装置,其特征在于,包括:
图像获取模块,用于获取通过目标相机采集用于建立误差场的圆形阵列图像,所述圆形阵列图像为m行n列的矩形点阵图像,所述圆形阵列图像中的每个圆表征了一个像素点;
圆心位置确定模块,用于根据所述圆形阵列图像,确定所述圆形阵列图像中的每个圆的圆心的位置;
测量像素距离确定模块,用于根据各个所述圆心的位置,计算各个所述圆心之间的测量像素距离;
像素误差确定模块,用于获取各个所述圆心中各圆心之间的物理距离,并根据各个所述圆心之间的物理距离和测量像素距离,确定所述圆形阵列图像中各个所述圆心之间的像素误差;
误差场建立模块,用于根据所述圆形阵列图像中各个所述圆心之间的像素误差,确定所述目标相机对应的误差场,所述误差场用于表征各个像素点的位置与各个所述像素点对应的像素误差之间的关联关系,各个所述像素点包括所述圆形阵列图像中的各个圆点。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210506054.XA CN115100225B (zh) | 2022-05-10 | 2022-05-10 | 一种相机视场的误差场确定方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210506054.XA CN115100225B (zh) | 2022-05-10 | 2022-05-10 | 一种相机视场的误差场确定方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115100225A true CN115100225A (zh) | 2022-09-23 |
CN115100225B CN115100225B (zh) | 2024-07-12 |
Family
ID=83287356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210506054.XA Active CN115100225B (zh) | 2022-05-10 | 2022-05-10 | 一种相机视场的误差场确定方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115100225B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2624651A (en) * | 2022-11-24 | 2024-05-29 | Continental Autonomous Mobility Germany GmbH | Method for determining camera pose information, camera system and vehicle |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105046704A (zh) * | 2015-07-13 | 2015-11-11 | 河海大学 | 基于圆形目标阵列与观测方程的视觉测量标定方法 |
CN108305233A (zh) * | 2018-03-06 | 2018-07-20 | 哈尔滨工业大学 | 一种针对微透镜阵列误差的光场图像校正方法 |
CN108426585A (zh) * | 2018-03-12 | 2018-08-21 | 哈尔滨工业大学 | 一种光场相机的几何标定方法 |
CN109813221A (zh) * | 2019-03-05 | 2019-05-28 | 天津工业大学 | 基于控制场的大型钢板的测量误差补偿方法 |
CN112037287A (zh) * | 2020-08-26 | 2020-12-04 | 深圳市广宁股份有限公司 | 相机标定方法、电子设备及存储介质 |
CN113421309A (zh) * | 2021-07-29 | 2021-09-21 | 北京平恒智能科技有限公司 | 单相机跨视野测距平台标定方法、测距方法和系统 |
WO2022052313A1 (zh) * | 2020-09-11 | 2022-03-17 | 苏州中科全象智能科技有限公司 | 3d结构光系统的标定方法、电子设备及存储介质 |
-
2022
- 2022-05-10 CN CN202210506054.XA patent/CN115100225B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105046704A (zh) * | 2015-07-13 | 2015-11-11 | 河海大学 | 基于圆形目标阵列与观测方程的视觉测量标定方法 |
CN108305233A (zh) * | 2018-03-06 | 2018-07-20 | 哈尔滨工业大学 | 一种针对微透镜阵列误差的光场图像校正方法 |
CN108426585A (zh) * | 2018-03-12 | 2018-08-21 | 哈尔滨工业大学 | 一种光场相机的几何标定方法 |
CN109813221A (zh) * | 2019-03-05 | 2019-05-28 | 天津工业大学 | 基于控制场的大型钢板的测量误差补偿方法 |
CN112037287A (zh) * | 2020-08-26 | 2020-12-04 | 深圳市广宁股份有限公司 | 相机标定方法、电子设备及存储介质 |
WO2022052313A1 (zh) * | 2020-09-11 | 2022-03-17 | 苏州中科全象智能科技有限公司 | 3d结构光系统的标定方法、电子设备及存储介质 |
CN113421309A (zh) * | 2021-07-29 | 2021-09-21 | 北京平恒智能科技有限公司 | 单相机跨视野测距平台标定方法、测距方法和系统 |
Non-Patent Citations (2)
Title |
---|
段振云等: "基于点阵标定板的视觉测量系统的标定方法", 《光学学报》, vol. 36, no. 5, 31 May 2016 (2016-05-31) * |
辛睿等: "基于圆形模式平面标靶的高精度相机标定方法", 《烟台大学学报(自然科学与工程版)》, vol. 33, no. 4, 31 October 2020 (2020-10-31) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2624651A (en) * | 2022-11-24 | 2024-05-29 | Continental Autonomous Mobility Germany GmbH | Method for determining camera pose information, camera system and vehicle |
Also Published As
Publication number | Publication date |
---|---|
CN115100225B (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9451132B2 (en) | System for capturing a document in an image signal | |
CN111210468A (zh) | 一种图像深度信息获取方法及装置 | |
US9781412B2 (en) | Calibration methods for thick lens model | |
CN109163888A (zh) | 光学中心测试方法、装置和设备 | |
US11036967B2 (en) | Method and device for face selection, recognition and comparison | |
CN111311671B (zh) | 一种工件测量方法、装置、电子设备及存储介质 | |
CN115100225B (zh) | 一种相机视场的误差场确定方法、装置、电子设备及介质 | |
CN107067441B (zh) | 摄像机标定方法及装置 | |
CN112308934A (zh) | 标定检测方法及装置、存储介质、计算设备 | |
CN118247184A (zh) | 投影系统的畸变校正方法、装置、设备及可读存储介质 | |
CN111260574B (zh) | 一种印章照片矫正的方法、终端及计算机可读存储介质 | |
CN115546016B (zh) | Pcb的2d和3d图像的采集和处理方法及相关装置 | |
CN116188599A (zh) | 标定板生成方法、相机标定方法、装置、设备及标定板 | |
CN109325945B (zh) | 图像处理方法、装置、电子设备及储存介质 | |
CN115375681A (zh) | 一种基于图像拼接的大尺寸目标测量方法 | |
CN116452668A (zh) | 一种相机安装角度的校正方法 | |
CN115631099A (zh) | 一种径向畸变参数测量方法、装置和电子设备 | |
CN109443697A (zh) | 光学中心测试方法、装置、系统和设备 | |
CN110556070B (zh) | 一种显示区域中r角的补偿方法 | |
CN109829950B (zh) | 双目相机标定参数的检测方法,装置与自动驾驶系统 | |
CN112465913A (zh) | 一种基于双目相机的校正方法及装置 | |
TWI792351B (zh) | 瑕疵檢測方法、電子設備及儲存介質 | |
CN116563357B (zh) | 图像匹配方法、装置、计算机设备及计算机可读存储介质 | |
CN117191805B (zh) | 一种aoi检测头自动调焦方法和系统 | |
CN118154477A (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 |