CN105046685B - 基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法 - Google Patents

基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法 Download PDF

Info

Publication number
CN105046685B
CN105046685B CN201510343031.1A CN201510343031A CN105046685B CN 105046685 B CN105046685 B CN 105046685B CN 201510343031 A CN201510343031 A CN 201510343031A CN 105046685 B CN105046685 B CN 105046685B
Authority
CN
China
Prior art keywords
photography
point cloud
ball
photography ball
matrix
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.)
Expired - Fee Related
Application number
CN201510343031.1A
Other languages
English (en)
Other versions
CN105046685A (zh
Inventor
杨华民
韩成
权巍
薛耀红
蒋振刚
张超
王旭阳
张玉强
王颖
赵璘
曹玉玲
包铁壮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changchun University of Science and Technology
Original Assignee
Changchun University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Changchun University of Science and Technology filed Critical Changchun University of Science and Technology
Priority to CN201510343031.1A priority Critical patent/CN105046685B/zh
Publication of CN105046685A publication Critical patent/CN105046685A/zh
Application granted granted Critical
Publication of CN105046685B publication Critical patent/CN105046685B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10052Images from lightfield camera

Landscapes

  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

本发明涉及一种基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法,其特征在于:其设备由摄影球、随机点云标记纸、彩色数码相机、三角架、计算机组成,其中彩色数码相机与三角架通过快装板相连,彩色数码相机与计算机通过电缆相连,计算机中存有随机点云标记图,随机点云标记图为62个半径为10mm的正圆,并将其分别编号dt记为1,2,3,...,62并随机分布构成,并打印于A4纸上构成随机点云标记纸,摄影球置于随机点云标记纸的几何中心处,摄影球的直径为25cm;其能够快速、高精度地计算真实点光源的方向并且在三维建模软件中将其虚拟化。

Description

基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法
技术领域
本发明涉及一种基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法,属于增强现实技术领域。
背景技术
目前,大多数基于摄影球的光源测量方法都是使用方形标识物进行相机位置的测量,但在一些遮挡面积大、遮挡物多的复杂场景中,方形标识物往往有很大的局限性,甚至无法估计出结果。如在一片浓密的丛林中融入一株虚拟的植被,因为缺乏适用于方形标识物的理想角度,从而需要一种鲁棒性更强的标记方法。
基于增强现实的立体电影制作过程中,决定真实场景、角色同虚拟场景、角色合成效果真实感的一个关键技术是光照一致性技术,包括明暗、反射、阴影等方面。早期基于增强现实的立体电影制作过程中,光照效果的解决方案多是虚拟布光和后期调整,这种方法只能提供一种近似的逼真感,并且这种方法需要花费大量的后期制作时间和精力,如果更换了环境,则需要对场景进行重新布光和调整。而现今生成虚拟对象的技术往往是基于MAYA、3DMAX等软件,在某一角度生成照射虚拟对象的虚拟光源之后,即可以将其与虚拟对象绑定,从而可以减少后期制作的时间和精力。
基于图像的光照,其核心技术是记录真实场景光照信息载体的获取。经典的球镜模型是在2002年Kanbara等人将一个二维方形板和一个球镜组合在一起,形成一个三维标志物,能够同时完成几何注册和光照注册;美国特拉华大学的Wei Zhou等人,针对于以往光照估计中要求单一特定类型光源的局限,提出了一种场景光照模型的统一化框架,对不同类型的光源建立了更普遍适用的光源模型;Willianms 提出的阴影映射算法,首先提取从光源到场景物体所有轮廓边,然后得到由光源点及每个轮廓边生成的半无限四边形,这些四边形构成物体的阴影体。
目前真实光照恢复方法主要有三种:第一种是在已知物体几何形状以及物体表面为 Lambert 漫反射的前提下,从单幅图像中根据物体表面明暗信息恢复出光源的数目和方向;第二种是通过已知几何形状的物体在场景中投射出的阴影区域,计算区域内的光能辐射分布来恢复出场景中的光照分布;第三种是为了模拟真实世界中的复杂光照,利用纯镜面反光球计算场景中某一点处的环境映照图,然后通过高动态范围的恢复算法计算场景的辐射度图。当获得了光照信息之后,其中虚拟光生成方法分为:一种是先用经验光照明模型和场景几何来恢复物体材料的光照属性,再根据这些属性生成新光照条件或新视点下的同一场景的图像。该方法可以实现漫游和交互,但比较复杂;另一种是基于不同视点、光照方向的采样图像,采用合适的基函数对采样图像进行插值、拟合等处理,从而获得以视点和光照方向为变量的重光照函数,包含了间接光照和环境光照,具有全局性,但全局光照计算复杂度较高。本发明提出了一种基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法,具有高效、精准等优点,更适合在实际中使用。
发明内容
本发明提出了一种基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法,其能够快速、高精度地计算真实点光源的方向并且在三维建模软件中将其虚拟化。
本发明的技术方案是这样实现的:一种基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法,其特征在于:其设备由摄影球、随机点云标记纸、彩色数码相机、三角架、计算机组成,其中彩色数码相机与三角架通过快装板相连,彩色数码相机与计算机通过电缆相连,计算机中存有随机点云标记图,随机点云标记图为62个半径为10mm的正圆,并将其分别编号dt记为1,2,3,...,62并随机分布构成,并打印于A4纸上构成随机点云标记纸,摄影球置于随机点云标记纸的几何中心处,摄影球的直径为25cm;
其具体的实现步骤如下:
步骤1、调整三角架的脚架部分和云台部分,使得通过彩色数码相机3的取景器目镜能够看到摄影球的全部以及随机点云标记纸的全部,用彩色数码相机3拍摄,得到一幅摄影球图片。
步骤2、在随机点云标记纸上建立世界坐标系,其中世界坐标系的原点O选为随机点云标记纸的几何中心,Z轴正方向选为沿纸面向里,X轴正方向选为由七点边指向五点边并垂直于A4点云标记纸的短边,Y轴正方向选为由十一点边指向四点边并垂直于A4点云标记纸的长边。
步骤3、在摄影球图片中建立摄影球图片坐标系,摄影球图片坐标系的原点选为摄影球图片中摄影球的球心,摄影球图片坐标系的Z轴正方向选为摄影球图片内过原点O垂直向上,摄影球图片坐标系的Y轴正方向选为摄影球图片内过原点O水平向右,摄影球图片坐标系的X轴正方向选为过原点O垂直于摄影球图片向外。
步骤4、由摄影球图片上所有像素点按照从左到右,从上到下的顺序构成矩阵P;设矩阵P有m行,n列;P(i,j)=(R(i,j),G(i,j),B(i,j))为矩阵P的第i行第j列元素,其中R(i,j)、G(i,j)、B(i,j)分别为P(i,j)的RGB值。构造矩阵I,设元素I(i,j)是矩阵I的第i行第j列元素,I(i,j)=(R(i,j)+G(i,j)+B(i,j))/3/255,i=1,2,…,m,j=1,2,…,n;在摄影球图片中摄影球的轮廓上选取三个点point1、point2、point3,并记其于摄影球图片坐标系中的像素坐标分别为,同时,易在摄影球图片中摄影球区域内读取到每个点光源于摄影球图片坐标系中的坐标。即可求得圆心于摄影球图片坐标系下的像素坐标,以及以像素为单位的圆半径值,方法如下:
由方程组
联立求得
再由
解得
由方程组
联立求得,并设
解得
由方程组
得到圆心在摄影球图片坐标系下的像素坐标,用表示,则以像素为单位的圆半径为
步骤5、经过计算:
得点光源于摄影球1表面所呈光斑的于摄影球图片坐标系中的坐标
步骤6、如图5所示,经过计算:
即可计算得到点光源于摄影球图片坐标系下的坐标
步骤7、使用OpenCV1.0中的cvThreshold函数,对随机点云标记图进行二值化;使用OpenCV1.0中的cvFindContours函数,在其中找出各图形的轮廓的点集;使用OpenCV1.0中的cvCvtSeqToArray函数,依次将每一个图形的轮廓的点集转换为一维数组,一维数组中元素的类型都为CvPoint;最后,使用OpenCV1.0中的cvFitEllipse函数,对每个一维数组进行圆拟合,得到每个圆的圆心坐标,并记为,设cvFitEllipse函数的返回值用Box表示,x0=Box.center.x,y0=Box.center.y,a=Box.size.height,b=Box.size.width,,则令,并将归一化并记为,dt=1,2,…PN。
步骤8、构造矩阵T_R, T_R(i,j,k)为矩阵T_R的,T_R(i,j,1)
计算随机点云标记图中每个圆的与其他所有圆的的迹,并将编号为dt圆与其他所有圆计算的迹值按快速排序法非降次排序后的前4个迹值以及后者的编号存入矩阵T_R(PN)(4)(2)中,其中矩阵T_R中的元素T_R(dt,u,1)=表示编号为dt圆与其他所有圆中编号为di圆构成了第u小的迹,di=1,2,3,...,PN,PN表示随机点云标记图中圆点的总数,在本方法中u=1,2,3,4。
步骤9、如图6所示,构建一个PN*4的矩阵中,记为XYJ1(PN)(4),其中
步骤10、将摄影球图片存储于计算机中,使用OpenCV1.0中的cvThreshold函数,对摄影球图片进行二值化;使用OpenCV1.0中的cvFindContours函数,在二值化后的摄影球图片中找出除边界处外的每一个可见椭圆的轮廓点集;使用OpenCV1.0中的cvCvtSeqToArray函数,依次将每一个可见椭圆的轮廓的点集转换为一维数组,一维数组中元素的类型都为CvPoint;最后,使用OpenCV1.0中的cvFitEllipse函数,对每个一维数组进行椭圆拟合,并对每个椭圆编号为dt’,得到每个椭圆的圆心坐,将cvFitEllipse函数中的参数centerpoint.x记为xx0,centerpoint.y记为yy0,ellsize.height记为aa,ellsize.width记为bb,angle记为,则令,并将归一化记为,其中表示摄影球图片中可见椭圆的编号。
步骤11、计算摄影球图片中除边界处外的每一个可见的椭圆的与其他所有椭圆计算的的迹,并将编号为dt’椭圆与其他所有可见椭圆的迹值按快速排序法非降次排序后的前4个迹值以及后者的编号存入矩阵T_R’(PN)(4)(2)中,其中矩阵T_R’中的元素T_R’(dt’)(u)= 表示编号为dt’椭圆与其他所有椭圆中编号为di’椭圆构成了第u小的迹,di’=1,2,3,...,TN,TN表示在摄影球图片中除边界处外观察到的椭圆点的总数,在本方法中u=1,2,3,4。
步骤12、如图7所示,构建一个PN*4的矩阵中,记为XYJ2(TN)(4),其中
dt’=1,2,3,...,TN,
创建两个一维向量XYJ3和XYJ4,如果存在dt使得XYJ2(dt’)与XYJ1(dt)相匹配,则将赋值给XYJ3(pn),赋值给XYJ4(pn),XYJ2(dt’)与XYJ1(dt)相匹配需满足为根据需要所设定的阈值,dt=1,2,3,...,PN,pn=1,2,3,...,TN。
步骤13、将XYJ3(pn)和XYJ4(pn)传递给OpenCV1.0中的摄像机标定函数CalibrateCamera2,便可得彩色数码相机3的3*3旋转矩阵R和3*1平移矩阵T,从而可以计算得到点光源在如图2中坐标系中的空间相对位置,计算方法如下:
步骤14、点光源在如图3中坐标系中的空间相对位置,转换成MAYA中光源参数的角度值(Rotate XN,Rotate YN,Rotate ZN)方法如下,其中于MAYA中建立MAYA世界坐标系,如图3中所示,并创建虚拟摄像机使其光轴与Y轴重合,沿Y轴负方向。已知MAYA中创建虚拟点光源时的初始位置为虚拟点光源光轴与Z轴重合并沿Z轴负方向,则步骤15、在MAYA世界坐标系中虚拟点光源的参数,即为:
通过以上步骤便可快速、高精度地估计实际空间中点光源的方向并且在三维建模软件(MAYA)中直接生成其参数。
本发明的积极效果是一种基于单幅图像中的点光源信息,生成虚拟点光源方向的方法,该方法对输入参数要求较低,仅需一副拍摄有摄影球的图像,获得点光源的空间方向,为了增强鲁棒性,使用了点云标定,适用于任何数量的点光源估计,并且克服了传统的方形标定板无法标定大角度位置的缺陷;同时将点光源有效地直接转换为适用于MAYA的参数形式,可以将获得的结果参数直接使用,基本符合现今主流虚拟重构软件的需要。
附图说明
图1是一种基于单幅图像中的点光源信息,生成虚拟点光源姿态的方法所需设备构成图,其中:1为摄影球,2为随机点云标记纸,3为彩色数码相机,4为三角架,5为计算机,此图是说明书摘要附图。
图2为本方法中使用的随机点云标记图。
图3是随机点云标记纸坐标系图,其中:2为随机点云标记纸。
图4是摄影球图片中以1摄影球球心为原点建立摄影球图片坐标系的方式,其中1为摄影球。
图5是摄影球表面光斑处光线路图,其中1为摄影球。
图6是随机点云标记纸中五个圆点组示意图。
图7是随机点云标记纸中五个圆点组透视示意图。
具体实施方式
下面结合附图和实施例对本发明做进一步的描述:
一种基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法,其特征在于:如图1所示所用设备由摄影球1、随机点云标记纸2、彩色数码相机3、三角架4、计算机5组成,其中彩色数码相机3与三角架4通过快装板相连,彩色数码相机3与计算机5通过电缆相连,计算机5中存有随机点云标记图,随机点云标记图为62个半径为10mm大正圆,并将其分别编号dt记为1,2,3,...,62后随机分布构成,如图2所示,将图2打印于A4纸上构成随机点云标记纸2,摄影球1置于随机点云标记纸2的几何中心处,摄影球1的直径为25cm;
具体的实现步骤如下:
步骤1、调整三角架4的脚架部分和云台部分,使得通过彩色数码相机3的取景器目镜能够看到摄影球1的全部以及随机点云标记纸2的全部,用彩色数码相机3拍摄,得到一幅摄影球图片。
步骤2、在随机点云标记纸2上建立世界坐标系,如图3所示,其中世界坐标系的原点O选为随机点云标记纸2的几何中心,Z轴正方向选为沿纸面向里,X轴正方向选为由七点边指向五点边并垂直于A4点云标记纸2的短边,Y轴正方向选为由十一点边指向四点边并垂直于A4点云标记纸2的长边。
步骤3、在摄影球图片中建立摄影球图片坐标系,如图4所示,摄影球图片坐标系的原点选为摄影球图片中摄影球1的球心,摄影球图片坐标系的Z轴正方向选为摄影球图片内过原点O垂直向上,摄影球图片坐标系的Y轴正方向选为摄影球图片内过原点O水平向右,摄影球图片坐标系的X轴正方向选为过原点O垂直于摄影球图片向外。
步骤4、由摄影球图片上所有像素点按照从左到右,从上到下的顺序构成矩阵P;设矩阵P有m行,n列;P(i,j)=(R(i,j),G(i,j),B(i,j))为矩阵P的第i行第j列元素,其中R(i,j)、G(i,j)、B(i,j)分别为P(i,j)的RGB值。构造矩阵I,设元素I(i,j)是矩阵I的第i行第j列元素,I(i,j)=(R(i,j)+G(i,j)+B(i,j))/3/255,i=1,2,…,m,j=1,2,…,n;在摄影球图片中摄影球的轮廓上选取三个点point1、point2、point3,并记其于摄影球图片坐标系中的像素坐标分别为,同时,易在摄影球图片中摄影球区域内读取到每个点光源于摄影球图片坐标系中的坐标,N=1,2,…,e。即可求得圆心于摄影球图片坐标系下的像素坐标,以及以像素为单位的圆半径值,方法如下:
由方程组
联立求得,并设
再由
解得
由方程组
联立求得,并设
解得
由方程组
得到圆心在摄影球图片坐标系下的像素坐标,用表示,则以像素为单位的圆半径为
步骤5、经过计算:
得点光源于摄影球1表面所呈光斑的于摄影球图片坐标系中的坐标
步骤6、如图5所示,经过计算:
即可计算得到点光源于摄影球图片坐标系下的坐标
步骤7、使用OpenCV1.0中的cvThreshold函数,对随机点云标记图进行二值化;使用OpenCV1.0中的cvFindContours函数,在其中找出各图形的轮廓的点集;使用OpenCV1.0中的cvCvtSeqToArray函数,依次将每一个图形的轮廓的点集转换为一维数组,一维数组中元素的类型都为CvPoint;最后,使用OpenCV1.0中的cvFitEllipse函数,对每个一维数组进行圆拟合,得到每个圆的圆心坐标,并记为,将cvFitEllipse函数的返回值centerpoint.x记为x0,centerpoint.y记为y0,ellsize.height记为a,ellsize.width记为b,angle记为,则令,并将归一化并记为
步骤8、计算随机点云标记图中每个圆的与其他所有圆的的迹,并将编号为dt圆与其他所有圆计算的迹值按快速排序法非降次排序后的前4个迹值以及后者的编号存入矩阵T_R(PN)(4)(2)中,其中矩阵T_R中的元素表示编号为dt圆与其他所有圆中编号为di圆构成了第u小的迹,di=1,2,3,...,PN,PN表示随机点云标记图中圆点的总数,在本方法中u=1,2,3,4。
步骤9、如图6所示,构建一个PN*4的矩阵中,记为XYJ1(PN)(4),其中
步骤10、将摄影球图片存储于计算机中,使用OpenCV1.0中的cvThreshold函数,对摄影球图片进行二值化;使用OpenCV1.0中的cvFindContours函数,在二值化后的摄影球图片中找出除边界处外的每一个可见椭圆的轮廓点集;使用OpenCV1.0中的cvCvtSeqToArray函数,依次将每一个可见椭圆的轮廓的点集转换为一维数组,一维数组中元素的类型都为CvPoint;最后,使用OpenCV1.0中的cvFitEllipse函数,对每个一维数组进行椭圆拟合,并对每个椭圆编号为dt’,得到每个椭圆的圆心坐,将cvFitEllipse函数中的参数centerpoint.x记为xx0,centerpoint.y记为yy0,ellsize.height记为aa,ellsize.width记为bb,angle记为,则令,并将归一化记为,将按快速排序法非降次排序后取其中位数,记为,其中表示摄影球图片中可见椭圆的编号。
步骤11、计算摄影球图片中除边界处外的每一个可见的椭圆的与其他所有椭圆计算的的迹,并将编号为dt’椭圆与其他所有可见椭圆的迹值按快速排序法非降次排序后的前4个迹值以及后者的编号存入矩阵T_R’(PN)(4)(2)中,其中矩阵T_R’中的元素表示编号为dt’椭圆与其他所有椭圆中编号为di’椭圆构成了第u小的迹,di’=1,2,3,...,TN,TN表示在摄影球图片中除边界处外观察到的椭圆点的总数,在本方法中u=1,2,3,4。
步骤12、如图7所示,构建一个PN*4的矩阵中,记为XYJ2(TN)(4),其中
dt’=1,2,3,...,TN,
创建两个一维向量XYJ3(TN)和XYJ4(TN),如果存在dt使得XYJ2(dt’)与XYJ1(dt)相匹配,则将赋值给XYJ3(pn),赋值给XYJ4(pn),XYJ2(dt’)与XYJ1(dt)相匹配需满足,其中,dt=1,2,3,...,PN,pn=1,2,3,...,TN。
步骤13、将XYJ3(pn)和XYJ4(pn)传递给OpenCV1.0中的摄像机标定函数CalibrateCamera2,便可得彩色数码相机3的3*3旋转矩阵R和3*1平移矩阵T,从而可以计算得到点光源在如图2中坐标系中的空间相对位置,计算方法如下:
步骤14、点光源在如图3中坐标系中的空间相对位置,转换成MAYA中光源参数的角度值(Rotate XN,Rotate YN,Rotate ZN)方法如下,其中于MAYA中建立MAYA世界坐标系,如图3中所示,并创建虚拟摄像机使其光轴与Y轴重合,沿Y轴负方向。已知MAYA中创建虚拟点光源时的初始位置为虚拟点光源光轴与Z轴重合并沿Z轴负方向,则
步骤15、在MAYA世界坐标系中虚拟点光源的参数,即为:
Translate XN:;
Translate YN:;
Translate ZN::
Rotate XN=
Rotate YN=
Rotate ZN=
通过以上步骤便可快速、高精度地估计实际空间中点光源的方向并且在三维建模软件(MAYA)中直接生成其参数。

Claims (1)

1.一种基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法,其特征在于:其设备由摄影球、随机点云标记纸、彩色数码相机、三角架、计算机组成,其中彩色数码相机与三角架通过快装板相连,彩色数码相机与计算机通过电缆相连,计算机中存有随机点云标记图,随机点云标记图为62个半径为10mm的正圆,正圆的编号用变量dt表示,dt=1,2,3,...,62,随机点云标记图中的正圆随机分布,将随机点云标记图打印在A4纸上构成随机点云标记纸,摄影球置于随机点云标记纸的几何中心处,摄影球的直径为25cm;
其具体的实现步骤如下:
步骤1、调整三角架的脚架部分和云台部分,使得通过彩色数码相机的取景器目镜能够看到摄影球的全部以及随机点云标记纸的全部,用彩色数码相机拍摄,得到一幅摄影球图片;
步骤2、在随机点云标记纸上建立世界坐标系,其中世界坐标系的原点O选为随机点云标记纸的几何中心,Z轴正方向选为沿纸面向里,X轴正方向选为由七点边指向五点边并垂直于A4点云标记纸的短边,Y轴正方向选为由十一点边指向四点边并垂直于A4点云标记纸的长边;
步骤3、在摄影球图片中建立摄影球图片坐标系,摄影球图片坐标系的原点选为摄影球图片中摄影球的球心,摄影球图片坐标系的Z轴正方向选为摄影球图片内过原点O垂直向上,摄影球图片坐标系的Y轴正方向选为摄影球图片内过原点O水平向右,摄影球图片坐标系的X轴正方向选为过原点O垂直于摄影球图片向外;
步骤4、由摄影球图片上所有像素点按照从左到右,从上到下的顺序构成矩阵P;设矩阵P有m行,n列;P(i,j)=(R(i,j),G(i,j),B(i,j))为矩阵P的第i行第j列元素,其中R(i,j)、G(i,j)、B(i,j)分别为P(i,j)的RGB值;构造矩阵I,设元素I(i,j)是矩阵I的第i行第j列元素,I(i,j)=(R(i,j)+G(i,j)+B(i,j))/3/255,i=1,2,…,m,j=1,2,…,n;在摄影球图片中摄影球的轮廓上选取三个点point1、point2、point3,并记其于摄影球图片坐标系中的像素坐标分别为,同时,获取在摄影球图片中摄影球区域内每个点光源在摄影球图片坐标系中的坐标;即求得圆心于摄影球图片坐标系下的像素坐标,以及以像素为单位的圆半径值,方法如下:
由方程组
联立求得
再由
解得
由方程组
联立求得,并设
解得
由方程组
得到圆心在摄影球图片坐标系下的像素坐标,用表示,则以像素为单位的圆半径为
步骤5、经过计算:
得点光源于摄影球1表面所呈光斑的于摄影球图片坐标系中的坐标
步骤6、经过计算:
即可计算得到点光源于摄影球图片坐标系下的坐标
步骤7、使用OpenCV1.0中的cvThreshold函数,对随机点云标记图进行二值化;使用OpenCV1.0中的cvFindContours函数,在随机点云标记图中找出正圆的轮廓的点集;使用OpenCV1.0中的cvCvtSeqToArray函数,依次将每个正圆的轮廓的点集转换为一维数组,一维数组中元素的类型都为CvPoint;最后,使用OpenCV1.0中的cvFitEllipse函数,对每个一维数组进行圆拟合,得到每个拟合圆的圆心坐标,并记为,设cvFitEllipse函数的返回值用Box表示,x0=Box.center.x,y0=Box.center.y,a=Box.size.height,b=Box.size.width,,则令,并将归一化并记为,dt=1,2,…PN;
步骤8、构造矩阵T_R, T_R(i,j,k)为矩阵T_R的,T_R(i,j,1)=
计算随机点云标记图中每个圆的与其他所有正圆的的迹,并将编号为dt圆与其他所有正圆计算的迹值按快速排序法非降次排序后的前4个迹值以及后者的编号存入矩阵T_R(PN)(4)(2)中,其中矩阵T_R中的元素T_R(dt,u,1)=表示编号为dt圆与其他所有正圆中编号为di圆构成了第u小的迹,di=1,2,3,...,PN,PN表示随机点云标记图中圆点的总数,在本方法中u=1,2,3,4;
步骤9、构建一个PN*4的矩阵中,记为XYJ1(PN)(4),其中
步骤10、将摄影球图片存储于计算机中,使用OpenCV1.0中的cvThreshold函数,对摄影球图片进行二值化;使用OpenCV1.0中的cvFindContours函数,在二值化后的摄影球图片中找出除边界处外的每一个可见椭圆的轮廓点集;使用OpenCV1.0中的cvCvtSeqToArray函数,依次将每一个可见椭圆的轮廓的点集转换为一维数组,椭圆一维数组中元素的类型都为CvPoint;最后,使用OpenCV1.0中的cvFitEllipse函数,对每个椭圆一维数组进行椭圆拟合,并对每个椭圆编号为dt’,得到每个椭圆的圆心坐,将cvFitEllipse函数中的参数centerpoint.x记为xx0,centerpoint.y记为yy0,ellsize.height记为aa,ellsize.width记为bb,angle记为,则令,并将归一化记为,其中表示摄影球图片中可见椭圆的编号;
步骤11、计算摄影球图片中除边界处外的每一个可见的椭圆的与其他所有椭圆计算的的迹,并将编号为dt’椭圆与其他所有可见椭圆的迹值按快速排序法非降次排序后的前4个迹值以及后者的编号存入矩阵T_R’(PN)(4)(2)中,其中矩阵T_R’中的元素T_R’(dt’)(u)= 表示编号为dt’椭圆与其他所有椭圆中编号为di’椭圆构成了第u小的迹,di’=1,2,3,...,TN,TN表示在摄影球图片中除边界处外观察到的椭圆点的总数,在本方法中u=1,2,3,4;
步骤12、构建一个TN*4的矩阵中,记为XYJ2(TN)(4),其中
dt’=1,2,3,...,TN,
创建两个一维向量XYJ3和XYJ4,如果存在dt使得XYJ2(dt’)与XYJ1(dt)相匹配,则将赋值给XYJ3(pn),赋值给XYJ4(pn),XYJ2(dt’)与XYJ1(dt)相匹配需满足为根据需要所设定的阈值,dt=1,2,3,...,PN,dt=1,2,3,...,TN;
步骤13、将XYJ3(pn)和XYJ4(pn)传递给OpenCV1.0中的摄像机标定函数CalibrateCamera2,便得彩色数码相机3的3*3旋转矩阵R和3*1平移矩阵T,从而计算得到点光源在世界坐标系中的空间相对位置,计算方法如下:
步骤14、点光源在世界坐标系中的空间相对位置,转换成MAYA中光源参数的角度值(Rotate XN,Rotate YN,Rotate ZN)方法如下,其中于MAYA中建立MAYA世界坐标系,并创建虚拟摄像机使其光轴与Y轴重合,沿Y轴负方向;已知MAYA中创建虚拟点光源时的初始位置为虚拟点光源光轴与Z轴重合并沿Z轴负方向,则;
步骤15、在MAYA世界坐标系中虚拟点光源的参数,即为:
通过步骤1到步骤15便可快速、高精度地估计实际空间中点光源的方向并且在MAYA三维建模软件中直接生成其虚拟点光源的参数。
CN201510343031.1A 2015-06-19 2015-06-19 基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法 Expired - Fee Related CN105046685B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510343031.1A CN105046685B (zh) 2015-06-19 2015-06-19 基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510343031.1A CN105046685B (zh) 2015-06-19 2015-06-19 基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法

Publications (2)

Publication Number Publication Date
CN105046685A CN105046685A (zh) 2015-11-11
CN105046685B true CN105046685B (zh) 2017-10-27

Family

ID=54453203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510343031.1A Expired - Fee Related CN105046685B (zh) 2015-06-19 2015-06-19 基于单幅摄影球图像的真实点光源方向的计算及虚拟化方法

Country Status (1)

Country Link
CN (1) CN105046685B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106157321B (zh) * 2016-07-29 2020-05-19 长春理工大学 基于平面表面高动态范围图像的真实点光源位置测算方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279921A (zh) * 2013-05-17 2013-09-04 复旦大学 一种图像嵌入式处理系统及低照度图像光点获取与定位方法
CN104008563A (zh) * 2014-06-07 2014-08-27 长春理工大学 利用虚拟点光源实现动画三维场景的全局光照绘制的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI408486B (zh) * 2008-12-30 2013-09-11 Ind Tech Res Inst 具動態校正的攝影機及其動態校正方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279921A (zh) * 2013-05-17 2013-09-04 复旦大学 一种图像嵌入式处理系统及低照度图像光点获取与定位方法
CN104008563A (zh) * 2014-06-07 2014-08-27 长春理工大学 利用虚拟点光源实现动画三维场景的全局光照绘制的方法

Also Published As

Publication number Publication date
CN105046685A (zh) 2015-11-11

Similar Documents

Publication Publication Date Title
CN108470370B (zh) 三维激光扫描仪外置相机联合获取三维彩色点云的方法
CN104240289B (zh) 一种基于单个相机的三维数字化重建方法及系统
CN105184857B (zh) 基于点结构光测距的单目视觉重建中尺度因子确定方法
CN110728671B (zh) 基于视觉的无纹理场景的稠密重建方法
CN104992441B (zh) 一种面向个性化虚拟试衣的真实人体三维建模方法
CN105631861B (zh) 结合高度图从无标记单目图像中恢复三维人体姿态的方法
CN105574922B (zh) 一种鲁棒的三维模型高质量纹理映射方法
CN106091983B (zh) 包含扫描方向信息的线结构光视觉测量系统完整标定方法
CN104240262B (zh) 一种用于摄影测量的相机外参数标定装置及标定方法
CN105654547B (zh) 三维重建方法
CN110211043A (zh) 一种用于全景图像拼接的基于网格优化的配准方法
CN107170037A (zh) 一种基于多摄像机的实时三维点云重建方法和系统
CN105513063B (zh) Veronese映射和棋盘格标定拋物折反射摄像机的方法
CN104657982A (zh) 一种投影仪标定方法
CN109801365A (zh) 一种三维建模数据采集装置及其三维建模方法
CN107977996A (zh) 基于靶标标定定位模型的空间目标定位方法
CN104482924B (zh) 旋成体目标位姿视觉测量方法
TW201243764A (en) Orthoimage color correction method using multiple aerial images
CN104200476B (zh) 利用双平面镜装置中的圆周运动求解摄像机内参数的方法
JP2012185772A (ja) 非固定ズームカメラを用いた自由視点映像の合成画質高精度化方法およびプログラム
TWM423406U (en) Object-depth calculation device
CN106971408A (zh) 一种基于时空转换思想的摄像机标定方法
CN206441237U (zh) 一种立体摄像头模组的标定装置
CN108010125A (zh) 基于线结构光和图像信息的真实尺度三维重建系统及方法
CN107527366A (zh) 一种面向深度相机的相机跟踪方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171027

CF01 Termination of patent right due to non-payment of annual fee