《机器视觉系统应用》课件-1D线扫描相机标定_第1页
《机器视觉系统应用》课件-1D线扫描相机标定_第2页
《机器视觉系统应用》课件-1D线扫描相机标定_第3页
《机器视觉系统应用》课件-1D线扫描相机标定_第4页
《机器视觉系统应用》课件-1D线扫描相机标定_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1D线扫描相机标定的检测方法讲解课程引入处理原理处理步骤一二三目录能力目标使用棋盘格模式定义真实世界坐标、从不同的角度捕获棋盘的多个图像、查找棋盘的2D坐标、校准相机;知识目标(1)确定真实世界中的3D点与其在该标定相机捕获的图像中的相应2D投影之间的精确关系课程目标一课程引入

计算机视觉的基本任务之一是从相机获取的图像信息出发计算三维空间中物体的几何信息,并由此重建和识别物体,而空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由相机成像的几何模型决定的,这些几何模型参数就是相机参数。

简单来说,标定是为了能够从空间点的像素坐标映射到世界坐标,这是3D立体视觉必须经过的过程。二处理原理相机标定的四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系二处理原理三维旋转的矩阵表示二处理原理相机坐标与世界坐标系之间的关系二处理原理相机坐标系与像平面坐标系二处理原理像素坐标与像平面之间的关系二处理原理世界坐标与像素坐标之间的关系二处理原理像素坐标与像平面之间的关系二处理原理相机径向畸变引起径向畸变的主要因素:透镜形状二处理原理引起切向畸变的主要因素:透镜与成像平面不平行二处理原理像素坐标与像平面之间的关系二处理原理单相机模型重建未知数分析流程图三处理步骤1D线扫描相机标定程序运行演示课程引入代码分析代码演示一二三目录能力目标使用棋盘格模式定义真实世界坐标、从不同的角度捕获棋盘的多个图像、查找棋盘的2D坐标、校准相机;知识目标(1)确定真实世界中的3D点与其在该标定相机捕获的图像中的相应2D投影之间的精确关系课程目标一课程引入

计算机视觉的基本任务之一是从相机获取的图像信息出发计算三维空间中物体的几何信息,并由此重建和识别物体,而空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由相机成像的几何模型决定的,这些几何模型参数就是相机参数。

简单来说,标定是为了能够从空间点的像素坐标映射到世界坐标,这是3D立体视觉必须经过的过程。二查找棋盘角点代码分析OpenCV提供了一个名为findChessboardCorners的内置函数,该函数查找棋盘并返回角点的坐标。cv2.cornerSubPix(image,corners,winSize,zeroZone,criteria)参数如下:image表示输入图像corners表示输入角的初始坐标和为输出提供的精确坐标winSize表示搜索窗口边长的一半zeroZone表示搜索区域中间零区大小的一半,在该零区上不进行下式求和。它有时用于避免自相关矩阵的可能奇点。(-1,-1)的值表示没有这样的大小riteria表示角点精化迭代过程的终止准则。也就是说,在criteria.maxCount迭代之后或在某些迭代中角位置移动小于criteria.epsilon时,角位置求精过程停止二相机校准处理原理校准的最后一步是将世界坐标系中的3D点及其在所有图像中的2D位置传递给OpenCV的caliberecamera方法。retval,cameraMatrix,distCoeffs,rvecs,tvecs=cv2.calibrateCamera(objectPoints,imagePoints,imageSize)参数:objectPoints代表三维图像点的矢量imagePoints代表二维图像点的矢量imageSize代表图像大小cameraMatrix代表内参矩阵distCoeffs代表透镜畸变系数rvecs代表用于表达旋转的3×1矢量。矢量的方向指定旋转轴,矢量的大小指定旋转角度tvecs代表用于表达位移的3×1矢量,与rvecs类似查找棋盘角点三代码演示forf_nameinimages:img=cv2.imread(f_name)gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#寻找角点#如果在图像中找到所需数量的角,ret=trueret,corners=cv2.findChessboardCorners(gray,checkerboard,cv2.CALIB_CB_ADAPTIVE_THRESH+cv2.CALIB_CB_FAST_CHECK+cv2.CALIB_CB_NORMALIZE_IMAGE)#如果检测到所需数量的角点,我们将细化像素坐标并将其显示在棋盘图像上ifret:obj_points.append(obj_p)#为给定的二维点细化像素坐标corners2=cv2.cornerSubPix(gray,corners,(11,11),(-1,-1),criteria)img_points.append(corners2)#在棋盘上显示检测到的角点img=cv2.drawChessboardCorners(img,checkerboard,corners2,ret)cv2.imshow('11',img)cv2.waitKey(0)cv2.imwrite("./image/camera_calibration/solved/"+str(counter)+".jpg",img)counter+=1查找棋盘角点三代码演示

结果如下图所示:相机校准三代码演示ret,mtx,dist,r_vec,t_vec=cv2.calibrateCamera(obj_points,img_points,gray.shape[::-1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论