当前位置: 首页 > news >正文

网站建设 永灿 竞争网页设计随机点名代码

网站建设 永灿 竞争,网页设计随机点名代码,网站首页备案号链接,网站建设研究OpenCV如何正确使用stereoRectify函数 函数介绍 用于双目相机的立体校正环节中#xff0c;这里只谈谈这个函数怎么使用#xff0c;参数具体指哪些函数参数 随便去网上一搜或者看官方手册就能得到参数信息#xff0c;但是#xff01;#xff01;相对关系非常容易出错…OpenCV如何正确使用stereoRectify函数 函数介绍 用于双目相机的立体校正环节中这里只谈谈这个函数怎么使用参数具体指哪些函数参数 随便去网上一搜或者看官方手册就能得到参数信息但是相对关系非常容易出错这里详细解释一下这些参数究竟怎么用void stereoRectify(InputArray cameraMatrix1, InputArray distCoeffs1, InputArray cameraMatrix2,InputArray distCoeffs2, Size imageSize, InputArray R, InputArray T,OutputArray R1, OutputArray R2, OutputArray P1, OutputArray P2, OutputArray Q, int flagsCALIB_ZERO_DISPARITY, double alpha-1, Size newImageSizeSize(), Rect* validPixROI10, Rect* validPixROI20 )cameraMatrix1-第一个摄像机的摄像机矩阵即左相机相机内参矩阵矩阵第三行格式应该为 0 0 1 distCoeffs1-第一个摄像机的畸变向量 cameraMatrix2-第一个摄像机的摄像机矩阵即右相机相机内参矩阵矩阵第三行格式应该为 0 0 1 distCoeffs2-第二个摄像机的畸变向量 imageSize-图像大小 R- 相机之间的旋转矩阵这里R的意义是相机1通过变换R到达相机2的位姿 T- 左相机到右相机的平移矩阵 R1-输出矩阵第一个摄像机的校正变换矩阵旋转变换 R2-输出矩阵第二个摄像机的校正变换矩阵旋转矩阵 P1-输出矩阵第一个摄像机在新坐标系下的投影矩阵 P2-输出矩阵第二个摄像机在想坐标系下的投影矩阵 Q-4*4的深度差异映射矩阵 flags-可选的标志有两种零或者 CV_CALIB_ZERO_DISPARITY ,如果设置 CV_CALIB_ZERO_DISPARITY 的话该函数会让两幅校正后的图像的主点有相同的像素坐标。否则该函数会水平或垂直的移动图像以使得其有用的范围最大 alpha-拉伸参数。如果设置为负或忽略将不进行拉伸。如果设置为0那么校正后图像只有有效的部分会被显示没有黑色的部分如果设置为1那么就会显示整个图像。设置为0~1之间的某个值其效果也居于两者之间。 newImageSize-校正后的图像分辨率默认为原分辨率大小。 validPixROI1-可选的输出参数Rect型数据。其内部的所有像素都有效 validPixROI2-可选的输出参数Rect型数据。其内部的所有像素都有效opencv进行双目标定以及极线校正 python代码 双目标定 参考博客 OpenCV相机标定全过程 [OpenCV实战]38 基于OpenCV的相机标定 opencv立体标定函数 stereoCalibrate() 主要使用的函数 findChessboardCorners() #棋盘格角点检测 cornerSubPix() #亚像素检测 calibrateCamera() #单目标定 求解摄像机的内在参数和外在参数 stereoCalibrate() #双目标定 求解两个摄像头的内外参数矩阵以及两个摄像头的位置关系R,T代码 import cv2 import os import numpy as npleftpath images/left rightpath images/right CHECKERBOARD (11,12) #棋盘格内角点数 square_size (30,30) #棋盘格大小单位mm criteria (cv2.TERM_CRITERIA_EPS cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001) imgpoints_l [] #存放左图像坐标系下角点位置 imgpoints_r [] #存放左图像坐标系下角点位置 objpoints [] #存放世界坐标系下角点位置 objp np.zeros((1, CHECKERBOARD[0]*CHECKERBOARD[1], 3), np.float32) objp[0,:,:2] np.mgrid[0:CHECKERBOARD[0], 0:CHECKERBOARD[1]].T.reshape(-1, 2) objp[0,:,0] * square_size[0] objp[0,:,1] * square_size[1]for ii in os.listdir(leftpath):img_l cv2.imread(os.path.join(leftpath,ii))gray_l cv2.cvtColor(img_l,cv2.COLOR_BGR2GRAY)img_r cv2.imread(os.path.join(rightpath,ii))gray_r cv2.cvtColor(img_r,cv2.COLOR_BGR2GRAY)ret_l, corners_l cv2.findChessboardCorners(gray_l, CHECKERBOARD) #检测棋盘格内角点ret_r, corners_r cv2.findChessboardCorners(gray_r, CHECKERBOARD)if ret_l and ret_r:objpoints.append(objp)corners2_l cv2.cornerSubPix(gray_l,corners_l,(11,11),(-1,-1),criteria) imgpoints_l.append(corners2_l)corners2_r cv2.cornerSubPix(gray_r,corners_r,(11,11),(-1,-1),criteria)imgpoints_r.append(corners2_r)#img cv2.drawChessboardCorners(img, CHECKERBOARD, corners2,ret)#cv2.imwrite(./ChessboardCornersimg.jpg, img) ret, mtx_l, dist_l, rvecs_l, tvecs_l cv2.calibrateCamera(objpoints, imgpoints_l, gray_l.shape[::-1],None,None) #先分别做单目标定 ret, mtx_r, dist_r, rvecs_r, tvecs_r cv2.calibrateCamera(objpoints, imgpoints_r, gray_r.shape[::-1],None,None)retval, cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, R, T, E, F \cv2.stereoCalibrate(objpoints, imgpoints_l, imgpoints_r, mtx_l, dist_l, mtx_r, dist_r, gray_l.shape[::-1]) #再做双目标定print(stereoCalibrate : \n) print(Camera matrix left : \n) print(cameraMatrix1) print(distCoeffs left : \n) print(distCoeffs1) print(cameraMatrix left : \n) print(cameraMatrix2) print(distCoeffs left : \n) print(distCoeffs2) print(R : \n) print(R) print(T : \n) print(T) print(E : \n) print(E) print(F : \n) print(F) 将打印的结果保存到标定文件中即可 极线校正 参考博客 机器视觉学习笔记8——基于OpenCV的Bouguet立体校正 小白视角之Bouguet双目立体校正原理 主要使用的函数 stereoRectify() #计算旋转矩阵和投影矩阵 initUndistortRectifyMap() #计算校正查找映射表 remap() #重映射 代码 import cv2 import numpy as npdef cat2images(limg, rimg):HEIGHT limg.shape[0]WIDTH limg.shape[1]imgcat np.zeros((HEIGHT, WIDTH*220,3))imgcat[:,:WIDTH,:] limgimgcat[:,-WIDTH:,:] rimgfor i in range(int(HEIGHT / 32)):imgcat[i*32,:,:] 255 return imgcatleft_image cv2.imread(images/left/268.jpg) right_image cv2.imread(images/right/268.jpg)imgcat_source cat2images(left_image,right_image) HEIGHT left_image.shape[0] WIDTH left_image.shape[1] cv2.imwrite(imgcat_source.jpg, imgcat_source )camera_matrix0 np.array([[1.30991855e03, 0.00000000e00, 5.90463086e02],[0.00000000e00, 1.31136722e03, 3.33464608e02],[0.00000000e00, 0.00000000e00, 1.00000000e00]]) .reshape((3,3)) #即上文标定得到的 cameraMatrix1distortion0 np.array([-4.88890701e-01, 3.27964225e-01, -2.72130825e-04, 1.28030208e-03, -1.85964828e-01]) #即上文标定得到的 distCoeffs1camera_matrix1 np.array([[1.30057467e03, 0.00000000e00, 6.28445749e02],[0.00000000e00, 1.30026325e03, 3.90475091e02],[0.00000000e00, 0.00000000e00, 1.00000000e00]]) .reshape((3,3)) #即上文标定得到的 cameraMatrix2 distortion1 np.array([-4.95938411e-01, 2.70207629e-01, 1.81014753e-04, -4.58891345e-04, 4.41327829e-01]) #即上文标定得到的 distCoeffs2R np.array([[ 0.99989348, 0.01340678, -0.00576869], [-0.01338004, 0.99989967, 0.00465071], [ 0.00583046, -0.00457303, 0.99997255]]) #即上文标定得到的 R T np.array([-244.28272039, 3.84124178, 2.0963191]) #即上文标定得到的T(R_l, R_r, P_l, P_r, Q, validPixROI1, validPixROI2) \cv2.stereoRectify(camera_matrix0, distortion0, camera_matrix1, distortion1, np.array([WIDTH,HEIGHT]), R, T) #计算旋转矩阵和投影矩阵(map1, map2) \cv2.initUndistortRectifyMap(camera_matrix0, distortion0, R_l, P_l, np.array([WIDTH,HEIGHT]), cv2.CV_32FC1) #计算校正查找映射表rect_left_image cv2.remap(left_image, map1, map2, cv2.INTER_CUBIC) #重映射#左右图需要分别计算校正查找映射表以及重映射 (map1, map2) \cv2.initUndistortRectifyMap(camera_matrix1, distortion1, R_r, P_r, np.array([WIDTH,HEIGHT]), cv2.CV_32FC1)rect_right_image cv2.remap(right_image, map1, map2, cv2.INTER_CUBIC)imgcat_out cat2images(rect_left_image,rect_right_image) cv2.imwrite(imgcat_out.jpg, imgcat_out) 效果图 校正前 左图 右图 校正后
http://www.hkea.cn/news/14320769/

