一種圖像視差的獲取方法及系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明屬于圖像處理技術領域,尤其設及一種圖像視差的獲取方法及系統(tǒng)。
【背景技術】
[0002] 3D圖像通常由兩路圖像組成,該兩路圖像對應于不同的觀看角度,根據(jù)該兩路圖 像所包含的視差信息,可W生成新的觀看角度所對應的圖像,即裸眼3D技術。由輸入圖像 計算視差圖,第一步通常是進行塊匹配,然后是采用不同的方法優(yōu)化塊匹配的結果,W獲得 較為準確的結果。現(xiàn)有技術對塊匹配的優(yōu)化通常將優(yōu)化過程轉(zhuǎn)換為隱馬爾科夫模型,通過 維特比算法對該隱馬爾科夫模型進行計算,獲取塊匹配的最佳解。但是使用現(xiàn)有技術,對同 一圖像中代表同一物體的像素點,即相鄰像素點之間會造成較大的視差差異。
【發(fā)明內(nèi)容】
[0003] 鑒于此,本發(fā)明實施例提供一種圖像視差的獲取方法及系統(tǒng),W解決現(xiàn)有技術對 同一 3D圖像中代表同一物體的像素點容易造成較大的視差差異的問題。
[0004] 本發(fā)明實施例是該樣實現(xiàn)的,一種圖像視差的獲取方法,所述方法包括W下步 驟:
[0005] 獲取像素點所在行的水平梯度;
[0006] 根據(jù)所述水平梯度生成約束圖像視差之間的差異的約束條件;
[0007] 根據(jù)所述約束條件對相鄰像素點之間的視差差異進行約束,獲取符合所述約束條 件的視差圖。
[0008] 本發(fā)明實施例的另一目的在于提供一種圖像視差的獲取系統(tǒng),所述系統(tǒng)包括:
[0009] 水平梯度獲取單元,用于獲取像素點所在行的水平梯度;
[0010] 約束條件生成單元,用于根據(jù)所述水平梯度獲取單元獲取的水平梯度生成約束所 述圖像視差之間的差異的約束條件;
[0011] 視差圖獲取單元,用于根據(jù)所述約束條件生成單元生成的約束條件對相鄰像素點 之間的視差差異進行約束,獲取符合所述約束條件的視差圖。
[0012] 本發(fā)明實施例通過預設的梯度計算函數(shù)獲取像素點所在行的水平梯度,根據(jù)所述 水平梯度生成約束圖像視差之間的差異的約束條件,并根據(jù)所述約束條件對相鄰像素點之 間的視差差異進行約束,獲取符合所述約束條件的視差圖。與現(xiàn)有技術相比,本發(fā)明實施例 通過特定的約束條件對相鄰像素點之間的視差差異進行約束,從而可有效避免同一張圖像 中表示同一物體的像素點之間出現(xiàn)較大視差差異的問題。
【附圖說明】
[0013] 為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例或現(xiàn)有技術描述 中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些 實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可W根據(jù)該些 附圖獲得其他的附圖。
[0014] 圖1是本發(fā)明實施例提供的圖像視差獲取方法的流程圖;
[0015] 圖2是本發(fā)明實施例提供的圖像視差獲取效果的示意圖;
[0016]圖3是本發(fā)明實施例提供的圖像視差獲取系統(tǒng)的結構圖。
【具體實施方式】
[0017] 為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,W下結合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用W解釋本發(fā)明,并 不用于限定本發(fā)明。
[0018] 為了說明本發(fā)明所述的技術方案,下面通過具體實施例來進行說明。
[001引實施例一
[0020] 如圖1所示為本發(fā)明實施例提供的圖像視差獲取方法的流程圖,所述方法包括W 下步驟:
[0021] 步驟S101,獲取像素點所在行的水平梯度。
[0022] 在本發(fā)明實施例中,可通過梯度計算函數(shù)獲取像素點所在行的水平梯度。
[0023] 根據(jù)所述像素點的灰度信息計算相應像素點的塊匹配函數(shù)值。
[0024] 其中,水平梯度包括但不限于;左圖像的水平梯度和右圖像的水平梯度,灰度信息 包括但不限于:左圖像的灰度信息和右圖像的灰度信息,而每個圖像包括若干行像素點。
[0025] 其中所述梯度計算函數(shù)具體可W為:
[0026]
[0027] 其中,I(X,y)是Ii^(x,y)或Iij(x,y),G(x,y)表示像素點所在行的水平梯度,Te為 預設的梯度闊值,X是垂直方向的坐標,y是水平方向的坐標,I^x,y-1)是左圖像的灰度 信息,Ik(X,廠1)是右圖像的灰度信息,山(x,y+l)-Ik(X,廠1)I表示左、右圖像的灰度差異 I(X,y+1)。
[0028] 步驟S102,根據(jù)所述水平梯度生成約束圖像視差之間的差異的約束條件。
[0029] 在本發(fā)明實施例中,在同一張圖像中,如果是同一個物體,則像素點的視差應該是 相同或相近的(或者說相鄰像素點之間視差的差異應該為0或很小),通過像素點之間水 平梯度的差異與像素點之間視差的差異的對比,可W對出現(xiàn)異常視差差異的像素點進行約 束,即;如果像素點之間的視差差異和水平梯度差異都大,則所述像素點的視差為正常;如 果像素點之間的視差差異大、水平梯度差異小,則像素點的視差異常,通過公式表示為;如 果G(x,y) = 1,同一行相鄰像素點之間的視差差異不超過正整數(shù)N,即|馬"-公剖<W;如 果G(x,y) = 0,同一行相鄰像素點之間的視差差異不超過正整數(shù)K,即|〇r-/)為I^K,其 中K<N,嗎。表示第X行第y個像素的視差,I巧其I表示相鄰像素點的視差差異。
[0030] 步驟S103,根據(jù)所述約束條件對相鄰像素點之間的視差差異進行約束,獲取符合 所述約束條件的視差圖。
[0031] 在本發(fā)明實施例中,根據(jù)上述生成的約束條件,對相鄰像素點之間的視差差異進 行約束:如果符合約束條件,則不進行任何處理,只需獲取符合該約束條件的視差圖即可。
[0032] 作為本發(fā)明的一個可選實施例,所述方法還包括:
[0033] 對視差圖進行W梯度為基礎的約束優(yōu)化處理,獲取經(jīng)過所述優(yōu)化處理后的視差 圖,具體的是:
[0034] 通過維特比算法構造能量函數(shù)
[00 巧]
[0036] 通過上述維特比算法獲取使所述eW狂)最小的解Z,通過所述最小的解Z獲取 經(jīng)過所述優(yōu)化處理后的視差圖。其中,Z=扣1,…,Dy],cU《dmax,1《y《Y,Z= 扣1,…,Dy]表示第X行的像素點的視差,jW表示第X行代價矩陣,Jw化,y)表示塊匹配函 數(shù)J(x,Dy,y),(/" =G(.v,.r),D表示像素點的視差,dm"表示像素點的最大視差,dmi。表示像 素點的最小視差,Y表示輸入圖像水平方向的像素點數(shù),表示第X行第y個像素的視差, 嗎"兒I表示相鄰像素點的視差差異,0《Ph(1)《Ph(2)《Ph(N),Ph(x) =〇°for x〉N,0《Pv(l)《Pv(2)《…《Pv(N),Pv(x) =c?f〇rx〉K,其中K、N為預先設定的正整數(shù),K<N。
[0037] 在本發(fā)明實施例中,通過水平梯度和W維特比算法求解的能量函數(shù)
I獲取使能量函 數(shù)eW狂)值最小的Z,通過所述最小的解Z獲取優(yōu)化后的視差圖。其計算方法具體為:
[0038] 設;c〇=N〇+l;
[0039] Cl二N1+1;
[0040] A(i,:)為A的第i行元素組成的行向量
[0041] A(:,如為A的第j行元素組成的列向量
[00化IA(i,m:n)為A的第i行第m列至第n列元素組成的行向量
[0043] A(m:n,j)為A的第j列第m行至第m行元素組成的列向量。
[0044] 計算流程如下:
[0045] 1、y^ 1 ;
[0046] 2、/^jW(y,:);
[0047] 3、構造和jW同樣大小的全零矩陣optidx,其中,jW為由塊匹配函數(shù)值組成的第 X行代價矩陣;
K=dmax-dmin+1 ;
[0048] 4、如果坤i二 1,則N=Ni,P=Pi,C=Cl;否則N=N〇,P=P〇,C=c〇;
[0049] 5、構造DrX(2c+l)的矩陣A ;
[0050] A(:,c)<-J.
[005U計算A(:,c+_j)和A(:,c-_j),1《j《N ;
[0052] X<- /+巧_/).
[0053] A(1: j, c-j) ;
[0054] A(j+l:DE,c-j) -X(1:D廠_]?);