專利名稱:一種信息點(diǎn)擺放的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種圖像處理方法,特別是一種圖像中信息點(diǎn)處理的方法。
背景技術(shù):
交互式信息平臺(tái)以其宜人性佳已經(jīng)被廣泛采用,但是現(xiàn)有技術(shù)普遍采用平 面FLASH的方式將信息點(diǎn)擺放進(jìn)圖、動(dòng)畫或者視頻中,缺乏一定的靈活性。 因?yàn)檫@樣的擺放需要在制作的時(shí)候就將信息點(diǎn)擺放進(jìn)去。這樣擺放進(jìn)的信息點(diǎn) 的位置就無(wú)法更改了。信息點(diǎn)內(nèi)所包含的信息也在制作的同時(shí)就已做好,因此 無(wú)論是信息點(diǎn)還是信息點(diǎn)內(nèi)所包含的內(nèi)容均無(wú)法在圖、動(dòng)畫或者視頻制作完成 后更改,既不利于更改升級(jí),也不利于擴(kuò)展。同時(shí)由于受到這樣的限制,類似 的場(chǎng)景內(nèi)熱點(diǎn)制作就需要重新制作圖、動(dòng)畫或者^(guò)L頻,費(fèi)時(shí)費(fèi)力。
現(xiàn)有技術(shù)中熱點(diǎn)普遍采用二維場(chǎng)景擺放,由于熱點(diǎn)是死的,因此對(duì)于空間 三維的場(chǎng)景,熱點(diǎn)就無(wú)法做到跟著場(chǎng)景的轉(zhuǎn)換而轉(zhuǎn)換。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種信息點(diǎn)擺放的方法,使得信息點(diǎn)可 以隨著攝像機(jī)的變化而對(duì)應(yīng)地改變自身的位置,使得場(chǎng)景變化的時(shí)候信息點(diǎn)的 位置依舊可以顯示在信息點(diǎn)所應(yīng)該顯示的位置上。
為了達(dá)到上述目的,本發(fā)明提供一種信息點(diǎn)擺;改的方法,其包括 在場(chǎng)景空間下確定第一相機(jī)的位置和焦距,并確定第一相機(jī)所在觀察位為 第一觀察位;
以所述第一觀察位觀察所述場(chǎng)景空間,確定場(chǎng)景中信息點(diǎn)的擺放位置; 根據(jù)第 一相機(jī)確定的場(chǎng)景空間的第 一觀察位確定的場(chǎng)景信息點(diǎn)的位置并生 成配置文件,所述配置文件中包括所述信息點(diǎn)在第一觀察位下的位置信息; 確定第二相^L的位置和焦距,同時(shí)確定第二相^/L所在的乂見察位為第二觀察位J 和
根據(jù)所述配置文件中信息點(diǎn)在第一觀察位下的位置計(jì)算得出信息點(diǎn)在第二 觀察位中應(yīng)該所處的位置,并在第二觀察位中對(duì)應(yīng)標(biāo)記。
進(jìn)一步地,所述配置文件還包括所述信息點(diǎn)的樣式、信息點(diǎn)包括的文字、 視頻和圖片。
進(jìn)一步地,所述配置文件中包括的所有項(xiàng)目都可以任意編輯。
進(jìn)一步地,所述根據(jù)所述配置文件中信息點(diǎn)在第一觀察位下的位置計(jì)算得
出信息點(diǎn)在第二觀察位中應(yīng)該所處的位置的方法包括 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);
專爭(zhēng)才奐后的x坐標(biāo)=tempX + targetlmage.width/2;
轉(zhuǎn)才灸后的y坐標(biāo)=tempY + targetImage.height/2;
轉(zhuǎn)換后的z坐標(biāo)=zOffset;
其中,Math.PI:代表一個(gè)圓的周長(zhǎng)與其直徑的比值的數(shù)學(xué)常數(shù),其近似值 為3.141592653589793;
Math.sin():以弧度為單位計(jì)算并返回指定角度的正弦值;
Math,cos():以弧度為單位計(jì)算并返回指定角度的余弦值;
startPoint:要凈皮轉(zhuǎn)4灸的點(diǎn);
startlmage:轉(zhuǎn)換前圖片信息類;
targetlmage:轉(zhuǎn)才灸后圖片4言息類;
width:當(dāng)前圖的寬;
height:當(dāng)前圖的高;angle:相機(jī)水平旋轉(zhuǎn)過(guò)的角度;
sinB:相機(jī)角度與水平線的夾角的正弦值;
cosB:相機(jī)角度與水平線的夾角的余弦值。
本發(fā)明一種信息點(diǎn)擺放的方法,通過(guò)在一個(gè)攝像機(jī)的觀察位上確定信息點(diǎn) 的位置,從而可以計(jì)算出任何攝像機(jī)任何參數(shù)下信息點(diǎn)相應(yīng)所處的位置。利用 配置文件可以很方便地更改信息點(diǎn)的位置,對(duì)于信息點(diǎn)內(nèi)的內(nèi)容通過(guò)配置文件 可以隨便更改,提高了效率,擴(kuò)大了使用范圍。
圖1是本發(fā)明一個(gè)具體的實(shí)施例中一種信息點(diǎn)擺放方法的流程圖。
具體實(shí)施例方式
請(qǐng)參看圖1所示,圖1為本發(fā)明一個(gè)具體實(shí)施例中一種信息點(diǎn)擺放的方法 流程圖,其包括
步驟101,在場(chǎng)景空間下確定第一相機(jī)的位置和焦距,并確定第一相機(jī)所 在觀察位為第一觀察位。
步驟102,以所述第一觀察位觀察所述場(chǎng)景空間,確定場(chǎng)景中信息點(diǎn)的擺 放位置。
步驟103,根據(jù)第一相機(jī)確定的場(chǎng)景空間的第一觀察位確定的場(chǎng)景信息點(diǎn) 的位置并生成配置文件,所述配置文件中包括所述信息點(diǎn)在第一觀察位下的位 置信息。所述配置文件還包括所述信息點(diǎn)的樣式、信息點(diǎn)包括的文字、視頻和 圖片。所述配置文件中的所有內(nèi)容都是可以隨意修改的。
步驟104,確定第二相機(jī)的位置和焦距,同時(shí)確定第二相機(jī)所在的觀察位 為第二觀察位。
步驟105,根據(jù)所述配置文件中信息點(diǎn)在第一觀察位下的位置計(jì)算得出信 息點(diǎn)在第二觀察位中應(yīng)該所處的位置,并在第二觀察位中對(duì)應(yīng)標(biāo)記。 具體的計(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 / 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);
壽爭(zhēng)才灸后的x坐才示=tempX + targetlmage.width/2;
4爭(zhēng)才奐后的y坐才示=tempY + targetlmage.height/2;
轉(zhuǎn)換后的z坐標(biāo)=zOffset;
其中
Math.PI:代表 一 個(gè)圓的周長(zhǎng)與其直徑的比值的數(shù)學(xué)常數(shù),其近似值為 3.141592653589793;
Math.sin():以弧度為單位計(jì)算并返回指定角度的正弦值;
Math.cos():以弧度為單位計(jì)算并返回指定角度的余弦值;
startPoint:要^皮4爭(zhēng)4奐的點(diǎn),它有三個(gè)屬性xyz;
startlmage:轉(zhuǎn)換前圖片信息類;
targetlmage:轉(zhuǎn)換后圖片信息類;
width:當(dāng)前圖的寬;
height:當(dāng)前圖的高;
angle:相機(jī)水平旋轉(zhuǎn)過(guò)的角度;
sinB:相機(jī)角度與水平線的夾角的正弦值;
cosB:相機(jī)角度與水平線的夾角的余弦值。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內(nèi),所作的任何修改、等同替換等,均應(yīng)包含在本發(fā)明的保 護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種信息點(diǎn)擺放的方法,其包括在場(chǎng)景空間下確定第一相機(jī)的位置和焦距,并確定第一相機(jī)所在觀察位為第一觀察位;以所述第一觀察位觀察所述場(chǎng)景空間,確定場(chǎng)景中信息點(diǎn)的擺放位置;根據(jù)第一相機(jī)確定的場(chǎng)景空間的第一觀察位確定的場(chǎng)景信息點(diǎn)的位置并生成配置文件,所述配置文件中包括所述信息點(diǎn)在第一觀察位下的位置信息;確定第二相機(jī)的位置和焦距,同時(shí)確定第二相機(jī)所在的觀察位為第二觀察位;和根據(jù)所述配置文件中信息點(diǎn)在第一觀察位下的位置計(jì)算得出信息點(diǎn)在第二觀察位中應(yīng)該所處的位置,并在第二觀察位中對(duì)應(yīng)標(biāo)記。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述配置文件還包括所述信 息點(diǎn)的樣式、信息點(diǎn)包括的文字、視頻和圖片。
3. 根據(jù)權(quán)利要求1或2所述的方法,所述配置文件中包括的所有項(xiàng)目都可 以任意編輯。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述配置文件中信 息點(diǎn)在第一觀察位下的位置計(jì)算得出信息點(diǎn)在第二觀察位中應(yīng)該所處的位置的 方法包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)國(guó)yOffset * Math.sin(A) / targetlmage.sinBtempY = xOffset * Math.sin(A) * targetlmage.sinB + yOffset * Math.cos(A);壽爭(zhēng)4灸后的x坐才示=tempX + targetlmage.width/2;專爭(zhēng)#灸后6勺y坐才示=tempY + targetlmage.height/2;轉(zhuǎn)才奐后的z坐標(biāo)=zOffset;其中,Math.PI:代表一個(gè)圓的周長(zhǎng)與其直徑的比值的數(shù)學(xué)常數(shù),其近似值 為3.141592653589793;Math.sin():以弧度為單位計(jì)算并返回指定角度的正弦值;Math.cos():以弧度為單位計(jì)算并返回指定角度的余弦值;startPoint:要凈皮4爭(zhēng)4奐的點(diǎn);startlmage:轉(zhuǎn)換前圖片信息類;targetlmage:轉(zhuǎn)換后圖片信息類;width:當(dāng)前圖的寬;height:當(dāng)前圖的高;angle:相才幾水平旋轉(zhuǎn)過(guò)的角度;sinB:相機(jī)角度與水平線的夾角的正弦值;cosB:相機(jī)角度與水平線的夾角的余弦值。
全文摘要
本發(fā)明提供一種信息點(diǎn)擺放的方法,其包括在場(chǎng)景空間下確定第一相機(jī)的位置和焦距,并確定第一相機(jī)所在觀察位為第一觀察位;以所述第一觀察位觀察所述場(chǎng)景空間,確定場(chǎng)景中信息點(diǎn)的擺放位置;根據(jù)第一相機(jī)確定的場(chǎng)景空間的第一觀察位確定的場(chǎng)景信息點(diǎn)的位置并生成配置文件,所述配置文件中包括所述信息點(diǎn)在第一觀察位下的位置信息;確定第二相機(jī)的位置和焦距,同時(shí)確定第二相機(jī)所在的觀察位為第二觀察位;和根據(jù)所述配置文件中信息點(diǎn)在第一觀察位下的位置計(jì)算得出信息點(diǎn)在第二觀察位中應(yīng)該所處的位置,并在第二觀察位中對(duì)應(yīng)標(biāo)記。
文檔編號(hào)G06T7/00GK101635054SQ200910091760
公開日2010年1月27日 申請(qǐng)日期2009年8月27日 優(yōu)先權(quán)日2009年8月27日
發(fā)明者恬 宗, 亮 熊, 飆 郭 申請(qǐng)人:北京水晶石數(shù)字科技有限公司