相关文章:

  • 资讯类网站建设什么是网络设计冗余设计
  • 网站维护作用推广文案大全
  • 苏州网站制作网站建设wordpress主题 清新
  • 网站建设公司-信科网络wordpress落叶插件
  • 南阳住房和城乡建设厅网站新品手机发布会一览表
  • 嘉兴网站制作优化电子商务网站建设需求
  • 制作微信公众号网站开发电商网站订烟平台
  • 靓号注册网站免费wordpress模板学校
  • tomcat 网站开发水利建设相关网站
  • 西安网站建设培训比58同城做的好的网站
  • 网站代码设计网页编程html
  • 做网站需要做哪些东西wordpress 移植
  • 山东省建设监理协会官方网站南京响应式网站制作
  • 站酷设计网站官网入口插画设计评级网站怎么做
  • 网站建设招聘钓鱼网站链接
  • 珠海市网络营销协会的官方网站seo优化流程
  • 注册网站会有哪些风险哈尔滨优质的建站销售价格
  • 重庆环保公司网站建设人人秀h5制作软件下载
  • 建设网站技术数据策划书卖普洱茶做网站
  • 汉中微信网站建设推广移动应用开发技术学什么
  • 郑州那家做网站便宜进入微信公众号首页
  • 企业官网响应式网站重庆市建设工程管理信息网
  • 酒吧网站建设报价模板做网站建设优化的公司排名
  • 网站开发公司如何拓展业务广州贸易网站
  • 做网站定金是多少thinkphp5网站开发
  • 婚庆网站大全网站建设的价值是什么
  • 公司建立网站的费用如何做帐购物网站建设案例
  • 专业建网站价格wordpress识别环境的文件夹
  • 自建站服务网站建设技术服务
  • 新密做网站公司昆山网站