一种信息点摆放的方法

文档序号:6575452阅读:281来源:国知局
专利名称:一种信息点摆放的方法
技术领域
本发明涉及一种图像处理方法,特别是一种图像中信息点处理的方法。
背景技术
交互式信息平台以其宜人性佳已经被广泛采用,但是现有技术普遍采用平 面FLASH的方式将信息点摆放进图、动画或者视频中,缺乏一定的灵活性。 因为这样的摆放需要在制作的时候就将信息点摆放进去。这样摆放进的信息点 的位置就无法更改了。信息点内所包含的信息也在制作的同时就已做好,因此 无论是信息点还是信息点内所包含的内容均无法在图、动画或者视频制作完成 后更改,既不利于更改升级,也不利于扩展。同时由于受到这样的限制,类似 的场景内热点制作就需要重新制作图、动画或者^L频,费时费力。
现有技术中热点普遍采用二维场景摆放,由于热点是死的,因此对于空间 三维的场景,热点就无法做到跟着场景的转换而转换。

发明内容
有鉴于此,本发明的目的在于提供一种信息点摆放的方法,使得信息点可 以随着摄像机的变化而对应地改变自身的位置,使得场景变化的时候信息点的 位置依旧可以显示在信息点所应该显示的位置上。
为了达到上述目的,本发明提供一种信息点摆;改的方法,其包括 在场景空间下确定第一相机的位置和焦距,并确定第一相机所在观察位为 第一观察位;
以所述第一观察位观察所述场景空间,确定场景中信息点的摆放位置; 根据第 一相机确定的场景空间的第 一观察位确定的场景信息点的位置并生 成配置文件,所述配置文件中包括所述信息点在第一观察位下的位置信息; 确定第二相^L的位置和焦距,同时确定第二相^/L所在的乂见察位为第二观察位J 和
根据所述配置文件中信息点在第一观察位下的位置计算得出信息点在第二 观察位中应该所处的位置,并在第二观察位中对应标记。
进一步地,所述配置文件还包括所述信息点的样式、信息点包括的文字、 视频和图片。
进一步地,所述配置文件中包括的所有项目都可以任意编辑。
进一步地,所述根据所述配置文件中信息点在第一观察位下的位置计算得
出信息点在第二观察位中应该所处的位置的方法包括 A = targetlmage.angle - startlmage.angle;
xOffset=(startPoint.x-startImage.width/2)*(targetImage.width/startImage.width
)
yOffset=(startPoint.y-startImage.height/2)*(targetImage.sinB/startImage.sinB)* (targetlmage. width / startlmage.width)
zOffset = startPoint,z * targetlmage.cosB / startlmage.cosB,targetlmage.width / startlmage.width);
tempX = xOffset * Math.cos(A) - yOffset * Math.sin(A) / targetlmage.sinB
tempY = xOffset * Math.sin(A) * targetlmage.sinB + yOffset * Math.cos(A);
專争才奐后的x坐标=tempX + targetlmage.width/2;
转才灸后的y坐标=tempY + targetImage.height/2;
转换后的z坐标=zOffset;
其中,Math.PI:代表一个圆的周长与其直径的比值的数学常数,其近似值 为3.141592653589793;
Math.sin():以弧度为单位计算并返回指定角度的正弦值;
Math,cos():以弧度为单位计算并返回指定角度的余弦值;
startPoint:要净皮转4灸的点;
startlmage:转换前图片信息类;
targetlmage:转才灸后图片4言息类;
width:当前图的宽;
height:当前图的高;angle:相机水平旋转过的角度;
sinB:相机角度与水平线的夹角的正弦值;
cosB:相机角度与水平线的夹角的余弦值。
本发明一种信息点摆放的方法,通过在一个摄像机的观察位上确定信息点 的位置,从而可以计算出任何摄像机任何参数下信息点相应所处的位置。利用 配置文件可以很方便地更改信息点的位置,对于信息点内的内容通过配置文件 可以随便更改,提高了效率,扩大了使用范围。


