一種魚眼圖像校正和漫游顯示的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及圖像處理領(lǐng)域,特別是涉及一種魚眼圖像校正和漫游顯示的方法及裝 置。
【背景技術(shù)】
[0002] 魚眼鏡頭是一種極端的廣角鏡頭,它的視角力求達(dá)到或超出人眼所能看到的范 圍,視角一般可達(dá)到220度或230度??捎糜谥谱骰诂F(xiàn)實場景的全景圖象,廣泛用于娛樂、 房地產(chǎn)、博物館、學(xué)校等機(jī)構(gòu)的宣傳及展示項目。
[0003] 魚眼圖像即為魚眼鏡頭拍攝的圖像,通常具有嚴(yán)重的形變,如果要利用魚眼圖像, 需要魚眼圖像進(jìn)行圖像校正,其消除其中的形變。
[0004] 現(xiàn)有技術(shù)中,對魚眼圖像進(jìn)行校正時,無論魚眼圖像是通過什么拍攝角度拍攝的, 都采用統(tǒng)一的校正方式,并沒有考慮不同拍攝角度對校正過程的影響,因此校正后得到圖 像并不能有效的消除形變,影響校正后圖像的準(zhǔn)確性。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實施例的目的在于提供一種魚眼圖像校正和漫游顯示的方法及裝置,可以 在校正過程中有效的消除魚眼圖像中的形變,提高校正后圖像的準(zhǔn)確性。
[0006] 為了達(dá)到上述目的,本發(fā)明實施例公開了一種魚眼圖像的校正方法,包括步驟:
[0007] 確定待校正的魚眼圖像的拍攝角度;
[0008] 根據(jù)確定的所述拍攝角度,確定校正后的球面展開圖像的高度和寬度;
[0009] 根據(jù)確定的校正后的球面展開圖像的高度、寬度及所述拍攝角度,確定所述球面 展開圖像中每個像素點的坐標(biāo)與所述魚眼圖像中每個像素點坐標(biāo)之間的關(guān)系;
[0010] 根據(jù)所述關(guān)系及魚眼圖像中相應(yīng)像素點的像素值,確定球面展開圖像中每個像素 點的像素值。
[0011] 可選的,所述確定校正后的球面展開圖像的高度和寬度包括:
[0012] 根據(jù)所述拍攝角度,確定該拍攝角度對應(yīng)的角度拍攝方式;
[0013] 根據(jù)設(shè)置的每種角度拍攝方式對應(yīng)的球面展開圖像的高度區(qū)間和寬度區(qū)間,確定 校正后的球面展開圖像的高度和寬度。
[0014] 可選的,所述每種角度拍攝方式對應(yīng)的球面展開圖像的高度區(qū)間和寬度區(qū)間包 括:
[0015] 當(dāng)角度拍攝方式為平視拍攝方式時,對應(yīng)的球面展開圖像的高度區(qū)間和寬度區(qū)間 均為[rs,3rs],其中,^為魚眼圖像中心到達(dá)邊緣圓的半徑中像素點數(shù)量;
[0016] 當(dāng)角度拍攝方式為俯視拍攝方式或仰視拍攝方式時,對應(yīng)的球面展開圖像的高度 區(qū)間為[0.5rs,1.5r s ],寬度區(qū)間為[3rs,5rs ],其中,rs為魚眼圖像中心到達(dá)邊緣圓的半徑中 像素點數(shù)量。
[0017] 可選的,所述根據(jù)確定的校正后的球面展開圖像的高度、寬度及所述拍攝角度,確 定所述球面展開圖像中每個像素點坐標(biāo)與所述魚眼圖像中每個像素點坐標(biāo)之間的關(guān)系,包 括:
[0018] 根據(jù)校正后的球面展開圖像的高度、寬度及所述拍攝角度,確定球面展開圖像中 每個像素點對應(yīng)在三維球面坐標(biāo)系中的坐標(biāo);并
[0019] 根據(jù)球面展開圖像中每個像素點對應(yīng)在三維球面坐標(biāo)系中的坐標(biāo),確定所述每個 像素點在三維球面坐標(biāo)系中的坐標(biāo)對應(yīng)在魚眼圖像中的坐標(biāo)。
[0020] 可選的,所述根據(jù)校正后的球面展開圖像的高度、寬度及所述拍攝角度,確定球面 展開圖像中每個像素點對應(yīng)在三維球面坐標(biāo)系中的坐標(biāo),包括:
[0021]
,確定球面展開圖像中每個像素點對應(yīng)在三維球 面坐標(biāo)系中的坐標(biāo),其中,(Xd,yd)為球面展開圖像中像素點的坐標(biāo),Wd和hd分別為球面展開 圖像的寬度和高度,rangex,rangey分別是不同角度拍攝方式下Θ和供的最大值,x Qffset, yofkt是不同角度拍攝方式下魚眼圖像在完整球面展開圖像中的偏移量。
[0022] 可選的,所述根據(jù)球面展開圖像中每個像素點對應(yīng)在三維球面坐標(biāo)系中的坐標(biāo), 確定所述每個像素點在三維球面坐標(biāo)系中的坐標(biāo)對應(yīng)在魚眼圖像中的坐標(biāo),包括:
[0023] 將所述三維球面坐標(biāo)系中每個像素點的坐標(biāo),轉(zhuǎn)換到笛卡爾坐標(biāo)系中;
[0024] 根據(jù)所述每個像素點在所述笛卡爾坐標(biāo)系中的坐標(biāo)、等距離投影模型及確定的拍 攝角度,確定所述每個像素點在笛卡爾坐標(biāo)系中的坐標(biāo)投影到二維平面坐標(biāo)系下的坐標(biāo);
[0025] 對投影到二維平面坐標(biāo)系下的坐標(biāo)進(jìn)行去歸一化處理,確定去歸一化后二維平面 坐標(biāo)系下的對應(yīng)坐標(biāo)與魚眼圖像中對應(yīng)坐標(biāo)的關(guān)系。
[0026] 可選的,所述根據(jù)所述每個像素點在所述笛卡爾坐標(biāo)系中的坐標(biāo)、等距離投影模 型及確定的拍攝角度,確定所述每個像素點在笛卡爾坐標(biāo)系中的坐標(biāo)投影到二維平面坐標(biāo) 系下的坐標(biāo)包括:
[0027] 當(dāng)所述拍攝角度對應(yīng)的角度拍攝方式為平視拍攝方式時,
[0028]
,確定所述每個像素點在所述 笛卡爾坐標(biāo)系中的坐標(biāo)投影到二維平面坐標(biāo)系下的坐標(biāo),其中,(x,y,z)是每個像素點在所 述笛卡爾坐標(biāo)系中的坐標(biāo),(x/,y/ )是笛卡爾坐標(biāo)系中的坐標(biāo)投影到二維平面坐標(biāo)系下的
[0029]當(dāng)所述拍攝角度對應(yīng)的角度拍攝方式為仰視拍攝方式或俯視拍攝方式時,
[0030]
,確定所述每個像素點在所述 笛卡爾坐標(biāo)系中的坐標(biāo)投影到二維平面坐標(biāo)系下的坐標(biāo),其中,(x,y,z)是每個像素點在所 述笛卡爾坐標(biāo)系中的坐標(biāo),(x/,y/ )是笛卡爾坐標(biāo)系中的坐標(biāo)投影到二維平面坐標(biāo)系下的
[0031] 可選的,所述對投影到二維平面坐標(biāo)系下的坐標(biāo)進(jìn)行去歸一化處理,確定去歸一 化后二維平面坐標(biāo)系下的對應(yīng)坐標(biāo)與魚眼圖像中對應(yīng)坐標(biāo)的關(guān)系包括:
[0032]
,確定去歸一化后二維平面坐標(biāo)系下的對應(yīng)坐標(biāo)與魚眼圖像 中對應(yīng)坐標(biāo)的關(guān)系,其中,(Xs,ys)為魚眼圖像中每個像素點的坐標(biāo),ws和hs分為魚眼圖像的 像素列數(shù)和行數(shù),^是魚眼圖像中心到達(dá)邊緣圓的半徑中像素點數(shù)量,(x/,y/ )是笛卡爾 坐標(biāo)系中的坐標(biāo)投影到二維平面坐標(biāo)系下的坐標(biāo)。
[0033] 可選的,所述確定球面展開圖像中每個像素點的像素值包括:
[0034]根據(jù)
[0035] Id(xd,yd) = (l-u)*(l-v)*Is(i,j) + (l_u)*v*Is(i,j+1 )+u*(l_v)*Is(i+l,j)+u*v* Is(i+l,j+l),確定球面展開圖像中每個像素點的像素值,其中,(i,j)為魚眼圖像中坐標(biāo)為 (m,n)的像素點的橫縱坐標(biāo)的整數(shù)部分,(u,v)為魚眼圖像中坐標(biāo)為(m,n)的像素點的橫縱 坐標(biāo)的小數(shù)部分,Is (xs,ys)為魚眼圖像中坐標(biāo)為(m,η)的像素點的像素值,Id (xd,yd)為與魚 眼圖像中像素點對應(yīng)的球面展開圖上像素點的像素值。
[0036]本發(fā)明實施例還公開了一種魚眼圖像校正方法的漫游顯示方法,包括步驟:
[0037]確定待顯示的漫游圖像的視角、漫游姿態(tài);
[0038] 根據(jù)所述視角、漫游姿態(tài),確定待顯示的漫游圖像中每個像素點在笛卡爾坐標(biāo)系 中的坐標(biāo);
[0039] 根據(jù)所述每個像素點在笛卡爾坐標(biāo)系中的坐標(biāo),確定待顯示的漫游圖像中每個像 素點對應(yīng)在球面展開圖像中的坐標(biāo);
[0040] 根據(jù)確定的球面展開圖像中每個像素點對應(yīng)的像素值及漫游圖像中每個像素點 的坐標(biāo),確定漫游圖像中每個像素點的像素值。
[0041] 可選的,所述確定待顯示的漫游圖像的視角、漫游姿態(tài)包括:
[0042]根據(jù)終端設(shè)備的外接設(shè)備或傳感器,確定漫游顯示圖像的視角和漫游姿態(tài)。
[0043]可選的,根據(jù)所述視角、漫游姿態(tài),確定待顯示的漫游圖像中每個像素點在笛卡爾 坐標(biāo)系中的坐標(biāo),包括:
[0044]
,確定待顯示的漫游圖像中每個像素點在 笛卡爾坐標(biāo)系中的坐標(biāo),其中,(Xm,ym)是待顯示的漫游圖像中每個像素點的坐標(biāo),( X,y,Z) 是待顯示的漫游圖像中每個像素點對應(yīng)在笛卡爾坐標(biāo)系中的坐標(biāo),(x/,y/ )是中間量坐 標(biāo),wjPhm分別為待顯示的漫游圖像的寬度和高度,R是根據(jù)漫游姿態(tài)確定的旋轉(zhuǎn)矩陣,f〇V 為漫游視角。
[0045] 可選的,所述根據(jù)所述每個像素點在笛卡爾坐標(biāo)系中的坐標(biāo),確定待顯示的漫游 圖像中每個像素點對應(yīng)的在球面展開圖像中的坐標(biāo),包括:
[0046]
將所述每個像素點在笛卡爾坐標(biāo)系中的坐 標(biāo)轉(zhuǎn)換到三維球面坐標(biāo)系中,(x,y,z)是待顯示的漫游圖像中每個像素點在笛卡爾坐標(biāo)系 中的坐標(biāo);
[0047]
確定待顯示的漫游圖像中每個像素點對應(yīng) 在球面展開圖像中的坐標(biāo),其中,(r,0,灼是待顯示的漫游圖像中每個像素點在三維球面坐 標(biāo)系中的坐標(biāo),其中^,(^,7<〇為每個像素點對應(yīng)在球面展開圖像中的坐標(biāo),《(1和11(1分別 為球面展開圖像的寬度和高度,rang ex,rangey分別為球面展開圖像對應(yīng)的魚眼圖像的角度 拍攝方式下的Θ和爐的最大值,Xoffset,yc>ffset是球面展開圖像對應(yīng)的魚眼圖像的角度拍攝方 式下,魚眼圖像在完整球面展開圖像中的偏移量。
[0048] 為了達(dá)到上述目的,本發(fā)明實施例還公開了一種魚眼圖像的校正裝置,包括:
[0049] 拍攝角度確定模塊,用于確定待校正的魚眼圖像的拍攝角度;
[0050] 圖像尺寸確定模塊,用于根據(jù)所述待校正的魚眼圖像的拍攝角度,確定校正后的 球面展開圖像的高度和寬度;
[0051] 坐標(biāo)關(guān)系確定模塊,用于根據(jù)確定的校正后的球面展開圖像的高度、寬度及所述 拍攝角度,確定所述球面展開圖像中每個像素點的坐標(biāo)與所述魚眼圖像中每個像素點坐標(biāo) 之間的關(guān)系;
[0052] 像素值確定模塊,用于根據(jù)所述關(guān)系及魚眼圖像中相應(yīng)像素點的像素值,確定球 面展開圖像中每個像素點的像素值。
[0053] 可選的,所述圖像尺寸確定模塊具體用于:
[0054]根據(jù)所述拍攝角度,確定該拍攝角度對應(yīng)的角度拍攝方式;
[0055] 根據(jù)設(shè)置的每種角度拍攝方式對應(yīng)的球面展開圖像的高度區(qū)間和寬度區(qū)間,確定 校正后的球面展開圖像的高度和寬度。
[0056] 可選的,所述圖像尺寸確定模塊具體用于:
[0057] 當(dāng)角度拍攝方式為平視拍攝方式時,對應(yīng)的球面展開圖像的高度區(qū)間和寬度區(qū)間 均為[rs,3rs],其中,^為魚眼圖像中心到達(dá)邊緣圓的半徑中像素點數(shù)量;
[0058] 當(dāng)角度拍攝方式為俯視拍攝方式或仰視拍攝方式時,對應(yīng)的球面展開圖像的高度 區(qū)間為[0.5rs,1.5r s ],寬度區(qū)間為[3rs,5rs ],其中,rs為魚眼圖像中心到達(dá)邊緣圓的半徑中 像素點數(shù)量。
[0059] 可選的,所述坐標(biāo)關(guān)系確定模塊包括:
[0060] 三維球面坐標(biāo)確定子模塊,用于根據(jù)校正后的球面展開圖像的高度、寬度及所述