CN114283079A - 一种基于图卡拍摄校正的方法及设备 - Google Patents
一种基于图卡拍摄校正的方法及设备 Download PDFInfo
- Publication number
- CN114283079A CN114283079A CN202111503859.0A CN202111503859A CN114283079A CN 114283079 A CN114283079 A CN 114283079A CN 202111503859 A CN202111503859 A CN 202111503859A CN 114283079 A CN114283079 A CN 114283079A
- Authority
- CN
- China
- Prior art keywords
- camera
- card
- picture
- determining
- coordinate information
- 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
Images
Landscapes
- Studio Devices (AREA)
Abstract
本申请的目的是提供一种基于图卡拍摄校正的方法及设备,本申请通过获取使用拍摄设备的相机对准图卡进行拍摄的图片,在所述图片中设置至少一组识别定位点;确定所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息;根据所述相机与所述图卡之间的距离、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所述相机的相机内参;基于所述相机的相机内参确定所述相机的旋转角度和移动坐标,根据所述旋转角度和移动坐标确定下次拍摄时的相机与图卡之间的拍摄距离。可以使得相机与拍摄平面始终保持对准,能够控制拍摄时的对准精度,提高拍摄的校正精度。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种基于图卡拍摄校正的方法及设备。
背景技术
目前拍照常用的对准图卡方式主要是通过手动调节,目测寻找到一个相对对准的位置,记录下位置以后到固定位置拍照;另外,还有通过识别图卡上特定颜色区域,利用轮廓质心坐标计算相机与图卡相关位置信息,通常需要设定焦距或视场角等技术参数进行估计。手动调节对准位置精度不够,很难将图卡调节到视野的居中对正位置;通过颜色识别,需要设定相关专业的参数,而有些设备参数的获取本身就不容易,且颜色识别容易受到视野中相同颜色物体的影响,操作起来不方便,计算的精度也不够高。
发明内容
本申请的一个目的是提供一种基于图卡拍摄校正的方法及设备,解决现有技术中手动调节时精度不够以及通过颜色识别时操作不便、计算精度不够高的问题。
根据本申请的一个方面,提供了一种基于图卡拍摄校正的方法,该方法包括:
获取使用拍摄设备的相机对准图卡进行拍摄的图片,在所述图片中设置至少一组识别定位点;
确定所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息;
根据所述相机与所述图卡之间的距离、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所述相机的相机内参;
基于所述相机的相机内参确定所述相机的旋转角度和移动坐标,根据所述旋转角度和移动坐标确定下次拍摄时的相机与图卡之间的拍摄距离。
可选地,所述图卡包括规则的点图图卡或棋盘格图卡,所述方法包括:
根据所述规则的点图图卡上的点距或棋盘格图卡上的棋盘格的边长建立图卡上的三维坐标系。
可选地,根据所述相机与所述图卡之间的距离、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所述相机的相机内参,包括:
从所述至少一组识别定位点在图卡坐标系中的三维坐标信息获取每一组中每一识别定位点在图卡中的水平方向坐标信息和垂直方向坐标信息;
从所述至少一组识别定位点在图片像素中的平面坐标信息获取每一组中每一识别定位点的图片像素宽度、图片像素高度、水平方向像素坐标信息以及垂直方向像素坐标信息;
根据所述水平方向像素坐标信息、水平方向坐标信息以及所述相机与所述图卡之间的距离确定相机焦距的横向像素信息;
根据所述垂直方向像素坐标信息、垂直方向坐标信息以及所述相机与所述图卡之间的距离确定相机焦距的纵向像素信息;
根据所述每一识别定位点的图片像素宽度确定相机的主点像素横坐标,根据所述每一识别定位点的图片像素高度确定相机的主点像素纵坐标。
可选地,基于所述相机的相机内参确定所述相机的旋转角度和移动坐标,包括:
基于所述相机的相机内参建立相机内参矩阵,根据所述相机内参矩阵确定所述相机的位姿矩阵图;
基于所述相机的位姿矩阵图确定所述相机的角度旋转的三维坐标信息;
根据所述相机的角度旋转的三维坐标信息、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所述相机的旋转角度和移动坐标。
可选地,基于所述相机的相机内参建立相机内参矩阵,包括:
根据所述相机焦距的横向像素信息、相机焦距的纵向像素信息、相机的主点像素横坐标以及相机的主点像素纵坐标建立相机内参矩阵,其中,所述相机内参矩阵满足以下形式:
其中,fx表示相机焦距的横向像素信息,fy表示相机焦距的纵向像素信息,cx表示相机的主点像素横坐标,cy表示相机的主点像素纵坐标。
可选地,所述拍摄设备固定在含有接口的机械臂上,所述方法包括:
将所述相机的旋转角度、移动坐标以及下次拍摄时的相机与图卡之间的拍摄距离传入至所述接口中,以使所述机械臂将所述拍摄设备移动至对应位置上。
可选地,在所述图片中设置至少一组识别定位点,包括:
使用训练模型训练出所述图片中的所有识别点;
从所述所有识别点中选取至少一组识别定位点。
可选地,使用训练模型训练出所述图片中的所有识别点,包括:
确定正样本和负样本,其中,所述正样本中包括待识别的识别点标记,所述负样本从所述正样本所在的环境中取得;
将所述正样本进行归一化处理后放入根文件下的正样本文件夹中,将所述负样本直接放入负样本文件夹中;
在所述正样本文件夹中创建正样本编辑文档,在所述负样本文件夹中创建负样本编辑文档;
在所述根文件下创建分类器文件夹,调用训练执行程序对所述正样本编辑文档和负样本编辑文档进行训练,得到训练模型,将所述训练模型存放在所述分类器文件夹下;
将所述图片输入至所述分类器文件夹下的训练模型中,输出所述图片中的所有识别点。
根据本申请另一个方面,提供了一种基于图卡拍摄校正的设备,该设备包括:
设定装置,用于获取使用拍摄设备的相机对准图卡进行拍摄的图片,在所述图片中设置至少一组识别定位点;
确定装置,用于确定所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息;
计算装置,用于根据所述相机与所述图卡之间的距离、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所相机的相机内参;
校正装置,用于基于所述相机的相机内参确定所述相机的旋转角度和移动坐标,根据所述旋转角度和移动坐标确定下次拍摄时的相机与图卡之间的拍摄距离。
根据本申请又一个方面,还提供了一种基于图卡拍摄校正的设备,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述所述的方法。
与现有技术相比,本申请通过获取使用拍摄设备的相机对准图卡进行拍摄的图片,在所述图片中设置至少一组识别定位点;确定所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息;根据所述相机与所述图卡之间的距离、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所述相机的相机内参;基于所述相机的相机内参确定所述相机的旋转角度和移动坐标,根据所述旋转角度和移动坐标确定下次拍摄时的相机与图卡之间的拍摄距离。可以使得在图像测试过程中,相机与拍摄平面始终保持对准,能够控制拍摄时的对准精度,每一次当前拍摄后计算出的参数进行校正下一次拍摄时的位置,进而提高拍摄的校正精度以及提高测试结果的准确度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请的一个方面提供的一种基于图卡拍摄校正的方法流程示意图;
图2示出本申请一实施例中拍摄设备与图卡的安装示意图;
图3示出根据本申请另一个方面提供的一种基于图卡拍摄校正的设备的结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change RAM,PRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disk,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
图1示出根据本申请的一个方面提供的一种基于图卡拍摄校正的方法流程示意图,该方法包括:步骤S11~步骤S14,其中,步骤S11,获取使用拍摄设备的相机对准图卡进行拍摄的图片,在所述图片中设置至少一组识别定位点;步骤S12,确定所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息;步骤S13,根据所述相机与所述图卡之间的距离、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所述相机的相机内参;步骤S14,基于所述相机的相机内参确定所述相机的旋转角度和移动坐标,根据所述旋转角度和移动坐标确定下次拍摄时的相机与图卡之间的拍摄距离。从而能够提高拍摄时的对准精度,提高图像测试的精确度。
具体地,在步骤S11中,获取使用拍摄设备的相机对准图卡进行拍摄的图片,在所述图片中设置至少一组识别定位点;在此,将拍摄设备固定在机械臂的固定位置上,然后对准图卡,使用该拍摄设备的相机进行拍摄图片,获取到拍摄的图片。
具体地,在步骤S12中,确定所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息;在此,使用的图卡具有物理坐标系,为世界坐标系,该坐标系为三维(3D)坐标系,其中设定z=0,确定该图卡中标记点的3D坐标信息,当使用相机对准该图卡进行拍摄时,确定至少一组识别定位点,该至少一组识别定位点在图片内且不能太靠近图片的边缘,比如一组识别定位点为四个点,分别为图片四个角方位上的点,对应的图卡上的标记点为该四个识别定位点,分别确定这四个识别定位点在图卡上的三维坐标信息以及在拍摄的图片中的像素信息,该像素信息为图片的平面坐标信息,即建立图片像素的坐标系,该坐标系为二维坐标系,确定出四个点在平面中像素的坐标信息,形成2D数据;也可以在图片内设置N组四个定位点,形成多组的2D数据。在本申请中可以使用单图进行相机拍摄功能的对准,也可以使用多图进行相机拍摄功能的对准。
具体地,在步骤S13中,根据所述相机与所述图卡之间的距离、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所述相机的相机内参;在此,根据相机的拍摄距离,即相机距离图卡的距离,结合上述得到的3D数据和2D数据估计相机的相机内参,从而在步骤S14中,基于所述相机的相机内参确定所述相机的旋转角度和移动坐标,根据所述旋转角度和移动坐标确定下次拍摄时的相机与图卡之间的拍摄距离。在此,利用得到的相机内参计算出相机的旋转角度以及移动坐标,该移动坐标是指世界坐标系中移动的三维坐标,即图卡坐标系中的移动坐标,进而可以利用到当前相机的旋转角度和移动坐标调整下次拍摄时的相机与图卡之间的拍摄距离,将相机与图卡进行对准,提高拍摄的精度。
在本申请一些实施例中,所述图卡包括规则的点图图卡或棋盘格图卡,所述方法包括:根据所述规则的点图图卡上的点距或棋盘格图卡上的棋盘格的边长建立图卡上的三维坐标系。在此,使用的图卡可以是规则的点图,也可以是棋盘格,建立图卡坐标系时,根据点图的点距或者棋盘格的边长获得三维坐标,进而构建出三维坐标系。当拍摄多图时,可以识别点图图片中的点或者棋盘格的角点,获得像素坐标。
在本申请一些实施例中,在步骤S13中,从所述至少一组识别定位点在图卡坐标系中的三维坐标信息获取每一组中每一识别定位点在图卡中的水平方向坐标信息和垂直方向坐标信息;从所述至少一组识别定位点在图片像素中的平面坐标信息获取每一组中每一识别定位点的图片像素宽度、图片像素高度、水平方向像素坐标信息以及垂直方向像素坐标信息;根据所述水平方向像素坐标信息、水平方向坐标信息以及所述相机与所述图卡之间的距离确定相机焦距的横向像素信息;根据所述垂直方向像素坐标信息、垂直方向坐标信息以及所述相机与所述图卡之间的距离确定相机焦距的纵向像素信息;根据所述每一识别定位点的图片像素宽度确定相机的主点像素横坐标,根据所述每一识别定位点的图片像素高度确定相机的主点像素纵坐标。在此,建立相机内参矩阵时可以使用单图或多图矩阵,建立矩阵前先确定出相机内参,具体地,获取到定位识别点在图卡中的水平方向坐标信息和垂直方向坐标信息,即获取到marker_X(图卡中水平方向***识别点中心距离mm)和marker_Y(图卡中垂直方向***识别点中心距离mm),通过测量得到相机与图卡之间的拍摄距离(distance),该拍摄距离为相机移动到初始位置后的距离,在该固定位置进行拍摄图片,进而得到定位识别点的像素信息,包括图片像素宽度、图片像素高度、水平方向像素坐标信息以及垂直方向像素坐标信息,其中,cols表示图片像素宽度(单位为pixels),rows表示图片像素高度(单位为pixels),pixel_X表示拍摄图卡中水平方向***识别点中心像素距离,pixel_Y表示拍摄图卡中垂直方向***识别点中心像素距离。从而根据这些信息计算出相机内参,该相机内参包括相机焦距的横向像素信息、相机焦距的纵向像素信息、相机的主点像素横坐标以及相机的主点像素纵坐标;其中:
fx=pixel_X/marker_X*distance;
fy=pixel_Y/marker_Y*distance;
cx=cols/2;
cy=rows/2;
fx表示在焦距f成像平面,焦距等效多少个横向像素,fy表示在焦距f成像平面,焦距等效多少个纵向向像素;cx表示主点的像素横坐标,cy表示主点的像素纵坐标。
在本申请一些实施例中,在步骤S14中,基于所述相机的相机内参建立相机内参矩阵,根据所述相机内参矩阵确定所述相机的位姿矩阵图;基于所述相机的位姿矩阵图确定所述相机的角度旋转的三维坐标信息;根据所述相机的角度旋转的三维坐标信息、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所述相机的旋转角度和移动坐标。在此,根据上述计算出的相机内参构建出相机内参矩阵,从而对该内参矩阵进行计算,得到相机的位姿的矩阵图,进而利用该位姿矩阵图获得相机的角度旋转的坐标,根据角度旋转的坐标以及单组或多组的2D数据和3D数据传输至epnp算法中,输出同一角度的角度旋转以及移动坐标。具体地,当传输至epnp算法中时,可以调用函数solvePnP来实现,其中,
solvePnP(objPoints,imaPoints,camera_matrix,distortion_coefficents,rvec,tvec,false,CV_EPNP),
objPoints表示世界坐标系下识别到的Marker点中心的实际坐标,单位mm;imaPoints:图像坐标下对应的Marker点中心的像素坐标,单位pixels。camera_matrix:相机的内参矩阵。distortion_coefficents:相机的畸变系数。rvec:输出的旋转向量。tvec:输出的位移向量。false:标记是否输出rvec和tvec,默认false。CV_EPNP:指定求解PnP问题的方法。
在本申请一些实施例中,根据所述相机焦距的横向像素信息、相机焦距的纵向像素信息、相机的主点像素横坐标以及相机的主点像素纵坐标建立相机内参矩阵,其中,所述相机内参矩阵满足以下形式:
其中,fx表示相机焦距的横向像素信息,fy表示相机焦距的纵向像素信息,cx表示相机的主点像素横坐标,cy表示相机的主点像素纵坐标。
在此,利用得到的相机内参进行构建内参矩阵,拍摄设备为手机时,考虑到相机畸变较小,则可以默认相机畸变为distCoeffD[5]={0,0,0,0,0},此时构建的相机内参矩阵为上述cam[9],当相机畸变较大时,则构建内参矩阵时需要使用畸变矩阵对初步构建的内参矩阵进行调整。
具体地,计算过程可以使用:
calibrateCamera(object_points,image_points_seq,image_size,cameraMatrix,distCoeffs,rvecsMat,tvecsMat,0);从而可直接获取到cameraMatrix,distCoeffs(两者组合为相机的内参)。
其中,object_points表示世界坐标系中的点,image_points_seq表示对应的图像中点的像素点集,image_size表示图像的大小,cameraMatrix表示相机内参矩阵,distCoeffs表示相机的畸变系数,rvec表示输出的旋转向量,tvec表示输出的位移向量,0表示标定采用的算法,默认0。
在本申请一些实施例中,所述拍摄设备固定在含有接口的机械臂上,所述方法包括:将所述相机的旋转角度、移动坐标以及下次拍摄时的相机与图卡之间的拍摄距离传入至所述接口中,以使所述机械臂将所述拍摄设备移动至对应位置上。在此,将得到的相机旋转角度、移动坐标(xyz坐标)以及新的拍摄距离移动到固定拍摄设备的机械臂对应起来,该机械臂含有接口,可以将这些数值传输至接口内,从而机械臂利用这些数值将拍摄设备移动到对应的位置上,进而及时调整相机的拍照位置,可以保证相机与图卡的准确对准,能够控制拍摄时的对准精度。在本申请一具体实施例中,使用图2所示的装置进行相机的拍摄校正,其中,摄像头平台(1)用于放置摄像头,该摄像头平台含有机械臂(2),机械臂具有数据接口,可以接收到计算得到的有关相机的信息,进而调整摄像头的空间位置;机架(3)用于安装图卡,其中,该机架(3)包括支架(31)、安装架(32)、驱动件(35)和旋转轴,图卡可拆卸式设置于安装架(32);该机架(3)还包括背景板(34)和存储架(33),该存储架(33)固定设置于支架(31),图卡可拆卸式设置于所述存储架(33),存储架(33)用于存储图卡。使用该装置进行固定图卡后,建立图卡的实际坐标系,即世界坐标系,将拍摄设备固定在摄像头平台后进行拍照,进而使用本申请所述的方法获得拍摄设备的相机的旋转角度、移动坐标以及下次拍照时的拍摄距离,进而根据这些数值控制机械臂将拍摄设备移动到对应的位置上。需要说明的是,图2所示的装置仅为举例,包括但不限于其他能够固定图卡以及固定拍摄设备且含有接口的机械臂的装置。
在本申请一些实施例中,在步骤S12中,使用训练模型训练出所述图片中的所有识别点;从所述所有识别点中选取至少一组识别定位点。在此,需要设置图片上的定位识别点,而该识别点可以通过训练模型训练得到,从而从训练得到的所有可用的识别点中选择一组或多组识别点,进而拍摄功能的校正。
具体地,训练模型得到识别点的过程如下:确定正样本和负样本,其中,所述正样本中包括待识别的识别点标记,所述负样本从所述正样本所在的环境中取得;将所述正样本进行归一化处理后放入根文件下的正样本文件夹中,将所述负样本直接放入负样本文件夹中;在所述正样本文件夹中创建正样本编辑文档,在所述负样本文件夹中创建负样本编辑文档;在所述根文件下创建分类器文件夹,调用训练执行程序对所述正样本编辑文档和负样本编辑文档进行训练,得到训练模型,将所述训练模型存放在所述分类器文件夹下;将所述图片输入至所述分类器文件夹下的训练模型中,输出所述图片中的所有识别点。在此,可以使用OpenCV2.4中的adaboost(将一般分类器组合成一个联级分类器)和haar特征(计算机视觉常用的一种特征描述算子)。新建Adaboost文件夹,将需要使用到的OpenCV程序复制到里面。具体过程包括:
步骤1:收集制作训练样本,训练模型,需要准备正负两个样本集,在本申请中使用的正负样本比率在1:2.5,其中,正样本包含需要识别的Marker标记(识别点标记),负样本不包含,负样本取自正样本出现的环境。首先,样本预处理,正样本归一化到统一尺寸30*30,在Adaboost文件夹下新建Positive文件夹,存放所有正样本。新建Negative文件夹在Adaboost文件夹下,存放负样本,可以不进行归一化处理,确认不包含待检测marker。接着,制作样本文件,进入Positive文件夹下,创建pos.txt,编辑文件,使格式表达为“***.bmp 10 0 30 30”;进入Negative文件夹,生成nega.txt文件。随后,创建正样本vec文件,进入Adaboost文件夹,调用opencv_createsamples.exe,执行命令行:opencv_createsamples.exe-vecpos.vec-info positive\pos.txt-bg negative\nega.txt-w 30-h 30-num 2000。其中,opencv_createsamples.exe:执行程序名称。-vecpos.vec:指定生成目标文件。-info positive\pos.txt:正样本信息位置。-bg negative\nega.txt:负样本信息位置。-w 30-h 30:正样本归一化尺寸大小宽和高度。-num 2000:正样本数量。
执行完后回生成pos.vec,负样本不需要此操作。
步骤2:训练样本,在Adaboost文件下新建分类器classifier文件夹,最终训练的模型会存放到这里。调用OpenCV执行程序opencv_traincascade.exe,opencv_traincascade-data classifier-vecpos.vec-bgnega\neg.txt-numPos2000-numNeg5000-numStages 15-precalcValBufSize 1024-precalcIdxBufSize 1024-featureTypeHAAR-w30-h 30-maxDepth 1。其中,opencv_traincascade:执行程序名称,-data classifier:指定训练完成数据存放位置,-vecpos.vec:正样本文件位置,-bgnega\neg.txt:负样本信息位置,-numPos2000-numNeg5000:正样本和负样本数量,-numStages 15:训练器级数,-precalcValBufSize 1024-precalcIdxBufSize 1024:预先计算的特征值和特征索引的缓存大小,-featureTypeHAAR:训练时提取图像特征的类型为HAAR,-w 30-h 30:前一步骤归一化尺寸大小,-maxDepth 1:弱分类器的最大深度,设为1二叉树。进入到classifier文件夹,取到cascade.xml文件,从而得到需要的训练模型,将图片输入至该训练模型中得到图片中的识别点。
通过本申请所述的方法,可以使得在图像测试过程中,相机与拍摄平面始终保持对准,能够控制拍摄时的对准精度,每一次当前拍摄后计算出的参数进行校正下一次拍摄时的位置,进而提高拍摄的校正精度以及提高测试结果的准确度。
此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述一种基于图卡拍摄校正的方法。
与上文所述的方法相对应的,本申请还提供一种终端,其包括能够执行上述图1或图2或各个实施例所述的方法步骤的模块或单元,这些模块或单元可以通过硬件、软件或软硬结合的方式来实现,本申请并不限定。例如,在本申请一实施例中,还提供了一种基于图卡拍摄校正的设备,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:
获取使用拍摄设备的相机对准图卡进行拍摄的图片,在所述图片中设置至少一组识别定位点;
确定所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息;
根据所述相机与所述图卡之间的距离、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所述相机的相机内参;
基于所述相机的相机内参确定所述相机的旋转角度和移动坐标,根据所述旋转角度和移动坐标确定下次拍摄时的相机与图卡之间的拍摄距离。
图3示出根据本申请另一个方面提供的一种基于图卡拍摄校正的设备的结构示意图,该设备包括:设定装置11、确定装置12、计算装置13及校正装置14,其中,设定装置11用于获取使用拍摄设备的相机对准图卡进行拍摄的图片,在所述图片中设置至少一组识别定位点;确定装置12用于确定所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息;计算装置13用于根据所述相机与所述图卡之间的距离、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所述相机的相机内参;校正装置14用于基于所述相机的相机内参确定所述相机的旋转角度和移动坐标,根据所述旋转角度和移动坐标确定下次拍摄时的相机与图卡之间的拍摄距离。
需要说明的是,设定装置11、确定装置12、计算装置13及校正装置14执行的内容分别与上述步骤S11、S12、S13和S14中的内容相同或相应相同,为简明起见,在此不再赘述。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (11)
1.一种基于图卡拍摄校正的方法,其特征在于,所述方法包括:
获取使用拍摄设备的相机对准图卡进行拍摄的图片,在所述图片中设置至少一组识别定位点;
确定所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息;
根据所述相机与所述图卡之间的距离、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所述相机的相机内参;
基于所述相机的相机内参确定所述相机的旋转角度和移动坐标,根据所述旋转角度和移动坐标确定下次拍摄时的相机与图卡之间的拍摄距离。
2.根据权利要求1所述的方法,其特征在于,所述图卡包括规则的点图图卡或棋盘格图卡,所述方法包括:
根据所述规则的点图图卡上的点距或棋盘格图卡上的棋盘格的边长建立图卡上的三维坐标系。
3.根据权利要求1所述的方法,其特征在于,根据所述相机与所述图卡之间的距离、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所述相机的相机内参,包括:
从所述至少一组识别定位点在图卡坐标系中的三维坐标信息获取每一组中每一识别定位点在图卡中的水平方向坐标信息和垂直方向坐标信息;
从所述至少一组识别定位点在图片像素中的平面坐标信息获取每一组中每一识别定位点的图片像素宽度、图片像素高度、水平方向像素坐标信息以及垂直方向像素坐标信息;
根据所述水平方向像素坐标信息、水平方向坐标信息以及所述相机与所述图卡之间的距离确定相机焦距的横向像素信息;
根据所述垂直方向像素坐标信息、垂直方向坐标信息以及所述相机与所述图卡之间的距离确定相机焦距的纵向像素信息;
根据所述每一识别定位点的图片像素宽度确定相机的主点像素横坐标,根据所述每一识别定位点的图片像素高度确定相机的主点像素纵坐标。
4.根据权利要求3所述的方法,其特征在于,基于所述相机的相机内参确定所述相机的旋转角度和移动坐标,包括:
基于所述相机的相机内参建立相机内参矩阵,根据所述相机内参矩阵确定所述相机的位姿矩阵图;
基于所述相机的位姿矩阵图确定所述相机的角度旋转的三维坐标信息;
根据所述相机的角度旋转的三维坐标信息、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所述相机的旋转角度和移动坐标。
6.根据权利要求1所述的方法,其特征在于,所述拍摄设备固定在含有接口的机械臂上,所述方法包括:
将所述相机的旋转角度、移动坐标以及下次拍摄时的相机与图卡之间的拍摄距离传入至所述接口中,以使所述机械臂将所述拍摄设备移动至对应位置上。
7.根据权利要求1所述的方法,其特征在于,在所述图片中设置至少一组识别定位点,包括:
使用训练模型训练出所述图片中的所有识别点;
从所述所有识别点中选取至少一组识别定位点。
8.根据权利要求1所述的方法,其特征在于,使用训练模型训练出所述图片中的所有识别点,包括:
确定正样本和负样本,其中,所述正样本中包括待识别的识别点标记,所述负样本从所述正样本所在的环境中取得;
将所述正样本进行归一化处理后放入根文件下的正样本文件夹中,将所述负样本直接放入负样本文件夹中;
在所述正样本文件夹中创建正样本编辑文档,在所述负样本文件夹中创建负样本编辑文档;
在所述根文件下创建分类器文件夹,调用训练执行程序对所述正样本编辑文档和负样本编辑文档进行训练,得到训练模型,将所述训练模型存放在所述分类器文件夹下;
将所述图片输入至所述分类器文件夹下的训练模型中,输出所述图片中的所有识别点。
9.一种基于图卡拍摄校正的设备,其特征在于,所述设备包括:
设定装置,用于获取使用拍摄设备的相机对准图卡进行拍摄的图片,在所述图片中设置至少一组识别定位点;
确定装置,用于确定所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息;
计算装置,用于根据所述相机与所述图卡之间的距离、所述至少一组识别定位点在图卡坐标系中的三维坐标信息以及在图片像素中的平面坐标信息确定所相机的相机内参;
校正装置,用于基于所述相机的相机内参确定所述相机的旋转角度和移动坐标,根据所述旋转角度和移动坐标确定下次拍摄时的相机与图卡之间的拍摄距离。
10.一种基于图卡拍摄校正的设备,其特征在于,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求1至8中任一项所述方法的操作。
11.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111503859.0A CN114283079A (zh) | 2021-12-09 | 2021-12-09 | 一种基于图卡拍摄校正的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111503859.0A CN114283079A (zh) | 2021-12-09 | 2021-12-09 | 一种基于图卡拍摄校正的方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114283079A true CN114283079A (zh) | 2022-04-05 |
Family
ID=80871484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111503859.0A Pending CN114283079A (zh) | 2021-12-09 | 2021-12-09 | 一种基于图卡拍摄校正的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114283079A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086549A (zh) * | 2022-05-06 | 2022-09-20 | 深圳市格灵精睿视觉有限公司 | 拍摄方法、拍摄装置、计算机设备、存储介质 |
CN115334222A (zh) * | 2022-08-16 | 2022-11-11 | 上海研鼎信息技术有限公司 | 一种基于触发器的摄像头的拍摄控制*** |
CN115760620A (zh) * | 2022-11-18 | 2023-03-07 | 荣耀终端有限公司 | 一种文档矫正方法、装置及电子设备 |
-
2021
- 2021-12-09 CN CN202111503859.0A patent/CN114283079A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086549A (zh) * | 2022-05-06 | 2022-09-20 | 深圳市格灵精睿视觉有限公司 | 拍摄方法、拍摄装置、计算机设备、存储介质 |
CN115086549B (zh) * | 2022-05-06 | 2024-04-30 | 深圳市格灵精睿视觉有限公司 | 拍摄方法、拍摄装置、计算机设备、存储介质 |
CN115334222A (zh) * | 2022-08-16 | 2022-11-11 | 上海研鼎信息技术有限公司 | 一种基于触发器的摄像头的拍摄控制*** |
CN115760620A (zh) * | 2022-11-18 | 2023-03-07 | 荣耀终端有限公司 | 一种文档矫正方法、装置及电子设备 |
CN115760620B (zh) * | 2022-11-18 | 2023-10-20 | 荣耀终端有限公司 | 一种文档矫正方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114283079A (zh) | 一种基于图卡拍摄校正的方法及设备 | |
CN109416744B (zh) | 改进的相机校准***、目标和过程 | |
US20200265231A1 (en) | Method, apparatus, and system for automatically annotating a target object in images | |
EP3067861A2 (en) | Determination of a coordinate conversion parameter | |
CN111872544B (zh) | 激光出光指示点的标定方法、装置和振镜同轴视觉*** | |
CN109345597B (zh) | 一种基于增强现实的相机标定图像采集方法及装置 | |
CN112348890B (zh) | 一种空间定位方法、装置及计算机可读存储介质 | |
CN113221953B (zh) | 基于实例分割和双目深度估计的目标姿态识别***与方法 | |
CN113129383A (zh) | 手眼标定方法、装置、通信设备及存储介质 | |
CN112950528A (zh) | 证件姿态确定方法、模型训练方法、装置、服务器及介质 | |
CN110853102A (zh) | 一种新的机器人视觉标定及引导方法、装置及计算机设备 | |
JP2672509B2 (ja) | カメラモデルの自動キャリブレーション方法およびその装置 | |
CN116977328B (zh) | 车底机器人主动视觉中的图像质量评估方法 | |
CN112767494A (zh) | 基于标定算法的精确测量定位方法 | |
CN111260574B (zh) | 一种***照片矫正的方法、终端及计算机可读存储介质 | |
CN117253022A (zh) | 一种对象识别方法、装置及查验设备 | |
CN115965697A (zh) | 基于沙姆定律的投影仪标定方法、标定***及装置 | |
CN116051652A (zh) | 一种参数标定方法及电子设备、存储介质 | |
CN112995641B (zh) | 一种3d模组成像装置及方法、电子设备 | |
CN112935562A (zh) | 基于旁轴离线测量的激光精密加工方法 | |
CN114511894A (zh) | 瞳孔中心坐标的获取***及获取方法 | |
KR102631472B1 (ko) | 어안 왜곡 이미지의 무손실 보정 방법 및 장치 | |
TWI819403B (zh) | 影像資料擴增裝置及方法 | |
CN113298880B (zh) | 一种相机标定板、相机标定方法及装置 | |
CN110689515B (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 |