图1是本发明一个具体的实施例中一种信息点摆放方法的流程图。
具体实施例方式
请参看图1所示,图1为本发明一个具体实施例中一种信息点摆放的方法 流程图,其包括
步骤101,在场景空间下确定第一相机的位置和焦距,并确定第一相机所 在观察位为第一观察位。
步骤102,以所述第一观察位观察所述场景空间,确定场景中信息点的摆 放位置。
步骤103,根据第一相机确定的场景空间的第一观察位确定的场景信息点 的位置并生成配置文件,所述配置文件中包括所述信息点在第一观察位下的位 置信息。所述配置文件还包括所述信息点的样式、信息点包括的文字、视频和 图片。所述配置文件中的所有内容都是可以随意修改的。
步骤104,确定第二相机的位置和焦距,同时确定第二相机所在的观察位 为第二观察位。
步骤105,根据所述配置文件中信息点在第一观察位下的位置计算得出信 息点在第二观察位中应该所处的位置,并在第二观察位中对应标记。 具体的计算方法包括 A = targetlmage.angle - startlmage.angle;
xOffset=(startPoint.x-startImage.width/2)*(targetImage.width/startImage.width
)
yOffset=(startPoint.y-startImage.height/2)*(targetImage.sinB/startImage.sinB)*(targetlmage.width / startlmage.width)
zOffset = startPoint.z * targetlmage.cosB / startImage.cosB*(targetImage.width / startlmage.width);
tempX = xOffset * Math.cos(A) - yOffset * Math.sin(A) / targetlmage.sinB
tempY = xOffset * Math.sin(A) * targetlmage.sinB + yOffset * Math.cos(A);
寿争才灸后的x坐才示=tempX + targetlmage.width/2;
4争才奐后的y坐才示=tempY + targetlmage.height/2;
转换后的z坐标=zOffset;
其中
Math.PI:代表 一 个圆的周长与其直径的比值的数学常数,其近似值为 3.141592653589793;
Math.sin():以弧度为单位计算并返回指定角度的正弦值;
Math.cos():以弧度为单位计算并返回指定角度的余弦值;
startPoint:要^皮4争4奐的点,它有三个属性xyz;
startlmage:转换前图片信息类;
targetlmage:转换后图片信息类;
width:当前图的宽;
height:当前图的高;
angle:相机水平旋转过的角度;
sinB:相机角度与水平线的夹角的正弦值;
cosB:相机角度与水平线的夹角的余弦值。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保 护范围之内。
权利要求
1.一种信息点摆放的方法,其包括在场景空间下确定第一相机的位置和焦距,并确定第一相机所在观察位为第一观察位;以所述第一观察位观察所述场景空间,确定场景中信息点的摆放位置;根据第一相机确定的场景空间的第一观察位确定的场景信息点的位置并生成配置文件,所述配置文件中包括所述信息点在第一观察位下的位置信息;确定第二相机的位置和焦距,同时确定第二相机所在的观察位为第二观察位;和根据所述配置文件中信息点在第一观察位下的位置计算得出信息点在第二观察位中应该所处的位置,并在第二观察位中对应标记。
2. 根据权利要求1所述的方法,其特征在于,所述配置文件还包括所述信 息点的样式、信息点包括的文字、视频和图片。
3. 根据权利要求1或2所述的方法,所述配置文件中包括的所有项目都可 以任意编辑。
4. 根据权利要求1所述的方法,其特征在于,所述根据所述配置文件中信 息点在第一观察位下的位置计算得出信息点在第二观察位中应该所处的位置的 方法包4舌A = targetlmage.angle - startlmage.angle;xOffset=(startPoint.x-startImage.width/2)*(targetImage.width/startImage.width)yOffset=(startPoint.y-startImage.height/2)*(targetImage.sinB/startImage.sinB)* (targetlmage.width / startlmage.wi她)zOffset = startPoint.z * targetlmage.cosB / startImage.cosB*(targetImage.width / startlmage.width);tempX = xOffset * Math.cos(A)國yOffset * Math.sin(A) / targetlmage.sinBtempY = xOffset * Math.sin(A) * targetlmage.sinB + yOffset * Math.cos(A);寿争4灸后的x坐才示=tempX + targetlmage.width/2;專争#灸后6勺y坐才示=tempY + targetlmage.height/2;转才奐后的z坐标=zOffset;其中,Math.PI:代表一个圆的周长与其直径的比值的数学常数,其近似值 为3.141592653589793;Math.sin():以弧度为单位计算并返回指定角度的正弦值;Math.cos():以弧度为单位计算并返回指定角度的余弦值;startPoint:要净皮4争4奐的点;startlmage:转换前图片信息类;targetlmage:转换后图片信息类;width:当前图的宽;height:当前图的高;angle:相才几水平旋转过的角度;sinB:相机角度与水平线的夹角的正弦值;cosB:相机角度与水平线的夹角的余弦值。
全文摘要
本发明提供一种信息点摆放的方法,其包括在场景空间下确定第一相机的位置和焦距,并确定第一相机所在观察位为第一观察位;以所述第一观察位观察所述场景空间,确定场景中信息点的摆放位置;根据第一相机确定的场景空间的第一观察位确定的场景信息点的位置并生成配置文件,所述配置文件中包括所述信息点在第一观察位下的位置信息;确定第二相机的位置和焦距,同时确定第二相机所在的观察位为第二观察位;和根据所述配置文件中信息点在第一观察位下的位置计算得出信息点在第二观察位中应该所处的位置,并在第二观察位中对应标记。
文档编号G06T7/00GK101635054SQ200910091760
公开日2010年1月27日 申请日期2009年8月27日 优先权日2009年8月27日
发明者恬 宗, 亮 熊, 飙 郭 申请人:北京水晶石数字科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1