[00巧]A(l:Dirj,c+j)和X(j+1:DE);
[0056] A值E_j+1 :Dr, c+j) ;
[0057]
[0058] 得到矩陣A,所述矩陣A的元素位于兩條平行線之間,矩陣之上的數(shù)為矩陣的列標(biāo) 號。
[0059] 6、計算矩陣A每一列的最小值和所述最小值對應(yīng)的行標(biāo)號
[0060] V^A為矩陣A所有列的最小值;
[0061]idx^A為上述最小值對應(yīng)的行標(biāo)號。
[0062] 7. J?-/(d,7) + v.
[0063]8、optidx(:,y) ^(1:Dr)+(idx_c);
[0064] 9、如果y=Y,輸出optidx,如果y^y+1,則返回步驟4;
[0065] 10、定義長為Y的向量path;
[0066]ll、path〇〇 =min[optIdx(:,Y)];
[0067] 12、y^Y-l;
[0068] 13、k^path(y+1);
[0069] 14、path(y) ^optidx化,y);
[0070]I5、如果y〉l,y^廠1,返回步驟I2 ;
[00川 16、第m行經(jīng)優(yōu)化得到的視差圖為path+cU-1。
[007引舉例說明:
[0073] 如圖2所示為本發(fā)明實施例提供的圖像視差獲取效果的示意圖,其獲取流程如 下:
[0074] 1、橫向數(shù)字表示圖像的水平坐標(biāo),即y;
[0075] 2、縱向數(shù)字表示像素點的視差,該里視差范圍為-1至2;
[007引 3、圖2中圓圈稱為狀態(tài),W縱向和橫向數(shù)字對來表示,如;S(0,^代表第2行第3 個圓圈,其物理意義是第2個像素點的視差是0的狀態(tài)。
[0077] 計算過程如下:
[007引 a、將jW(1,:)從上至下填充到第1列圓圈中,WWV={v_i,V。V。V2,}表示該組 數(shù);
[0079] b、第2列的四個狀態(tài)由前列(即第1列)的四個狀態(tài)轉(zhuǎn)移而來,W有箭頭的連線 表示,該連線稱為路徑;
[0080] C、計算進入每一狀態(tài)的四條路徑的重量W,進入狀態(tài)S(d,2)四條路徑的重量由下 式計算:
[0081]
[0082] t對第2列所有的狀態(tài)計算W,并選取各自的最小值W更新V,Vw = min,. i,f S記錄 各自取得最小值的i,即本狀態(tài)是由前一列的哪一個狀態(tài)轉(zhuǎn)移而來,在圖2中表示為實線, 稱為幸存路徑;
[0083]e、向右前進一列,重復(fù)步驟c、d,直至網(wǎng)格圖的最右列,在此圖示中為第4列;
[0084]f、選出數(shù)值最小的Vi所對應(yīng)的狀態(tài);從該狀態(tài)開始,沿實線從右至左記錄下所經(jīng) 歷的狀態(tài)。假設(shè)在此圖中乂。最小,得到的狀態(tài)圖為別0,4) ^S(l,3) ^S(0,2) ^S(0,1);
[0085] g、輸出視差0、0、1、0,即像素點之間的視差差異分別為;0、1、1,符合視差差異。 [00 8引實施例二
[0087] 本發(fā)明還提供一種圖像視差的獲取系統(tǒng),如圖3所示為本發(fā)明實施例提供的圖像 視差獲取系統(tǒng)的結(jié)構(gòu)圖,為了便于說明,僅示出與本發(fā)明實施例相關(guān)的部分,包括:
[0088] 所述圖像視差獲取系統(tǒng)可W是內(nèi)置于智能終端(例如手機、平板電板、智能電視 機)中的軟件單元、硬件單元或者是軟硬件結(jié)合的單元,所述圖像視差獲取系統(tǒng)包括;水平 梯度獲取單元301、約束條件生成單元302W及視差圖獲取單元302,其中:
[0089] 水平梯度獲取單元301,用于獲取像素點所在行的水平梯度;
[0090] 約束條件生成單元302,用于根據(jù)所述水平梯度獲取單元301獲取的水平梯度生 成約束所述圖像視差之間的差異的約束條件;
[0091] 視差圖優(yōu)化單元303,用于根據(jù)所述約束條件生成單元302生成的約束條件對相 鄰像素點之間的視差差異進行約束,獲取符合所述約束條件的視差圖。
[0092] 進一步的,所述水平梯度獲取單元301,包括:
[0093] 水平梯度獲取子單元3011,用于通過預(yù)設(shè)的梯度計算函數(shù)獲取像素點所在行的水 平梯度,其中所述梯度計算函數(shù)具體為:
[0094]
[0095] 其中,I(X,y)是Ii^(x,y)或Iij(x,y),G(x,y)表示像素點所在行的水平梯度,Te為 預(yù)設(shè)的梯度闊值,X是垂直方向的坐標(biāo),y是水平方向的坐標(biāo),I^x,y-1)是左圖像的灰度信 息,lK(x,y-l)是右圖像的灰度信息,|lL(x,y+l)-lK(x,y-l)I表示左、右圖像的灰度差異息。
[0096] 進一步的,所述約束條件生成單元302生成的約束條件為;如果G(x,y) = 1,同一 行相鄰像素點之間的視差差異不超過正整數(shù)N,即|嗎"-〇記l^iV;如果G(x,y) = 0,同一 行相鄰像素點之間的視差差異不超過正整數(shù)K,即|〇,…別含K,其中K<N,巧"表示第X 行第y個像素的視差,I公巧刮表示相鄰像素點的視差差異。
[0097] 進一步的,所述系統(tǒng)還包括:
[0098] 優(yōu)化單元304,用于對所述視差圖進行優(yōu)化處理,獲取經(jīng)過所述優(yōu)化處理后的視差 圖,具體的是:
[0099] 通過維特比算法構(gòu)造能量函數(shù)
[0100]
[0101] 通過上述維特比算法獲取使eW狂)最小的解Z,并通過所述最小的解Z獲取所 述優(yōu)化處理后的視差圖,其中,Z=扣1,…,Dy],cU《dmax,1《y《Y,Z=扣?!?,Dy]表示第X行的像素點的視差,jW表示第X行代價矩陣,Jw值y,y)表示塊匹配函數(shù) J(x,Dy,y),巧U=G(.r,.v),D表示像素點的視差,cU表示像素點的最大視差,dmi。表示像素 點的最小視差,Y表示輸入圖像水平方向的像素點數(shù),巧"表示第X行第y個像素的視差, 巧'i-〇貨I表示相鄰像素點的視差差異,〇《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為預(yù)先設(shè)定的正整數(shù),K<N。
[0102] 其中,所述水平梯度包括;像素點左圖像的水平梯度和像素點右圖像的水平梯度。
[0103] 所屬領(lǐng)域的技術(shù)人員可W清楚地了解到,為描述的方便和簡潔,僅W上述各功能 單元、子單元的劃分進行舉例說明,實際應(yīng)用中,可W根據(jù)需要而將上述功能分配由不同的 功能單元、模塊完成,即所述系統(tǒng)的內(nèi)部結(jié)構(gòu)劃分成不同的功能單元或模塊,W完成W上描 述的全部或者部分功能。實施例中的各功能單元或子單元可W集成在一個處理單元中,也 可W是各個單元單獨物理存在,也可W兩個或兩個W上單元集成在一個單元中,上述集成 的單元或模塊既可W采用硬件的形式實現(xiàn),也可W采用軟件功能單元的形式實現(xiàn)。另外,各 功能單元、子單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本申請的保護范圍。
[0104] 需要說明的是,本實施例提供的圖像視差獲取系統(tǒng),其主要工作原理與上述實施 例的圖像視差的獲取方法的實現(xiàn)原理一致,所述圖像視差獲取系統(tǒng)中各單元、子單元的具 體工作過程,可W參考前述方法實施例的對應(yīng)過程,此處對此不作寶述。
[0105] 綜上所述,本發(fā)明實施例通過預(yù)設(shè)的梯度計算函數(shù)獲取像素點所在行的水平梯 度,根據(jù)所述水平梯度生成約束圖像視差之間的差異的約束條件,并根據(jù)所述約束條件對 相鄰像素點之間的視差差異進行約束,獲取符合所述約束條件的視差圖。與現(xiàn)有技術(shù)相比, 本發(fā)明實施例通過特定的約束條件對相鄰像素點之間的視差差異進行約束,從而可有效避 免同一張圖像中表示同一物體的像素點之間出現(xiàn)較大視差差異的問題,具有較強的易用性 和實用性。
[0106] 所屬領(lǐng)域的技術(shù)人員可W清楚地了解到,為了描述的方便和簡潔,僅W上述各功 能單元的劃分進行舉例說明,實際應(yīng)用中,可w根據(jù)需要而將上述功能分配由不同的功能 單元、模塊完成,即將所述系統(tǒng)的內(nèi)部結(jié)構(gòu)劃分成不同的功能單元或模塊,W完成W上描述 的全部或者部分功能。實施例中的各功能單元可W集成在一個處理單元中,也可W是各個 單元單獨物理存在,也可W兩個或兩個W上單元集成在一個單元中,上述集成的單元既可 W采用硬件的形式實現(xiàn),也可W采用軟件功能單元的形式實現(xiàn)。另外,各功能單元的具體名 稱也只是為了便于相互區(qū)分,并不用于限制本申請的保護范圍。上述系統(tǒng)中各單元的具體 工作過程,可W參考前述方法實施例中的對應(yīng)過程,在此不再