CN107580203A - 沉浸式主动立体投影透视变换矩阵求解方法 - Google Patents
沉浸式主动立体投影透视变换矩阵求解方法 Download PDFInfo
- Publication number
- CN107580203A CN107580203A CN201710584647.7A CN201710584647A CN107580203A CN 107580203 A CN107580203 A CN 107580203A CN 201710584647 A CN201710584647 A CN 201710584647A CN 107580203 A CN107580203 A CN 107580203A
- Authority
- CN
- China
- Prior art keywords
- pro
- cam
- characteristic
- represent
- pair
- 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
Abstract
本发明涉及沉浸式主动立体投影透视变换矩阵求解方法,其特征在于:摄像机通过电缆与计算机进行连接,投影机通过电缆与计算机进行连接;利用计算机中生成一幅特征图像,使摄像机拍摄视野范围包含全部投影幕,利用投影机将上述生成的特征图像投影到投影幕上,利用摄像机采集投影幕上的图像,得到几何畸变的特征图像;该方法首先利用计算机生成一幅特征图像,并将其投影到屏幕上,通过摄像机感知投影屏幕区域,结合生成的特征图像的几何拓扑分布关系,透视投影变换原理获取投影畸变特征图像与原始特征图像之间的透视变换矩阵。
Description
技术领域
本发明涉及一种沉浸式主动立体投影透视变换矩阵求解方法,属于计算机图像处理技术领域。
背景技术
沉浸式虚拟现实CAVE系统将视觉、听觉有机的融合为一体,为用户提供了高分辨率、高沉浸感,同时能够提供场景画面逼真度高、交互性强的虚拟交互功能,沉浸式CAVE多通道投影技术广泛应用于数据可视化,虚拟仿真训练等领域,同时作为虚拟现实技术的一个分支,已经成为可视化虚拟交互领域的研究热点问题。
国内浙江大学CAD&CG实验室最早搭建了一套主动立体显示的CAVE系统,其采用了一种具有几何畸变校正功能的投影机解决多通道投影图像的畸变问题,然而其采用的投影机价格比较昂贵,无法进行大量推广使用。为此,赵猛等人提出了一种相对“经济型”的CAVE立体投影几何校正方法,其通过采用重投影变换结合B样条曲面技术对立体图形进行投影几何校正,实现了CAVE的多通道立体显示功能,然而其面临着利用B样条投影控制点对投影图像的局部畸变位置进行调整,无法达到一种自动化功能。目前在搭建沉浸式多通道CAVE系统时,基本需人工干预调整投影机与投影屏幕进行严格姿态调整,然而无法精确的解决投影机摆放姿态与投影屏幕之间的几何画面一致性问题,导致投影画面呈现失真畸变问题,从而无法满足严格用户的视觉沉浸感需求,为此,本项目提出了一种沉浸式主动立体投影透视变换矩阵求解方法,解决投影机摆放姿态产生的几何图像失真问题,降低了CAVE投影硬件装置的成本。
发明内容
为了消除投影机的姿态与投影屏幕之间的关系对投影图像的干扰,本发明的目的在于提供一种沉浸式主动立体投影透视变换矩阵求解方法,该方法首先利用计算机生成一幅特征图像,并将其投影到屏幕上,通过摄像机感知投影屏幕区域,结合生成的特征图像的几何拓扑分布关系,透视投影变换原理获取投影畸变特征图像与原始特征图像之间的透视变换矩阵。
本发明的技术方案是这样实现的:沉浸式主动立体投影透视变换矩阵求解方法,包括摄像机、投影机、计算机、投影幕;其中摄像机通过电缆与计算机进行连接,投影机通过电缆与计算机进行连接;其特征在于具体的实现步骤如下:
步骤1、利用计算机中生成一幅特征图像,该特征图像的分辨率为1024×768像素,特征图像的背景颜色值为(255,255,255),以特征图像的像素位置(512,384)为中心,30个像素为半径生成一个圆形,称为中心圆形特征图案,中心圆形特征图案的圆心用pro_B1表示,pro_B1的坐标用(pro_BX1,pro_BY1)表示,中心圆形特征图案的颜色值为(0,0,0)。分别以特征图像的像素位置(256,192)、(256,575)、(767,192)、(767,575)为中心,30个像素为半径生成四个圆形,统称为内层圆形特征图案环,内层圆形特征图案环中四个圆形的圆心分别用pro_B2、pro_B3、pro_B4、pro_B5表示,pro_B2的位置坐标用(pro_BX2,pro_BY2)表示,pro_B3的位置坐标用(pro_BX3,pro_BY3)表示,pro_B4的位置坐标用(pro_BX4,pro_BY4)表示,pro_B5的位置坐标用(pro_BX5,pro_BY5)表示,内层圆形特征图案环中四个圆形的颜色值都为(0,0,0)。分别以特征图像的像素位置(128,96)、(128,671)、(895,96)、(895,671)为中心,30个像素为半径生成四个圆形,统称为中层圆形特征图案环,中层圆形特征图案环中四个圆形的圆心分别用pro_B6、pro_B7、pro_B8、pro_B9表示,pro_B6的位置坐标用(pro_CX6,pro_CY6)表示,pro_B7的位置坐标用(pro_BX7,pro_BY7)表示,pro_B8的位置坐标用(pro_BX8,pro_BY8)表示,pro_B9的位置坐标用(pro_BX9,pro_BY9)表示,中层圆形特征图案环中四个圆形的颜色值都为(0,0,0)。分别以特征图像的像素位置(15,15)、(15,752)、(1008,15)、(1008,752)为中心,30个像素为半径生成四个圆形,统称为外环圆形特征图案环,外环圆形特征图案环中四个圆形的圆心分别用pro_B10、pro_B11、pro_B12、pro_B13表示,pro_B10的位置坐标用(pro_BX10,pro_BY10)表示,pro_B11的位置坐标用(pro_BX11,pro_BY11)表示,pro_B12的位置坐标用(pro_BX12,pro_BY12)表示,pro_B13的位置坐标用(pro_BX13,pro_BY13)表示,外环圆形特征图案环中四个圆形的颜色值都为(0,0,0)。
步骤2、将摄像机放置于投影幕的前方,使摄像机拍摄视野范围包含全部投影幕,投影幕的宽度用scr_width(本发明中scr_width=2.45米),高度用scr_hight(本发明中scr_hight=1.84米),依据公式
scr_width:scr_hight=R
计算投影幕的宽高比值R。投影机投射一副纯白图像到投影幕上,摄像机采集投影幕上的图像,利用opencv2.4.10中的cvFindContours函数对采集的图像进行轮廓检测,得到投影幕的轮廓区域。设投影机的屏幕比例为P(本发明取值P=4:3),如果R>P,则以投影幕的高度scr_hight为基准,利用公式
pro_width=P * scr_hight
对投影幕的轮廓区域中的横向长度进行大小缩放,得到pro_width,则投影机的可视区域为pro_width×scr_hight;如果R≤P,则以投影幕的宽度scr_width为基准,利用公式
pro_hight= scr_width/P
对投影幕的轮廓区域中的纵向长度进行大小缩放,得到pro_hight,则投影机的可视区域为scr_width×pro_hight。
步骤3、保持摄像机1的位置不变,利用投影机将上述生成的特征图像投影到投影幕上,至少需要保证特征图像中的中心圆形特征图案、内层特征图案环、中层特征图案环在投影幕上显示,利用摄像机采集投影幕上的图像,得到几何畸变的特征图像,设其分辨率为pixel_h×pixel_v(本发明取值pixel_h×pixel_v=2048×1536)。
步骤4、利用opencv2.4.10中的cvThreshold函数对几何畸变的特征图像进行二值化处理,然后利用opencv2.4.10中的Canny函数进行边缘检测,得到边缘检测图像,最后利用opencv2.4.10中的cvFitEllipse2函数进行椭圆拟合,得到几何畸变的特征图像中所有椭圆的圆心,这些圆心称为几何畸变的特征图像的特征点。
步骤5、在pro_B1、pro_B2、pro_B3、pro_B4、pro_B5、pro_B6、pro_B7、pro_B8、pro_B9、pro_B10、pro_B11、pro_B12、pro_B13中,需找与位置坐标(pixel_h/2,pixel_v/2)最近的一个圆心,用cam_A1表示,camA1的位置坐标用(cam_AX1,cam_AY1)表示,cam_A1与pro_B1为一对特征点对。
步骤6、在几何畸变的特征图像中,以cam_A1为起始点,沿着像素点(0,0)构成的直线方向,第一个搜索到的特征点用cam_A2表示,其坐标值用(cam_AX2,cam_AY2)表示,cam_A2与pro_B2构成一对特征点对;以cam_A1为起始点,沿着像素点(0,pixel_v)构成的直线方向,第一个搜索到的特征点用cam_A3表示,其坐标值用(cam_AX3,cam_AY3)表示,cam_A3与pro_B3构成一对特征点对;以cam_A1为起始点,沿着像素点(pixel_h,0)构成的直线方向,第一个搜索到的特征点用cam_A4表示,其坐标值用(cam_AX4,cam_AY4)表示,cam_A4与pro_B4构成一对特征点对;以cam_A1为起始点,沿着像素点(pixel_h、pixel_v)构成的直线方向,第一个搜索到的特征点用cam_A5表示,其坐标值用(cam_AX5,cam_AY5)表示,cam_A5与pro_B5构成一对特征点对。
以cam_A2为起始点,沿着像素点(0,0)构成的直线方向,第一个搜索到的特征点用cam_A6表示,其坐标值用(cam_AX6,cam_AY6)表示,cam_A6与pro_B6构成一对特征点对;以cam_A3为起始点,沿着像素点(0,pixel_v)构成的直线方向,第一个搜索到的特征点用cam_A7表示,其坐标值用(cam_AX7,cam_AY7)表示,cam_A7与pro_B7构成一对特征点对;以cam_A4为起始点,沿着像素点(pixel_h,0)构成的直线方向,第一个搜索到的特征点用cam_A8表示,其坐标值用(cam_AX8,cam_AY8)表示,cam_A8与pro_B8构成一对特征点对;以cam_A5为起始点,沿着像素点(pixel_h,pixel_v)构成的直线方向,第一个搜索到的特征点用cam_A9表示,其坐标值用(cam_AX9,cam_AY9)表示,cam_A9与pro_B9构成一对特征点对。
步骤7、定义一维数组Flag,长度为4,类型bool,Flag[i]为数组Flag中的第i+1个元素,i=0,1,2,3;在几何畸变的特征图像中,以cam_A6为起始点,沿着像素点(0,0)构成的直线方向,如果搜索到特征点,那么该特征点用cam_C0表示,其坐标值用(cam_CX0,cam_CY0)表示,Flag[0]的值为1,如果没有搜索到特征点,那么Flag[0]的值为0;以cam_A7为起始点,沿着像素点(0,pixel_v)构成的直线方向,如果搜索到特征点,那么该特征点用cam_C1表示,其坐标值用(cam_CX1,cam_CY1)表示,Flag[1]的值为1,如果没有搜索到特征点,那么Flag[1]的值为0;以cam_A8为起始点,沿着像素点(pixel_h,0)构成的直线方向,如果搜索到特征点,那么该特征点用cam_C2表示,其坐标值用(cam_CX2,cam_CY2)表示,Flag[2]的值为1,如果没有搜索到特征点,那么Flag[2]的值为0;以cam_A9为起始点,沿着像素点(pixel_h,pixel_v)构成的直线方向,如果搜索到特征点,那么该特征点用cam_C3表示,其坐标值用(cam_CX3,cam_CY3)表示,Flag[3]的值为1,如果没有搜索到特征点,那么Flag[3]的值为0。
步骤8、如果Flag[0]的值为1,则cam_C0与pro_B10构成一对特征点对;如果Flag[1]的值为1,则cam_C1与pro_B11构成一对特征点对;如果Flag[2]的值为1,则cam_C2与pro_B12构成一对特征点对;如果Flag[3]的值为1,则cam_C3与pro_B13构成一对特征点对。
步骤9、依据公式
求解透视变换矩阵H,hij为矩阵H中第i行,第j列的元素,i=1,2,3;j=1,2,3;
其中cam_AXk与pro_BXk,k=1,2…9为步骤5至步骤6匹配的特征点对,而cam_CX0、cam_CX1、cam_CX2、cam_CX3与pro_BX10、pro_BX11、pro_BX12、pro_BX13为步骤7至步骤8匹配的特征点对。
利用以上步骤可以求解沉浸式主动立体投影透视变换矩阵,利用透视变换矩阵即可实现投影畸变校正,使得观察者能够观看到高沉浸感的投影显示画面。
本发明的积极效果是避免了投影特征点投影到CAVE屏幕的外面而导致匹配特征点出错现象发生,同时利用本发明能够达到一种实时快速的求解主动立体投影透视变换矩阵,从而实现投影畸变校正,其不仅降低了投影机的硬件成本,同时提高了沉浸式CAVE系统的智能化显示水平。
附图说明
图1 为沉浸式主动立体投影透视变换矩阵求解方法所需设备结构图,其中摄像机1通过电缆与计算机3连接,投影机2通过电缆与计算机3连接。
具体实施方式
下面结合附图和实施例对本发明做进一步的描述:如图1所示,沉浸式主动立体投影透视变换矩阵求解方法,包括摄像机1、投影机2、计算机3、投影幕4;其中摄像机1通过电缆与计算机3进行连接,投影机2通过电缆与计算机3进行连接;其特征在于具体的实现步骤如下:
步骤1、利用计算机3中生成一幅特征图像,该特征图像的分辨率为1024×768像素,特征图像的背景颜色值为(255,255,255),以特征图像的像素位置(512,384)为中心,30个像素为半径生成一个圆形,称为中心圆形特征图案,中心圆形特征图案的圆心用pro_B1表示,pro_B1的坐标用(pro_BX1,pro_BY1)表示,中心圆形特征图案的颜色值为(0,0,0)。分别以特征图像的像素位置(256,192)、(256,575)、(767,192)、(767,575)为中心,30个像素为半径生成四个圆形,统称为内层圆形特征图案环,内层圆形特征图案环中四个圆形的圆心分别用pro_B2、pro_B3、pro_B4、pro_B5表示,pro_B2的位置坐标用(pro_BX2,pro_BY2)表示,pro_B3的位置坐标用(pro_BX3,pro_BY3)表示,pro_B4的位置坐标用(pro_BX4,pro_BY4)表示,pro_B5的位置坐标用(pro_BX5,pro_BY5)表示,内层圆形特征图案环中四个圆形的颜色值都为(0,0,0)。分别以特征图像的像素位置(128,96)、(128,671)、(895,96)、(895,671)为中心,30个像素为半径生成四个圆形,统称为中层圆形特征图案环,中层圆形特征图案环中四个圆形的圆心分别用pro_B6、pro_B7、pro_B8、pro_B9表示,pro_B6的位置坐标用(pro_CX6,pro_CY6)表示,pro_B7的位置坐标用(pro_BX7,pro_BY7)表示,pro_B8的位置坐标用(pro_BX8,pro_BY8)表示,pro_B9的位置坐标用(pro_BX9,pro_BY9)表示,中层圆形特征图案环中四个圆形的颜色值都为(0,0,0)。分别以特征图像的像素位置(15,15)、(15,752)、(1008,15)、(1008,752)为中心,30个像素为半径生成四个圆形,统称为外环圆形特征图案环,外环圆形特征图案环中四个圆形的圆心分别用pro_B10、pro_B11、pro_B12、pro_B13表示,pro_B10的位置坐标用(pro_BX10,pro_BY10)表示,pro_B11的位置坐标用(pro_BX11,pro_BY11)表示,pro_B12的位置坐标用(pro_BX12,pro_BY12)表示,pro_B13的位置坐标用(pro_BX13,pro_BY13)表示,外环圆形特征图案环中四个圆形的颜色值都为(0,0,0)。
如图1所示,摄像机1、投影机2、计算机3、投影幕4;其中摄像机1通过电缆与计算机3进行连接,投影机2通过电缆与计算机3进行连接。
步骤2、将摄像机1放置于投影幕4的前方,使摄像机1拍摄视野范围包含全部投影幕4,投影幕4的宽度scr_width=2.45米,高度scr_hight=1.84米,依据公式
scr_width:scr_hight=R
计算投影幕4的宽高比值R=1.332。投影机2投射一副纯白图像到投影幕4上,摄像机1采集投影幕4上的图像,利用opencv2.4.10中的cvFindContours函数对采集的图像进行轮廓检测,得到投影幕4的轮廓区域。投影机2采用的屏幕比例P=4:3,因为R≤P,则以投影幕4的宽度scr_width为基准,利用公式
pro_hight= scr_width/P
对投影幕4的轮廓区域中的纵向长度进行大小缩放,得到pro_hight=1.8375米,则投影机2的可视区域为2.45米×1.8375米。
步骤3、保持摄像机1的位置不变,利用投影机2将上述生成的特征图像投影到投影幕4上,至少需要保证特征图像中的中心圆形特征图案、内层特征图案环、中层特征图案环在投影幕4上显示,利用摄像机1采集投影幕4上的图像,得到几何畸变的特征图像,其分辨率pixel_h×pixel_v=2048×1536。
步骤4、利用opencv2.4.10中的cvThreshold函数对几何畸变的特征图像进行二值化处理,然后利用opencv2.4.10中的Canny函数进行边缘检测,得到边缘检测图像,最后利用opencv2.4.10中的cvFitEllipse2函数进行椭圆拟合,得到几何畸变的特征图像中所有椭圆的圆心,这些圆心称为几何畸变的特征图像的特征点。
步骤5、在pro_B1、pro_B2、pro_B3、pro_B4、pro_B5、pro_B6、pro_B7、pro_B8、pro_B9、pro_B10、pro_B11、pro_B12、pro_B13中,需找与位置坐标(1024,768)最近的一个圆心,用cam_A1表示,camA1的位置坐标用(cam_AX1,cam_AY1)表示,cam_A1与pro_B1为一对特征点对。
步骤6、在几何畸变的特征图像中,以cam_A1为起始点,沿着像素点(0,0)构成的直线方向,第一个搜索到的特征点用cam_A2表示,其坐标值用(cam_AX2,cam_AY2)表示,cam_A2与pro_B2构成一对特征点对;以cam_A1为起始点,沿着像素点(0,1536)构成的直线方向,第一个搜索到的特征点用cam_A3表示,其坐标值用(cam_AX3,cam_AY3)表示,cam_A3与pro_B3构成一对特征点对;以cam_A1为起始点,沿着像素点(2048,0)构成的直线方向,第一个搜索到的特征点用cam_A4表示,其坐标值用(cam_AX4,cam_AY4)表示,cam_A4与pro_B4构成一对特征点对;以cam_A1为起始点,沿着像素点(2048、1536)构成的直线方向,第一个搜索到的特征点用cam_A5表示,其坐标值用(cam_AX5,cam_AY5)表示,cam_A5与pro_B5构成一对特征点对。
以cam_A2为起始点,沿着像素点(0,0)构成的直线方向,第一个搜索到的特征点用cam_A6表示,其坐标值用(cam_AX6,cam_AY6)表示,cam_A6与pro_B6构成一对特征点对;以cam_A3为起始点,沿着像素点(0,1536)构成的直线方向,第一个搜索到的特征点用cam_A7表示,其坐标值用(cam_AX7,cam_AY7)表示,cam_A7与pro_B7构成一对特征点对;以cam_A4为起始点,沿着像素点(2048,0)构成的直线方向,第一个搜索到的特征点用cam_A8表示,其坐标值用(cam_AX8,cam_AY8)表示,cam_A8与pro_B8构成一对特征点对;以cam_A5为起始点,沿着像素点(2048,1536)构成的直线方向,第一个搜索到的特征点用cam_A9表示,其坐标值用(cam_AX9,cam_AY9)表示,cam_A9与pro_B9构成一对特征点对。
步骤7、定义一维数组Flag,长度为4,类型bool,Flag[i]为数组Flag中的第i+1个元素,i=0,1,2,3;在几何畸变的特征图像中,以cam_A6为起始点,沿着像素点(0,0)构成的直线方向,如果搜索到特征点,那么该特征点用cam_C0表示,其坐标值用(cam_CX0,cam_CY0)表示,Flag[0]的值为1,如果没有搜索到特征点,那么Flag[0]的值为0;以cam_A7为起始点,沿着像素点(0,1536)构成的直线方向,如果搜索到特征点,那么该特征点用cam_C1表示,其坐标值用(cam_CX1,cam_CY1)表示,Flag[1]的值为1,如果没有搜索到特征点,那么Flag[1]的值为0;以cam_A8为起始点,沿着像素点(2048,0)构成的直线方向,如果搜索到特征点,那么该特征点用cam_C2表示,其坐标值用(cam_CX2,cam_CY2)表示,Flag[2]的值为1,如果没有搜索到特征点,那么Flag[2]的值为0;以cam_A9为起始点,沿着像素点(2048,1536)构成的直线方向,如果搜索到特征点,那么该特征点用cam_C3表示,其坐标值用(cam_CX3,cam_CY3)表示,Flag[3]的值为1,如果没有搜索到特征点,那么Flag[3]的值为0。
步骤8、如果Flag[0]的值为1,则cam_C0与pro_B10构成一对特征点对;如果Flag[1]的值为1,则cam_C1与pro_B11构成一对特征点对;如果Flag[2]的值为1,则cam_C2与pro_B12构成一对特征点对;如果Flag[3]的值为1,则cam_C3与pro_B13构成一对特征点对。
步骤9、依据公式
求解透视变换矩阵H,hij为矩阵H中第i行,第j列的元素,i=1,2,3; j=1,2,3;其中cam_AXk与pro_BXk,k=1,2…9为步骤5至步骤6匹配的特征点对,而cam_CX0、cam_CX1、cam_CX2、cam_CX3与pro_BX10、pro_BX11、pro_BX12、pro_BX13为步骤7至步骤8匹配的特征点对。
利用以上步骤可以求解沉浸式主动立体投影透视变换矩阵,利用透视变换矩阵即可实现投影畸变校正,使得观察者能够观看到高沉浸感的投影显示画面。
Claims (1)
1.沉浸式主动立体投影透视变换矩阵求解方法,包括摄像机、投影机、计算机、投影幕;其中摄像机通过电缆与计算机进行连接,投影机通过电缆与计算机进行连接;其特征在于具体的实现步骤如下:
步骤1、利用计算机中生成一幅特征图像,该特征图像的分辨率为1024×768像素,特征图像的背景颜色值为(255,255,255),以特征图像的像素位置(512,384)为中心,30个像素为半径生成一个圆形,称为中心圆形特征图案,中心圆形特征图案的圆心用pro_B1表示,pro_B1的坐标用(pro_BX1,pro_BY1)表示,中心圆形特征图案的颜色值为(0,0,0);分别以特征图像的像素位置(256,192)、(256,575)、(767,192)、(767,575)为中心,30个像素为半径生成四个圆形,统称为内层圆形特征图案环,内层圆形特征图案环中四个圆形的圆心分别用pro_B2、pro_B3、pro_B4、pro_B5表示,pro_B2的位置坐标用(pro_BX2,pro_BY2)表示,pro_B3的位置坐标用(pro_BX3,pro_BY3)表示,pro_B4的位置坐标用(pro_BX4,pro_BY4)表示,pro_B5的位置坐标用(pro_BX5,pro_BY5)表示,内层圆形特征图案环中四个圆形的颜色值都为(0,0,0);分别以特征图像的像素位置(128,96)、(128,671)、(895,96)、(895,671)为中心,30个像素为半径生成四个圆形,统称为中层圆形特征图案环,中层圆形特征图案环中四个圆形的圆心分别用pro_B6、pro_B7、pro_B8、pro_B9表示,pro_B6的位置坐标用(pro_CX6,pro_CY6)表示,pro_B7的位置坐标用(pro_BX7,pro_BY7)表示,pro_B8的位置坐标用(pro_BX8,pro_BY8)表示,pro_B9的位置坐标用(pro_BX9,pro_BY9)表示,中层圆形特征图案环中四个圆形的颜色值都为(0,0,0);分别以特征图像的像素位置(15,15)、(15,752)、(1008,15)、(1008,752)为中心,30个像素为半径生成四个圆形,统称为外环圆形特征图案环,外环圆形特征图案环中四个圆形的圆心分别用pro_B10、pro_B11、pro_B12、pro_B13表示,pro_B10的位置坐标用(pro_BX10,pro_BY10)表示,pro_B11的位置坐标用(pro_BX11,pro_BY11)表示,pro_B12的位置坐标用(pro_BX12,pro_BY12)表示,pro_B13的位置坐标用(pro_BX13,pro_BY13)表示,外环圆形特征图案环中四个圆形的颜色值都为(0,0,0);
步骤2、将摄像机放置于投影幕的前方,使摄像机拍摄视野范围包含全部投影幕,投影幕的宽度用scr_width =2.45米,高度用scr_hight =1.84米,依据公式
scr_width:scr_hight=R
计算投影幕的宽高比值R;投影机投射一副纯白图像到投影幕上,摄像机采集投影幕上的图像,利用opencv2.4.10中的cvFindContours函数对采集的图像进行轮廓检测,得到投影幕的轮廓区域;设投影机的屏幕比例为P(本发明取值P=4:3),如果R>P,则以投影幕的高度scr_hight为基准,利用公式
pro_width=P * scr_hight
对投影幕的轮廓区域中的横向长度进行大小缩放,得到pro_width,则投影机的可视区域为pro_width×scr_hight;如果R≤P,则以投影幕的宽度scr_width为基准,利用公式
pro_hight= scr_width/P
对投影幕的轮廓区域中的纵向长度进行大小缩放,得到pro_hight,则投影机的可视区域为scr_width×pro_hight;
步骤3、保持摄像机1的位置不变,利用投影机将上述生成的特征图像投影到投影幕上,至少需要保证特征图像中的中心圆形特征图案、内层特征图案环、中层特征图案环在投影幕上显示,利用摄像机采集投影幕上的图像,得到几何畸变的特征图像,设其分辨率为pixel_h×pixel_v =2048×1536;
步骤4、利用opencv2.4.10中的cvThreshold函数对几何畸变的特征图像进行二值化处理,然后利用opencv2.4.10中的Canny函数进行边缘检测,得到边缘检测图像,最后利用opencv2.4.10中的cvFitEllipse2函数进行椭圆拟合,得到几何畸变的特征图像中所有椭圆的圆心,这些圆心称为几何畸变的特征图像的特征点;
步骤5、在pro_B1、pro_B2、pro_B3、pro_B4、pro_B5、pro_B6、pro_B7、pro_B8、pro_B9、pro_B10、pro_B11、pro_B12、pro_B13中,需找与位置坐标(pixel_h/2,pixel_v/2)最近的一个圆心,用cam_A1表示,camA1的位置坐标用(cam_AX1,cam_AY1)表示,cam_A1与pro_B1为一对特征点对;
步骤6、在几何畸变的特征图像中,以cam_A1为起始点,沿着像素点(0,0)构成的直线方向,第一个搜索到的特征点用cam_A2表示,其坐标值用(cam_AX2,cam_AY2)表示,cam_A2与pro_B2构成一对特征点对;以cam_A1为起始点,沿着像素点(0,pixel_v)构成的直线方向,第一个搜索到的特征点用cam_A3表示,其坐标值用(cam_AX3,cam_AY3)表示,cam_A3与pro_B3构成一对特征点对;以cam_A1为起始点,沿着像素点(pixel_h,0)构成的直线方向,第一个搜索到的特征点用cam_A4表示,其坐标值用(cam_AX4,cam_AY4)表示,cam_A4与pro_B4构成一对特征点对;以cam_A1为起始点,沿着像素点(pixel_h、pixel_v)构成的直线方向,第一个搜索到的特征点用cam_A5表示,其坐标值用(cam_AX5,cam_AY5)表示,cam_A5与pro_B5构成一对特征点对;
以cam_A2为起始点,沿着像素点(0,0)构成的直线方向,第一个搜索到的特征点用cam_A6表示,其坐标值用(cam_AX6,cam_AY6)表示,cam_A6与pro_B6构成一对特征点对;以cam_A3为起始点,沿着像素点(0,pixel_v)构成的直线方向,第一个搜索到的特征点用cam_A7表示,其坐标值用(cam_AX7,cam_AY7)表示,cam_A7与pro_B7构成一对特征点对;以cam_A4为起始点,沿着像素点(pixel_h,0)构成的直线方向,第一个搜索到的特征点用cam_A8表示,其坐标值用(cam_AX8,cam_AY8)表示,cam_A8与pro_B8构成一对特征点对;以cam_A5为起始点,沿着像素点(pixel_h,pixel_v)构成的直线方向,第一个搜索到的特征点用cam_A9表示,其坐标值用(cam_AX9,cam_AY9)表示,cam_A9与pro_B9构成一对特征点对;
步骤7、定义一维数组Flag,长度为4,类型bool,Flag[i]为数组Flag中的第i+1个元素,i=0,1,2,3;在几何畸变的特征图像中,以cam_A6为起始点,沿着像素点(0,0)构成的直线方向,如果搜索到特征点,那么该特征点用cam_C0表示,其坐标值用(cam_CX0,cam_CY0)表示,Flag[0]的值为1,如果没有搜索到特征点,那么Flag[0]的值为0;以cam_A7为起始点,沿着像素点(0,pixel_v)构成的直线方向,如果搜索到特征点,那么该特征点用cam_C1表示,其坐标值用(cam_CX1,cam_CY1)表示,Flag[1]的值为1,如果没有搜索到特征点,那么Flag[1]的值为0;以cam_A8为起始点,沿着像素点(pixel_h,0)构成的直线方向,如果搜索到特征点,那么该特征点用cam_C2表示,其坐标值用(cam_CX2,cam_CY2)表示,Flag[2]的值为1,如果没有搜索到特征点,那么Flag[2]的值为0;以cam_A9为起始点,沿着像素点(pixel_h,pixel_v)构成的直线方向,如果搜索到特征点,那么该特征点用cam_C3表示,其坐标值用(cam_CX3,cam_CY3)表示,Flag[3]的值为1,如果没有搜索到特征点,那么Flag[3]的值为0;
步骤8、如果Flag[0]的值为1,则cam_C0与pro_B10构成一对特征点对;如果Flag[1]的值为1,则cam_C1与pro_B11构成一对特征点对;如果Flag[2]的值为1,则cam_C2与pro_B12构成一对特征点对;如果Flag[3]的值为1,则cam_C3与pro_B13构成一对特征点对;
步骤9、依据公式
求解透视变换矩阵H,hij为矩阵H中第i行,第j列的元素,i=1,2,3;j=1,2,3;
其中cam_AXk与pro_BXk,k=1,2…9为步骤5至步骤6匹配的特征点对,而cam_CX0、cam_CX1、cam_CX2、cam_CX3与pro_BX10、pro_BX11、pro_BX12、pro_BX13为步骤7至步骤8匹配的特征点对;
利用以上步骤可以求解沉浸式主动立体投影透视变换矩阵,利用透视变换矩阵即可实现投影畸变校正,使得观察者能够观看到高沉浸感的投影显示画面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710584647.7A CN107580203B (zh) | 2017-07-18 | 2017-07-18 | 沉浸式主动立体投影透视变换矩阵求解方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710584647.7A CN107580203B (zh) | 2017-07-18 | 2017-07-18 | 沉浸式主动立体投影透视变换矩阵求解方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107580203A true CN107580203A (zh) | 2018-01-12 |
CN107580203B CN107580203B (zh) | 2019-01-15 |
Family
ID=61049607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710584647.7A Active CN107580203B (zh) | 2017-07-18 | 2017-07-18 | 沉浸式主动立体投影透视变换矩阵求解方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107580203B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108520672A (zh) * | 2018-03-01 | 2018-09-11 | 吉林大学 | 一种具有多屏幕立体成像的驾驶模拟仿真系统 |
CN108683897A (zh) * | 2018-05-07 | 2018-10-19 | 长春理工大学 | 多投影显示系统畸变的智能校正方法 |
CN109493288A (zh) * | 2018-10-23 | 2019-03-19 | 安徽慧视金瞳科技有限公司 | 一种交互式课堂教学系统光斑自适应映射算法 |
CN110099266A (zh) * | 2019-05-14 | 2019-08-06 | 峰米(北京)科技有限公司 | 投影机画面校正方法、装置及投影机 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530880A (zh) * | 2013-10-16 | 2014-01-22 | 大连理工大学 | 基于投影高斯网格图案的摄像机标定方法 |
CN104778694A (zh) * | 2015-04-10 | 2015-07-15 | 北京航空航天大学 | 一种面向多投影拼接显示的参数化自动几何校正方法 |
CN106127758A (zh) * | 2016-06-21 | 2016-11-16 | 四川大学 | 一种基于虚拟现实技术的视觉检测方法及装置 |
-
2017
- 2017-07-18 CN CN201710584647.7A patent/CN107580203B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530880A (zh) * | 2013-10-16 | 2014-01-22 | 大连理工大学 | 基于投影高斯网格图案的摄像机标定方法 |
CN104778694A (zh) * | 2015-04-10 | 2015-07-15 | 北京航空航天大学 | 一种面向多投影拼接显示的参数化自动几何校正方法 |
CN106127758A (zh) * | 2016-06-21 | 2016-11-16 | 四川大学 | 一种基于虚拟现实技术的视觉检测方法及装置 |
Non-Patent Citations (2)
Title |
---|
DUAN FA-JIE: ""Fourier Transform Profilometry Based on Fiber-optic"", 《IEEE》 * |
杨帆: "生物医学图像自动拼接", 《CNKI》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108520672A (zh) * | 2018-03-01 | 2018-09-11 | 吉林大学 | 一种具有多屏幕立体成像的驾驶模拟仿真系统 |
CN108683897A (zh) * | 2018-05-07 | 2018-10-19 | 长春理工大学 | 多投影显示系统畸变的智能校正方法 |
CN109493288A (zh) * | 2018-10-23 | 2019-03-19 | 安徽慧视金瞳科技有限公司 | 一种交互式课堂教学系统光斑自适应映射算法 |
CN110099266A (zh) * | 2019-05-14 | 2019-08-06 | 峰米(北京)科技有限公司 | 投影机画面校正方法、装置及投影机 |
Also Published As
Publication number | Publication date |
---|---|
CN107580203B (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103226830B (zh) | 三维虚实融合环境中视频纹理投影的自动匹配校正方法 | |
CN107431796B (zh) | 全景虚拟现实内容的全方位立体式捕捉和渲染 | |
Raskar et al. | Table-top spatially-augmented realty: bringing physical models to life with projected imagery | |
CN107580203B (zh) | 沉浸式主动立体投影透视变换矩阵求解方法 | |
CN105809701B (zh) | 全景视频姿态标定方法 | |
CN103763479B (zh) | 实时高速高清全景视频的拼接装置及其方法 | |
CN102984453B (zh) | 利用单摄像机实时生成半球全景视频图像的方法及系统 | |
CN103020954B (zh) | 面向非规则表面的自适应投影系统 | |
CN102968809B (zh) | 在增强现实领域实现虚拟信息标注及绘制标注线的方法 | |
CN104299215B (zh) | 一种特征点标定和匹配的图像拼接方法 | |
CN107637060A (zh) | 相机装备和立体图像捕获 | |
CN103034330B (zh) | 一种用于视频会议的眼神交互方法及系统 | |
CN105005970A (zh) | 一种增强现实的实现方法及装置 | |
CN103019643A (zh) | 一种即插即用的大屏幕投影自动校正与拼接显示方法 | |
CN110099266A (zh) | 投影机画面校正方法、装置及投影机 | |
CN103533276B (zh) | 一种平面多投影快速拼接方法 | |
CN100545864C (zh) | 基于软件的环幕帧缓存纹理重贴几何校正方法 | |
CN104937634B (zh) | 用于生成环绕视图的方法和系统 | |
CN108629756A (zh) | 一种Kinect v2深度图像无效点修复方法 | |
CN107862718B (zh) | 4d全息视频捕捉方法 | |
CN107274341A (zh) | 基于固定拼接参数的快速双目鱼眼全景图像拼接方法 | |
CN105427372A (zh) | 基于tin网的正射影像拼接色彩一致性处理技术 | |
CN108737799A (zh) | 一种投影方法、装置及系统 | |
CN107016707B (zh) | 一种集成成像超大三维场景拍摄图像校正方法 | |
CN107105214B (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 |