一種圖像視差的獲取方法及系統的制作方法
【技術領域】
[0001] 本發明屬于圖像處理技術領域,尤其設及一種圖像視差的獲取方法及系統。
【背景技術】
[0002] 3D圖像通常由兩路圖像組成,該兩路圖像對應于不同的觀看角度,根據該兩路圖 像所包含的視差信息,可W生成新的觀看角度所對應的圖像,即裸眼3D技術。由輸入圖像 計算視差圖,第一步通常是進行塊匹配,然后是采用不同的方法優化塊匹配的結果,W獲得 較為準確的結果。現有技術對塊匹配的優化通常將優化過程轉換為隱馬爾科夫模型,通過 維特比算法對該隱馬爾科夫模型進行計算,獲取塊匹配的最佳解。但是使用現有技術,對同 一圖像中代表同一物體的像素點,即相鄰像素點之間會造成較大的視差差異。
【發明內容】
[0003] 鑒于此,本發明實施例提供一種圖像視差的獲取方法及系統,W解決現有技術對 同一 3D圖像中代表同一物體的像素點容易造成較大的視差差異的問題。
[0004] 本發明實施例是該樣實現的,一種圖像視差的獲取方法,所述方法包括W下步 驟:
[0005] 獲取像素點所在行的水平梯度;
[0006] 根據所述水平梯度生成約束圖像視差之間的差異的約束條件;
[0007] 根據所述約束條件對相鄰像素點之間的視差差異進行約束,獲取符合所述約束條 件的視差圖。
[0008] 本發明實施例的另一目的在于提供一種圖像視差的獲取系統,所述系統包括:
[0009] 水平梯度獲取單元,用于獲取像素點所在行的水平梯度;
[0010] 約束條件生成單元,用于根據所述水平梯度獲取單元獲取的水平梯度生成約束所 述圖像視差之間的差異的約束條件;
[0011] 視差圖獲取單元,用于根據所述約束條件生成單元生成的約束條件對相鄰像素點 之間的視差差異進行約束,獲取符合所述約束條件的視差圖。
[0012] 本發明實施例通過預設的梯度計算函數獲取像素點所在行的水平梯度,根據所述 水平梯度生成約束圖像視差之間的差異的約束條件,并根據所述約束條件對相鄰像素點之 間的視差差異進行約束,獲取符合所述約束條件的視差圖。與現有技術相比,本發明實施例 通過特定的約束條件對相鄰像素點之間的視差差異進行約束,從而可有效避免同一張圖像 中表示同一物體的像素點之間出現較大視差差異的問題。
【附圖說明】
[0013] 為了更清楚地說明本發明實施例中的技術方案,下面將對實施例或現有技術描述 中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些 實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可W根據該些 附圖獲得其他的附圖。
[0014] 圖1是本發明實施例提供的圖像視差獲取方法的流程圖;
[0015] 圖2是本發明實施例提供的圖像視差獲取效果的示意圖;
[0016]圖3是本發明實施例提供的圖像視差獲取系統的結構圖。
【具體實施方式】
[0017] 為了使本發明的目的、技術方案及優點更加清楚明白,W下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用W解釋本發明,并 不用于限定本發明。
[0018] 為了說明本發明所述的技術方案,下面通過具體實施例來進行說明。
[001引實施例一
[0020] 如圖1所示為本發明實施例提供的圖像視差獲取方法的流程圖,所述方法包括W 下步驟:
[0021] 步驟S101,獲取像素點所在行的水平梯度。
[0022] 在本發明實施例中,可通過梯度計算函數獲取像素點所在行的水平梯度。
[0023] 根據所述像素點的灰度信息計算相應像素點的塊匹配函數值。
[0024] 其中,水平梯度包括但不限于;左圖像的水平梯度和右圖像的水平梯度,灰度信息 包括但不限于:左圖像的灰度信息和右圖像的灰度信息,而每個圖像包括若干行像素點。
[0025] 其中所述梯度計算函數具體可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,根據所述水平梯度生成約束圖像視差之間的差異的約束條件。
[0029] 在本發明實施例中,在同一張圖像中,如果是同一個物體,則像素點的視差應該是 相同或相近的(或者說相鄰像素點之間視差的差異應該為0或很小),通過像素點之間水 平梯度的差異與像素點之間視差的差異的對比,可W對出現異常視差差異的像素點進行約 束,即;如果像素點之間的視差差異和水平梯度差異都大,則所述像素點的視差為正常;如 果像素點之間的視差差異大、水平梯度差異小,則像素點的視差異常,通過公式表示為;如 果G(x,y) = 1,同一行相鄰像素點之間的視差差異不超過正整數N,即|馬"-公剖<W;如 果G(x,y) = 0,同一行相鄰像素點之間的視差差異不超過正整數K,即|〇r-/)為I^K,其 中K<N,嗎。表示第X行第y個像素的視差,I巧其I表示相鄰像素點的視差差異。
[0030] 步驟S103,根據所述約束條件對相鄰像素點之間的視差差異進行約束,獲取符合 所述約束條件的視差圖。
[0031] 在本發明實施例中,根據上述生成的約束條件,對相鄰像素點之間的視差差異進 行約束:如果符合約束條件,則不進行任何處理,只需獲取符合該約束條件的視差圖即可。
[0032] 作為本發明的一個可選實施例,所述方法還包括:
[0033] 對視差圖進行W梯度為基礎的約束優化處理,獲取經過所述優化處理后的視差 圖,具體的是:
[0034] 通過維特比算法構造能量函數
[00 巧]
[0036] 通過上述維特比算法獲取使所述eW狂)最小的解Z,通過所述最小的解Z獲取 經過所述優化處理后的視差圖。其中,Z=扣1,…,Dy],cU《dmax,1《y《Y,Z= 扣1,…,Dy]表示第X行的像素點的視差,jW表示第X行代價矩陣,Jw化,y)表示塊匹配函 數J(x,Dy,y),(/" =G(.v,.r),D表示像素點的視差,dm"表示像素點的最大視差,dmi。表示像 素點的最小視差,Y表示輸入圖像水平方向的像素點數,表示第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為預先設定的正整數,K<N。
[0037] 在本發明實施例中,通過水平梯度和W維特比算法求解的能量函數
I獲取使能量函 數eW狂)值最小的Z,通過所述最小的解Z獲取優化后的視差圖。其計算方法具體為:
[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為由塊匹配函數值組成的第 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廠_]?);