1.一種全景圖像映射方法,將全景圖像或視頻A對應(yīng)的球面映射為二維平面圖像或視頻B,首先根據(jù)球面的緯度,將球面分成三個區(qū)域:分別記為區(qū)域I,區(qū)域II和區(qū)域III;將所述三個區(qū)域分別映射為方形平面I′、矩形平面II′和方形平面III′;再將平面I′、II′、III′拼成一個平面;所得的平面即為二維平面圖像或視頻B;
所述區(qū)域I對應(yīng)球面上緯度為-90°~Z1的區(qū)域,區(qū)域II對應(yīng)球面上緯度為Z1~Z2的區(qū)域,區(qū)域III對應(yīng)球面上緯度為Z2~90°的區(qū)域;所述參數(shù)Z1、取值可自行設(shè)置并滿足條件:-90°≤Z1≤Z2和Z1≤Z2≤90°;
所述方形平面I′分辨率為WI×WI,矩形平面II′分辨率為WII×HII,方形平面III′分辨率為WIII×WIII;所述參數(shù)WI、WII、HII、WIII取值可自行設(shè)置;
所述映射方法包括如下步驟:
1)針對方形平面I′中的每個像素點,根據(jù)平面I′中像素點的坐標(X,Y),計算得到該像素點對應(yīng)的球面坐標Coordinate,包括經(jīng)度和緯度;然后根據(jù)球面坐標Coordinate取球面上對應(yīng)位置的像素值或?qū)Ω浇袼赝ㄟ^插值計算得到相應(yīng)像素值,作為平面I′中像素點(X,Y)的像素值;所述根據(jù)像素點在平面I′中的坐標(X,Y)計算其對應(yīng)的球面坐標Coordinate,包括如下步驟:
1.1)計算得到該像素點到方形平面I′中心的垂直距離和水平距離,取其中較大者記為m;
1.2)將方形平面I′看作是由多個同心方形組成,計算得到該像素點到其所在的同心方形上第零個點的距離,記為n;所述第零個點的位置可任意選??;按照順時針或逆時針方式計算得到該像素點到其所在的同心方形上第零個點的距離;
1.3)根據(jù)n和m計算得到方形平面I′中坐標為(X,Y)的點所對應(yīng)的緯度latitude和經(jīng)度longitude,即對應(yīng)的球面坐標Coordinate;
2)針對矩形平面II′中的每個像素點,根據(jù)平面II′中像素點的坐標(X,Y),計算得到該像素點對應(yīng)的球面坐標Coordinate,包括經(jīng)度和緯度;然后根據(jù)球面坐標Coordinate取球面上對應(yīng)位置的像素值或?qū)Ω浇袼赝ㄟ^插值計算得到相應(yīng)像素值,作為平面II′中像素點(X,Y)的像素值;
3)針對方形平面III′中的每個像素點,根據(jù)平面III′中像素點的坐標(X,Y),計算得到該像素點對應(yīng)的球面坐標Coordinate,包括經(jīng)度和緯度;然后根據(jù)球面坐標Coordinate取球面上對應(yīng)位置的像素值或附近像素通過插值計算得到相應(yīng)像素值,作為平面I′中像素點(X,Y)的像素值;所述根據(jù)像素點在平面III′中的坐標(X,Y)計算其對應(yīng)的球面坐標Coordinate的方法為:
3.1)計算得到該像素點到方形平面III′中心的垂直距離和水平距離,取其中較大的一個記為m;
3.2)將方形平面III′看作是由多個同心方形組成,計算得到該像素點到其所在的同心方形上第零個點的距離,記為n;其中第零個點的位置可任意選??;
3.3)根據(jù)n和m計算得到方形平面III′中坐標為(X,Y)的點所對應(yīng)的緯度latitude和經(jīng)度longitude;
4)根據(jù)參數(shù)WI、WII、HII、WIII取值,將平面I′、II′、III′拼接成一個平面。
2.如權(quán)利要求1所述映射方法,其特征是,步驟1.1)通過式1計算得到:
m=max(abs(WI÷2-X-0.5),abs(WI÷2-Y-0.5)) (式1)
其中,m為像素點到方形平面I′中心的垂直距離和水平距離中較大者;
步驟1.2)通過式2計算:
其中,m2=(WI-1)÷2-m;n為像素點到其所在的同心方形上第零個點的距離;
步驟1.3)通過式3和式4計算:
latitude=(Z1+90°)×m÷(WI÷2)-90° (式3)
longitude=n÷(8×m)×360°-180° (式4)
其中,latitude為方形平面I′中坐標為(X,Y)的點所對應(yīng)的緯度;longitude為相應(yīng)的經(jīng)度。
3.如權(quán)利要求1所述映射方法,其特征是,步驟2)根據(jù)像素點在平面II′中的坐標(X,Y)計算其對應(yīng)的球面坐標Coordinate的公式為:
latitude=Z2-(Z2-Z1)×(Y+0.5)÷HII (式5)
longitude=360°×(X+0.5)÷WII-180°+offset (式6)
其中,offset為矩形平面II′中心對應(yīng)的經(jīng)度,可自行設(shè)置。
4.如權(quán)利要求1所述映射方法,其特征是,步驟3.1)通過式7計算得到:
m=max(abs(WIII÷2-X-0.5),abs(WIII÷2-Y-0.5)) (式7)
其中,m為像素點到方形平面III′中心的垂直距離和水平距離中較大者;
步驟3.2)通過式8計算:
其中,m2=(WIII-1)÷2-m;n為像素點到其所在的同心方形上第零個點的距離;
步驟3.3)通過式9和式10計算:
latitude=90°-(90°-Z2)×m÷(WIII÷2) (式9)
longitude=n÷(8×m)×360°-180° (式10)
其中,latitude為方形平面III′中坐標為(X,Y)的點所對應(yīng)的緯度;longitude為相應(yīng)的經(jīng)度。
5.如權(quán)利要求1所述映射方法,其特征是,步驟4)根據(jù)參數(shù)WI、WII、HII、WIII取值,將平面I′、II′、III′拼接成一個平面的方法,具體地:當WI=0.25×WII=HII=WIII時,首先將矩形平面II′分成四個分辨率為HII×HII的小平面,分別記作:II′1、II′2、II′3、II′4;然后按照平面II′1、平面II′2、平面II′3、平面III′、平面II′4、平面I′的順序,將上述六個平面進行拼接,拼接過程中將平面III′順時針旋轉(zhuǎn)90°,將平面II′4逆時針旋轉(zhuǎn)90°,即得到分辨率為6WI×WI的一個平面。
6.一種全景圖像反映射方法,將二維平面圖像或視頻B映射回球面,得到全景圖像或視頻A;所述二維平面圖像或視頻B由三個平面拼接而成,所述三個平面分別記為平面I′、平面II′、平面III′;所述平面I′是分辨率為WI×WI的方形平面,平面II′是分辨率為WII×HII的矩形平面,平面III′是分辨率為WIII×WIII的方形平面;所述反映射方法將平面I′映射回球面上緯度為-90°~Z1的區(qū)域I,將平面II′映射回球面上緯度為Z1~Z2的區(qū)域II,將平面III′映射回球面上緯度為Z2~90°的區(qū)域III;所述參數(shù)Z1、Z2、WI、WII、HII、WIII取值包括但不限于從碼流中獲??;所述反映射方法包括以下步驟:
1)將二維平面圖像B拆分成平面I′、平面II′、平面III′;
2)對于球面上緯度為-90°~Z1的區(qū)域中的每一個像素點,根據(jù)其球面坐標Coordinate(經(jīng)度和緯度)計算該像素點對應(yīng)到平面I′中的坐標(X,Y),取平面I′中(X,Y)處的像素值或?qū)Ω浇袼剡M行插值得到的像素值,作為球面上坐標Coordinate處像素點的值;
3)對于球面上緯度為Z1~Z2的區(qū)域中的每一個像素點,根據(jù)其球面坐標Coordinate(經(jīng)度和緯度)計算其對應(yīng)到平面II′中的坐標(X,Y),取平面II′中(X,Y)處的像素值或?qū)Ω浇袼剡M行插值得到的像素值,作為球面上坐標Coordinate處像素點的值;
4)對于球面上緯度為Z2~90°的區(qū)域中的每一個像素點,根據(jù)其球面坐標Coordinate(經(jīng)度和緯度)計算其對應(yīng)到平面III′中的坐標(X,Y),取平面III′中(X,Y)處的像素值或?qū)Ω浇袼剡M行插值得到的像素值,作為球面上坐標Coordinate處像素點的值;
由此實現(xiàn)將二維平面圖像或視頻B映射回球面,得到全景圖像或視頻A。
7.如權(quán)利要求6所述反映射方法,其特征是,步驟1)中,當參數(shù)WI=0.25×WII=HII=WIII,且平面I′、平面II′、平面III′拼接成的二維平面圖像B分辨率為6WI×WI時,將二維平面圖像B分成6個WI×WI的平面,分別記作平面1、平面2、平面3、平面4、平面5、平面6,將平面4逆時針旋轉(zhuǎn)90°得到平面III′;平面6即為平面I′;將剩下的四個平面按照平面1、平面2、平面3、平面5的順序拼接為分辨率4WI×WI的平面,其中平面5順時針旋轉(zhuǎn)90°,即得到平面II′。
8.如權(quán)利要求6所述反映射方法,其特征是,步驟2)對于球面上緯度為-90°~Z1的區(qū)域中的每一個像素點,根據(jù)該像素點球面坐標Coordinate計算其對應(yīng)到平面I′中的坐標(X,Y)的步驟如下:
2.1)根據(jù)緯度latitude計算球面上的點在平面I′中的對應(yīng)點距離平面I′中心的距離m;
2.2)根據(jù)經(jīng)度longitude計算球面上的點在平面I′中的對應(yīng)點距離該對應(yīng)點所在的同心方形中第零個點的距離n;
2.3)根據(jù)m和n的值計算出球面上的點在平面I′中的對應(yīng)點的坐標(X,Y)。
9.如權(quán)利要求8所述反映射方法,其特征是,步驟2.1)通過式11根據(jù)緯度latitude計算球面上的點在平面I′中的對應(yīng)點距離平面I′中心的距離m:
m=(WI÷2)×(latitude+90°)÷(Z1+90°) (式11)
步驟2.2)通過式12根據(jù)經(jīng)度longitude計算球面上的點在平面I′中的對應(yīng)點距離該對應(yīng)點所在的同心方形中第零個點的距離n:
n=8×m×(longitude+180°)÷360° (式12)
步驟2.3)通過式13根據(jù)m和n的值計算出球面上的點在平面I′中的對應(yīng)點的坐標(X,Y):
其中,m2=(WI-1)÷2-m。
10.如權(quán)利要求6所述反映射方法,其特征是,步驟3)對于球面上緯度為Z1~Z2的區(qū)域中的每一個像素點,根據(jù)該像素點球面坐標Coordinate,通過式14和式15計算得到其對應(yīng)到平面II′中的坐標(X,Y):
Y=(Z2-latitude)×HII÷(Z2-Z1)-0.5 (式14)
X=(longitude+180°-offset)÷360°×WII-0.5 (式15)
其中,offset為矩形平面II′中心對應(yīng)的經(jīng)度。
11.如權(quán)利要求6所述反映射方法,其特征是,步驟4)對于球面上緯度為Z2~90°的區(qū)域中的每一個像素點,根據(jù)其球面坐標Coordinate(經(jīng)度和緯度)計算其對應(yīng)到平面III′中的坐標(X,Y),取平面III′中(X,Y)處的像素值或?qū)Ω浇袼剡M行插值得到的像素值,作為球面上坐標Coordinate處像素點的值;包括如下步驟:
4.1)根據(jù)緯度latitude計算球面上的點在平面III′中的對應(yīng)點距離平面III′中心的距離m;
4.2)根據(jù)經(jīng)度longitude計算球面上的點在平面III′中的對應(yīng)點距離該對應(yīng)點所在的同心方形中第零個點的距離n;
4.3)根據(jù)m和n的值計算出球面上的點在平面III′中的對應(yīng)點的坐標(X,Y)。
12.如權(quán)利要求11所述反映射方法,其特征是,步驟4.1)通過式16根據(jù)緯度latitude計算球面上的點在平面III′中的對應(yīng)點距離平面III′中心的距離m:
m=(WIII÷2)×(90°-latitude)÷(90°-Z2) (式16)
步驟4.2)通過式17根據(jù)經(jīng)度longitude計算球面上的點在平面III′中的對應(yīng)點距離該對應(yīng)點所在的同心方形中第零個點的距離n:
n=8×m×(longitude+180°)÷360° (式17)
步驟4.3)通過式18根據(jù)m和n的值計算出球面上的點在平面III′中的對應(yīng)點的坐標(X,Y):
m2=(WIII-1)÷2-m
其中,m2=(WIII-1)÷2-m。