1.基于理想视点的非规则表面投影图像几何校正方法,采用设备为kinect v2.0、投影机、支撑调节机构、计算机、非规则投影面;其特征在于:将kinect v2.0和投影机固定到支撑调节机构上,并可以通过手动方式调整支撑调节机构的方位、俯仰方向的角度,进而调整kinect v2.0的拍摄角度和投影机的投影角度,确保kinect v2.0可以拍摄到投影机投射的全部图像;kinect v2.0和投影机都通过电缆与计算机连接;其具体的步骤如下:步骤1:使用棋盘格标定板,设定棋盘格图像中的方格大小SquareSize,SquareSize=
20mm,同时利用方格构造棋盘格图像的水平方向上Hc个角点和竖直方向上Vc个角点,其中Hc=12(个),Vc=15(个),通过支撑调节机构调整kinect v2.0使得棋盘格标定板能够在kinect v2.0的RGB相机和深度相机都能采集的视野范围内;利用opencv2.10的InitCorners3D函数和方格大小SquareSize求取棋盘格标定板图像中的所有角点的世界坐标值步骤2:利用kinect v2.0的RGB相机采集棋盘格标定板图像为Pic_RGB,利用opencv2.10的cvCvtColor函数对图像Pic_RGB进行灰度化处理得到图像Pic_RGB_gray,接着利用opencv2.10的cvFindChessboardCorners函数对图像Pic_RGB_gray进行角点检测得到所有的角点坐标信息值 接着利用opencv2.10的cvCalibrateCamera2函数获取kinect v2.0的RGB相机的内参数矩阵HRGB以及相对于棋盘格标定板的旋转向量RVRGB和位移向量TRGB;再利用opencv2.10的Rodrigues函数对旋转向量RVRGB进行转换得到RGB相机相对于棋盘格标定板的旋转矩阵RRGB;
步骤3:利用kinect v2.0的深度相机采集棋盘格标定板图像为Pic_IR,利用OpenCV
2.10的cvCvtColor函数对图像Pic_IR进行灰度化处理得到图像Pic_IR_gray,接着利用opencv2.10的cvFindChessboardCorners函数对图像Pic_IR_gray进行角点检测得到所有的 角点坐标信息值 接着利用opencv2 .10的cvCalibrateCamera2函数获取kinect v2.0的相机的内参数矩阵HIR以及相对于棋盘格标定板的旋转向量RVIR和位移向量TIR;再利用opencv2.10的Rodrigues函数对旋转向量RVIR进行转换得到kinect v2.0的深度相机相对于棋盘格标定板的旋转矩阵RIR;
步骤4:利用步骤2得到的kinect v2.0的RGB相机相对于棋盘格标定板的旋转矩阵RRGB和位移向量TRGB,利用步骤3得到的kinect v2.0的深度相机相对于棋盘格标定板的旋转矩阵RIR和位移向量TIR,结合公式R=RRGBRIR-1;
T=TRGB-RRGBRIR-1TIR=TRGB-RTIR
求取kinect v2.0的深度相机与RGB相机之间的空间旋转关系R以及空间位移关系T;
步骤5:利用投影机将步骤1设定的棋盘格图像投射到非规则投影面上,记录投影机缓存棋盘格图像中的任意方格的四个角点 以及该四个角点对应的视点v坐标系中二维信息值 同时利用
kinect v2.0的深度相机采集非规则投影面表面上的调制的棋盘格图像中所有角点三维深度值 利用公式得到调制棋盘格图像中的角点在kinect v2.0的RGB相机下角点的三维信息值步骤7:利用公式对所有kinect v2.0的RGB相机下角点的三维信息值 中的深度值Z进行均值求解得到Z*值,其中n为kinect v2.0的RGB相机下角点的总个数;
步骤8:设定与kinect v2.0的RGB相机xrgb-orgb-yrgb平面平行且Z轴坐标值为z*的平面作为目标校正平面planeTarget,利用公式Xmin=min{X1,X2...Xn};
Xmax=max{X1,X2...Xn};
Ymin=min{Y1,Y2...Yn};
Ymax=max{Y1,Y2...Yn};
获取目标校正平面planeTarget中所有角点横坐标的最小值Xmin和最大值Xmax以及纵坐标的最小值Ymin以及最大值Ymax;
步骤9:构建目标校正平面planeTarget的目标校正矩形ABCD,其中利用公式A=(Xmin,Ymin,Z*),B=(Xmax,Ymin,Z*);
C=(Xmax,Ymax,Z*),D=(Xmin,Ymax,Z*);
可得目标校正矩形ABCD中四个顶点的三维坐标值;利用公式
*
求取目标校正矩形ABCD中对角线AC和BD的交点E,E的三维坐标值为(EX,EY,Z);
步骤10:建立理想视点V以及视点坐标系v-xyz,其中视点坐标系与kinect v2.0采用相同的右手坐标系,设定理想视点V到目标校正平面的距离为d(本发明设定d=z*/2),记v为视点坐标系原点,z轴与VE重合指向E,x,y轴分别kinect v2.01的RGB相机的横坐标轴和纵坐标轴平行,则视点v坐标系v=((xmin+xmax)/2,(ymin+ymax)/2,z*-d),将相机采集的非规则投影面表面上的调制的棋盘格图像中角点三维深度值 转换到视点v坐标系下中,则可对得到所有角点在视点v坐标系中角点的二维信息值,其对应的投影机缓存缓存棋盘格图像的角点二维信息值;
步骤11:利用公式
构建视点坐标系下的方格中的四个角点与投影机缓存棋盘格图像中方格的四个角点之间的映射关系 通过最小二乘法进行求解,即可得到映射关系Mk的各个值;
步骤12:将投影机投影的原始图像按照投影机缓存棋盘格图像中的方格角点构成的方块区域进行划分,接着对原始图像划分得到的各个方块区域的每个顶点信息利用方块区域对应的映射关系Mk进行仿射变换,从而能够将投影机投影原始投影图转换为预投影变换图像;
步骤13:利用投影机投射预投影变换图像到非规则投影面中,从而使得观察者能够观看到视觉一致性的校正图像。