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