專(zhuān)利名稱(chēng):一種渲染圖像的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理領(lǐng)域,特別涉及一種渲染圖像的方法和裝置。
背景技術(shù):
近年來(lái),隨著自由立體顯示技術(shù)在硬件和軟件研究上的不斷突破,自由立 體顯示在醫(yī)學(xué)領(lǐng)域、勘探領(lǐng)域抑或娛樂(lè)業(yè)等領(lǐng)域都受到了越來(lái)越多的青睞。
為了使自由立體顯示的效果更好、速度更快,涌現(xiàn)出了多種對(duì)圖像的渲染算
法,常見(jiàn)的渲染算法大致分為兩類(lèi)
第一類(lèi)是原圖加深度圖渲染算法(2D plus Z),主要是根據(jù)場(chǎng)景點(diǎn)在深度 圖里對(duì)應(yīng)的深度值來(lái)計(jì)算該場(chǎng)景點(diǎn)在已知視圖和所要求的中間視圖中的視差 值,再計(jì)算出場(chǎng)景點(diǎn)在中間視圖中的投影位置,對(duì)所有場(chǎng)景點(diǎn)都進(jìn)行上述計(jì)算, 就可以渲染出中間:規(guī)圖。
第二類(lèi)是多視圖渲染算法(multi-view),主要是根據(jù)已知的多個(gè)視圖來(lái)渲 染出場(chǎng)景4壬意^L角的一見(jiàn)圖。
在對(duì)視圖進(jìn)行渲染時(shí),因?yàn)閳?chǎng)景點(diǎn)之間發(fā)生遮擋而導(dǎo)致空洞的發(fā)生。如圖1 所示,Cl對(duì)應(yīng)左視圖視點(diǎn),C2對(duì)應(yīng)右視圖視點(diǎn)。場(chǎng)景點(diǎn)Pl和P2在左視圖L中 投影在同一位置P,這樣,離左視點(diǎn)C1較遠(yuǎn)的場(chǎng)景點(diǎn)P1就會(huì)被P2遮擋。場(chǎng)景 點(diǎn)Pl和P2在右視圖R上又分別投影于位置Pl,、 P2',這樣,如果基于左視圖 和深度圖進(jìn)行右視圖的渲染時(shí),在右視圖R上的Pl,點(diǎn)就會(huì)因?yàn)闆](méi)有對(duì)應(yīng)的信息 而出現(xiàn)空洞。
解決空洞問(wèn)題主要有兩種方法 一種是利用背景、紋理、相鄰像素等對(duì)空洞 進(jìn)行填充;另一種是對(duì)深度圖進(jìn)行預(yù)處理,主要對(duì)其進(jìn)行平滑處理,平滑深度 的不連續(xù)性,以減少圖像繪制后產(chǎn)生的空洞。在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)上述現(xiàn)有技術(shù)至少具有以下缺點(diǎn) 在對(duì)圖像進(jìn)行渲染時(shí),第一類(lèi)方法的渲染效果不好,渲染后的圖像中空洞 很多;第二類(lèi)方法所需存儲(chǔ)和傳輸?shù)臄?shù)據(jù)量大,渲染算法復(fù)雜,渲染的速度慢。 在解決空洞問(wèn)題的時(shí)候,填充技術(shù)不能從本質(zhì)上解決空洞問(wèn)題,特別是填 補(bǔ)面積較大的空洞時(shí),會(huì)有明顯的處理痕跡,填補(bǔ)效果不理想;平滑預(yù)處理^支 術(shù)對(duì)物體進(jìn)行了變形,使得到的虛擬視點(diǎn)的視覺(jué)質(zhì)量有明顯的下降。
發(fā)明內(nèi)容
為了簡(jiǎn)化渲染算法的復(fù)雜性、增強(qiáng)圖像的渲染效果、加快渲染速度,本發(fā) 明實(shí)施例提供了 一種渲染圖像的方法和裝置。所述技術(shù)方案如下 一方面, 一種渲染圖像的方法,包括
在待處理圖像的左視圖和右視圖中任選一個(gè)作為第 一視圖,另 一個(gè)作為第 二視圖,對(duì)所述第一視圖進(jìn)行求深度圖計(jì)算,得到與所述第一視圖相對(duì)應(yīng)的深 度根據(jù)所述第一視圖和所述深度圖進(jìn)行渲染,得到中間視圖; 根據(jù)預(yù)設(shè)閥值,填補(bǔ)所述中間視圖中面積小于所述閥值的空洞; 根據(jù)所述中間視圖和所述第二視圖,從所述第二視圖中尋找與所述中間視 圖中面積大于所述閥值的空洞相似度最高的像素塊; 將所述像素塊復(fù)制并填補(bǔ)到所述空洞中。 具體地,
根據(jù)所述中間視圖和所述第二視圖,從所述第二視圖沖尋找與所述中間視 圖中面積大于所述閥值的空洞相似度最高的像素塊,具體包括
在所述中間視圖中,根據(jù)所述空洞的位置,沿所述空洞的相應(yīng)邊緣,在所 述空洞范圍之外,取預(yù)設(shè)個(gè)數(shù)的像素,組成比較像素塊;
在所述中間視圖中,以所述比較像素塊為起始?jí)K,在所述空洞范圍之外, 選取一個(gè)包含所述起始?jí)K的比較區(qū)域,在所述第二視圖中選取與所述比較區(qū)域相對(duì)應(yīng)的區(qū)域作為尋找區(qū)域;
在所述尋找區(qū)域中沿遠(yuǎn)離所述空洞的方向,每平移一個(gè)像素選取一個(gè)與所 述比較像素塊形狀、面積均相同的像素塊,將所述比較像素塊中的每個(gè)像素與 所述像素塊中和所述像素位置相對(duì)應(yīng)的像素相減,并分別對(duì)得到的每個(gè)差值進(jìn) 行平方運(yùn)算,將所得的平方值全部相加,得到與所述^f象素塊對(duì)應(yīng)的和值;
比較每個(gè)像素塊對(duì)應(yīng)的和值,選出和值最'J、的像素塊;
根據(jù)所述空洞在所述中間視圖上的位置,對(duì)所述和值最小的像素塊的每一 行,以所述像素塊相應(yīng)邊緣上的該行的像素為起始,取與所述空洞中所對(duì)應(yīng)的 行中同等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的^象素塊作為與所述空洞 相似度最高的像素塊。
具體地,
本實(shí)施例中,所述第一視圖可以為左視圖,所述第二視圖可以為右視圖, 在所述中間視圖中,根據(jù)所述空洞的位置,沿所述空洞的相應(yīng)邊緣,在所述空 洞范圍之外,取預(yù)設(shè)個(gè)數(shù)的像素,組成比較像素塊,具體包括
若所述中間視圖中的空洞與所述中間視圖的右邊緣有重合部分,在所述空 洞左邊的區(qū)域中選取所述比較像素塊;
若所述中間視圖中的空洞與所述中間視圖的右邊緣沒(méi)有重合部分,在選取 所述空洞右邊的區(qū)域中選取所述比較像素塊;
相應(yīng)地,根據(jù)所述空洞在中間視圖上的位置,對(duì)所述和值最小的像素塊的 每一行,以所述像素塊相應(yīng)邊緣上的該行的像素為起始,取與所述空洞中所對(duì) 應(yīng)的行中同等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的像素塊作為與所述 空洞相似度最高的像素塊,具體包括
若所述中間視圖中的空洞與所述中間視圖的右邊緣有重合部分,對(duì)和值最 小的像素塊的每一行,以所述像素塊右邊緣上的該行的像素為起始,在水平方 向上按照從左至右的順序,取與所述空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素,將 由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似度最高的像素塊;若所述中間視圖中的空洞與所述中間視圖的右邊緣沒(méi)有重合部分,對(duì)和值 最小的像素塊的每一行,以所述像素塊左邊緣上的該行的像素為起始,在水平 方向上按照從右至左的順序,取與所述空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素, 將由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似度最高的像素塊。
本實(shí)施例中,還可以是所述第一視圖為右視圖,所述第二視圖為左視圖, 在所述中間視圖中,根據(jù)所述空洞的位置,沿所述空洞的相應(yīng)邊緣,在所述空
洞范圍之外,取預(yù)設(shè)個(gè)數(shù)的像素,組成比較像素塊,具體包括
若所述中間視圖中的空洞與所述中間視圖的左邊緣有重合部分,在所述空 洞右邊的區(qū)域中選取所述比較像素塊;
若所述中間視圖中的空洞與所述中間視圖的左邊緣沒(méi)有重合部分,在所述 空洞左邊的區(qū)域中選取所述比較像素塊;
相應(yīng)地,根據(jù)所述空洞在中間視圖上的位置,對(duì)所述和值最小的像素塊的 每一行,以所述像素塊相應(yīng)邊緣上的該行的像素為起始,取與所述空洞中所對(duì) 應(yīng)的行中同等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的像素塊作為與所述 空洞相似度最高的像素塊,具體包括
若所述中間視圖中的空洞與所述中間視圖的左邊緣有重合部分,對(duì)和值最 小的像素塊的每一行,以所述像素塊左邊緣上的該行的像素為起始,在水平方 向上按照從右至左的順序,取與所述空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素,將 由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似度最高的像素塊;
若所述中間視圖中的空洞與所述中間視圖的左邊緣沒(méi)有重合部分,對(duì)和值 最小的像素塊的每一行,以所述像素塊右邊緣上的該行的像素為起始,在水平 方向上按照從左至右的順序,取與所述空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素, 將由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似度最高的像素塊。 另一方面, 一種渲染圖像的裝置,所述裝置包括
深度圖計(jì)算模塊,用于在待處理圖像的左視圖和右視圖中任選一個(gè)作為第 一視圖,另一個(gè)作為第二視圖,對(duì)所述第一視圖進(jìn)行求深度圖計(jì)算,得到與所述第 一視圖相對(duì)應(yīng)的深度渲染模塊,用于根據(jù)所述第 一視圖和所述深度圖計(jì)算模塊得到的深度圖進(jìn) 行渲染,得到中間視第一填補(bǔ)模塊,用于根據(jù)預(yù)設(shè)的閥值,填補(bǔ)所述渲染模塊得到的中間視圖 中面積小于所述閥^f直的空洞;
計(jì)算模塊,由于根據(jù)所述中間視圖和所述第二視圖,從所述第二視圖中尋
找與所述中間視圖中面積大于所述閥值的空洞相似度最高的像素塊; 第二填補(bǔ)模塊,用于將所述^f象素塊復(fù)制并填補(bǔ)到所述空洞中。 具體地,所述計(jì)算模塊具體包括
比較像素塊選取單元,用于在所述中間視圖中,根據(jù)所述空洞的位置,沿 所迷空洞的相應(yīng)邊緣,在所述空洞范圍之外,取預(yù)設(shè)個(gè)數(shù)的像素,組成比較像 素塊;
尋找區(qū)域選取單元,用于在所述中間視圖中,以所述比較像素塊為起始?jí)K, 在所述空洞范圍之外,選取一個(gè)包含所述起始?jí)K的比較區(qū)域,在所述第二視圖 中選取與所述比較區(qū)域相對(duì)應(yīng)的區(qū)域作為尋找區(qū)域;
相似度計(jì)算單元,用于在所述尋找區(qū)域中沿遠(yuǎn)離所述空洞的方向,每平移 一個(gè)像素選取一個(gè)與所述比較像素塊形狀、面積均相同的像素塊,將所述比較 像素塊中的每個(gè)像素與所述像素塊中和所述像素位置相對(duì)應(yīng)的像素相減,并分 別對(duì)得到的每個(gè)差值進(jìn)行平方運(yùn)算,將所得的平方值全部相加,得到與所述像 素塊對(duì)應(yīng)的和值;
比較單元,用于比較每個(gè)像素塊對(duì)應(yīng)的和值,選出和值最小的像素塊; 選取單元,用于根據(jù)所述空洞在中間視圖上的位置,對(duì)所述和值最小的像 素塊的每一行,以所述像素塊相應(yīng)邊緣上的該行的像素為起始,取與所述空洞 中所對(duì)應(yīng)的行中同等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的像素塊作為 與所述空洞相似度最高的^f象素塊。
本實(shí)施例中,所述第一視圖可以為左視圖,所述第二視圖可以為右視圖,所述比較像素塊選取單元具體包括
第一比較像素塊選取子單元,用于若所述中間視圖中的空洞與所述中間視
圖的右邊緣有重合部分,在所述空洞左邊的區(qū)域中選取所述比較像素塊;若所 述中間視圖中的空洞與所述中間視圖的右邊緣沒(méi)有重合部分,在所述空洞右邊 的區(qū)域中選取所述比較像素塊;
相應(yīng)地,所述選取單元具體包括
第一選取子單元,用于若所述中間視圖中的空洞與所述中間視圖的右邊緣 有重合部分,對(duì)和值最小的像素塊的每一行,以所述像素塊右邊緣上的該行的 像素為起始,在水平方向上按照從左至右的順序,取與所述空洞中所對(duì)應(yīng)的行 中同等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相 似度最高的像素塊;若所述中間視圖中的空洞與所述中間視圖的右邊緣沒(méi)有重 合部分,對(duì)和值最小的像素塊的每一行,以所述像素塊左邊緣上的該行的像素 為起始,在水平方向上按照從右至左的順序,取與所述空洞中所對(duì)應(yīng)的行中同 等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似度 最高的像素塊。
本實(shí)施例中,還可以是所述第一視圖為右視圖,所述第二視圖為左視圖, 所述比較像素塊選取單元具體包括
第二比較像素塊選取子單元,用于若所述中間視圖中的空洞與所述中間視 圖的左邊緣有重合部分,在所述空洞右邊的區(qū)域中選取所述比較像素塊;若所 述中間視圖中的空洞與所述中間視圖的左邊緣沒(méi)有重合部分,在所述空洞左邊 的區(qū)域中選取所述比較像素塊;
相應(yīng)地,所述選取單元具體包括
第二選取子單元,用于若所述中間視圖中的空洞與所述中間視圖的左邊緣 有重合部分,對(duì)和值最小的像素塊的每一行,以所述像素塊左邊緣上的該行的 像素為起始,在水平方向上按照從右至左的順序,取與所述空洞中所對(duì)應(yīng)的行 中同等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似度最高的像素塊;若所述中間視圖中的空洞與所述中間視圖的左邊緣沒(méi)有重 合部分,對(duì)和值最小的像素塊的每一行,以所述像素塊右邊緣上的該行的像素 為起始,在水平方向上按照從左至右的順序,取與所述空洞中所對(duì)應(yīng)的行中同 等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似度 最高的像素塊。
本發(fā)明實(shí)施例提供的技術(shù)方案的有益效果是
通過(guò)利用左右碎見(jiàn)圖和一張深度圖進(jìn)行圖像渲染,在渲染過(guò)程中對(duì)產(chǎn)生的大 小空洞分別進(jìn)行處理,先處理較小的空洞,再利用尋找相似度最高的像素塊的 方法對(duì)大空洞進(jìn)行處理,不僅簡(jiǎn)化了現(xiàn)有渲染算法的復(fù)雜性,加快了渲染的速 度,而且大大增強(qiáng)了空洞的填補(bǔ)效果。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施 例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述 中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付 出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。 圖l是現(xiàn)有技術(shù)中渲染圖像過(guò)程中產(chǎn)生空洞的原理圖; 圖2是本發(fā)明實(shí)施例1提供的渲染圖像的方法的一種流程圖; 圖3是本發(fā)明實(shí)施例2提供的渲染圖像的方法的另一種流程圖; 圖4是本發(fā)明實(shí)施例3提供的渲染圖像的方法的另一種流程圖; 圖5是本發(fā)明實(shí)施例4提供的渲染圖像的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明 實(shí)施方式作進(jìn)一步地詳細(xì)描述。 實(shí)施例1參見(jiàn)圖2 ,本發(fā)明實(shí)施例提供了 一種渲染圖像的方法,用于對(duì)圖像進(jìn)行渲染,
包括
Sl:在待處理圖像的左視圖和右視圖中任選一個(gè)作為第一視圖,另一個(gè)作 為第二視圖,對(duì)第一視圖進(jìn)行求深度圖計(jì)算,得到與第一視圖相對(duì)應(yīng)的深度圖; S2:根據(jù)第一視圖和深度圖進(jìn)行渲染,得到中間視圖; S3:根據(jù)預(yù)設(shè)閥值,填補(bǔ)中間視圖中面積小于閥值的空洞; S4:對(duì)于中間視圖中面積大于閥值的空洞,根據(jù)中間視圖和第二視圖,從 第二視圖中尋找與空洞相似度最高的像素塊; S5:將像素塊復(fù)制并填補(bǔ)到空洞中。
通過(guò)利用左右視圖和一張深度圖進(jìn)行圖像渲染,在渲染過(guò)程中對(duì)產(chǎn)生的大 小空洞分別進(jìn)行處理,先處理較小的空洞,再利用尋找相似度最高的像素塊的 方法對(duì)大空洞進(jìn)行處理,不僅筒化了現(xiàn)有渲染算法的復(fù)雜性,加快了渲染的速 度,而且大大增強(qiáng)了空洞的填補(bǔ)效果。
實(shí)施例2
參見(jiàn)圖3,本發(fā)明實(shí)施例提供了一種渲染圖像的方法,其中第一視圖為左視 圖,第二視圖為右^L圖,具體包括
301:根據(jù)待處理圖像的左視圖和右視圖,對(duì)左視圖進(jìn)行計(jì)算,得到與左視 圖相對(duì)應(yīng)的深度其中,采集待處理圖像的攝像機(jī)可以是雙目攝像機(jī)或兩個(gè)、兩個(gè)以上的攝 像機(jī),也可以是其他種類(lèi)的攝像機(jī),本實(shí)施例不做具體限定。
其中,計(jì)算深度圖時(shí)所用的算法可以是多種,本實(shí)施例中不做具體限定。 在本實(shí)施例中,計(jì)算深度圖的算法以立體匹配算法為例。 具體地,計(jì)算所有在左視圖有投影的場(chǎng)景點(diǎn)在左視圖和右視圖中的投影位 置值,將所得同一場(chǎng)景點(diǎn)在左視圖和右視圖的投影位置值相減,根據(jù)差值,計(jì) 算出該場(chǎng)景點(diǎn)的深度值,對(duì)所有在左視圖有投影的場(chǎng)景點(diǎn)進(jìn)行上述相同計(jì)算, 得到與左視圖相對(duì)應(yīng)的深度圖。302:根據(jù)左視圖和深度圖進(jìn)行渲染,得到中間視其中,渲染方法可以是多種,本實(shí)施例中不做具體限定。
其中,中間視圖是介于左視點(diǎn)和右視點(diǎn)(包括右視點(diǎn))之間任意視點(diǎn)的視圖。
303:根據(jù)預(yù)設(shè)的閥值,對(duì)中間視圖上的空洞的面積進(jìn)行檢測(cè)并判斷; 具體地,設(shè)定一個(gè)閥值,對(duì)中間視圖上的空洞的面積進(jìn)行;險(xiǎn)測(cè),若空洞面 積小于閥值,用插補(bǔ)方式去填充空洞,插補(bǔ)方式可以有多種,本實(shí)施例不估丈具 體限定。在本實(shí)施例中僅以常值插補(bǔ)為例進(jìn)行說(shuō)明,常值插補(bǔ)是將空洞右邊緣 相鄰且有值的像素從右向左依次復(fù)制并填補(bǔ)到空洞里。若空洞面積大于閥值, 繼續(xù)執(zhí)行操作。
其中,閥值是根據(jù)用戶的實(shí)際需要進(jìn)行設(shè)定,本發(fā)明對(duì)此不作限制。 304:在中間視圖中,選取一個(gè)像素塊作為比較像素塊; 具體地,選取比4交-像素塊的方法為
若空洞與中間視圖右邊緣有重合部分,相應(yīng)邊緣指的是該空洞的左邊緣, 則在空洞左邊的區(qū)域中選取比較像素塊,在水平方向上按照從右至左的順序, 在空洞的范圍之外,取預(yù)設(shè)個(gè)數(shù)的像素,這些像素組成一個(gè)沒(méi)有空洞的像素塊, 將該像素塊作為比較像素塊;
若空洞與中間視圖右邊緣沒(méi)有重合部分,相應(yīng)邊緣指的是該空洞的右邊緣, 則在空洞右邊的區(qū)域中選取比較像素塊,在水平方向上按照從左至右的順序, 在空洞的范圍之外,取3貞設(shè)個(gè)數(shù)的像素,這些像素組成一個(gè)沒(méi)有空洞的像素塊,
將該像素塊作為比較像素塊。
其中,與中間視圖右邊緣有重合部分的空洞是由左視圖中最右邊的場(chǎng)景點(diǎn)
在中間視圖中的投影位置相對(duì)于該場(chǎng)景點(diǎn)在左視圖中的投影位置向左偏移造成的。
其中,在垂直方向上取像素時(shí),可以從上至下、從下至上或隨機(jī)選取,本 發(fā)明對(duì)此不作限制。其中,像素的預(yù)設(shè)個(gè)數(shù)可以按照實(shí)際需要進(jìn)行選取,每行的預(yù)設(shè)個(gè)數(shù)可以 相等,也可以不相等,本發(fā)明對(duì)此不作限制。
305:在右視圖中選取一個(gè)尋找區(qū)域,將該區(qū)域作為尋找并復(fù)制像素的區(qū)域; 其中,尋找區(qū)域的選取方法為在所述中間視圖中,以所述比較像素塊為
起始?jí)K,在所述空洞范圍之外,選取一個(gè)包含所述起始?jí)K的比較區(qū)域,在所述
右視圖中選取與所述比4^區(qū)域相對(duì)應(yīng)的區(qū)域作為尋找區(qū)域。
其中,尋找區(qū)域的大小需按照實(shí)際需要進(jìn)行選取,本發(fā)明對(duì)此不作限制。 示例如下例如,中間一見(jiàn)圖上,比較像素塊A中有3個(gè)像素,坐標(biāo)分別為 (1, 5)、 (2, 5)和(3, 5),以比較像素塊A為起始?jí)K的比較區(qū)域B中有5個(gè)
像素,坐標(biāo)分別為(1, 5)、 (2, 5)、 (3, 5)、 (4, 5)和(5, 5),相應(yīng)地,在
右視圖中選取坐標(biāo)為(1, 5)、 (2, 5)、 (3, 5)、 (4, 5)和(5, 5)的像素,
組成區(qū)域B,,將這個(gè)區(qū)域作為尋找區(qū)域。
306:基于中間視圖和右視圖,尋找與上述空洞相似度最高的像素塊; 具體地,尋找與上述空洞相似度最高的像素塊的方法是 在尋找區(qū)域中沿遠(yuǎn)離空洞的方向,每平移一個(gè)像素選取一個(gè)與比較像素塊
形狀、面積均相同的像素塊,將比較像素塊中的每個(gè)像素與該像素塊中和像素
位置相對(duì)應(yīng)的像素相減,并分別對(duì)得到的每個(gè)差值進(jìn)行平方運(yùn)算,將所得的平
方值全部相加,得到與該像素塊對(duì)應(yīng)的和值;
比較每個(gè)像素塊對(duì)應(yīng)的和值,選出和值最小的像素塊;
其中,相似度與上述求得和值成反比,和值越小,相似度越高,和值最小
的像素塊對(duì)應(yīng)的相似度最高。
若空洞與中間視圖右邊緣有重合部分,對(duì)和值最小的像素塊的每一行,以
該像素塊右邊緣上的該行的像素為起始,在水平方向上按照從左至右的順序,
取與空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素,這些像素組成一個(gè)沒(méi)有空洞的像素
塊,該像素塊的形狀、面積均與上述空洞相同,將該像素塊作為與上述空洞相
似度最高的像素塊;若空洞與中間視圖右邊緣沒(méi)有重合部分,對(duì)和值最小的像素塊的每一行, 以該像素塊左邊緣上的該行的像素為起始,在水平方向上按照從右至左的順序, 取與空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素,這些像素組成一個(gè)沒(méi)有空洞的像素 塊,該像素塊的形狀、面積均與上述空洞相同,將該像素塊作為與上述空洞相 似度最高的像素塊。
其中,在垂直方向上取像素時(shí),可以從上至下、從下至上或隨機(jī)選取,本 發(fā)明對(duì)此不作限制。
307:將相似度最高的像素塊復(fù)制并填補(bǔ)到空洞中。
若空洞與中間視圖右邊緣有重合部分,從該像素塊的左邊緣開(kāi)始,按照水 平方向從左至右的順序逐行復(fù)制該像素塊中的像素,將所復(fù)制的像素填補(bǔ)到中 間視圖中的上述空洞中;
若空洞與中間視圖右邊緣沒(méi)有重合部分,從該像素塊的右邊緣開(kāi)始,按照 水平方向從右至左的順序逐行復(fù)制該像素塊中的像素,將所復(fù)制的像素填補(bǔ)到 中間視圖中的上述空洞中。
其中,垂直方向的復(fù)制順序可以是從上到下、從下到上或隨機(jī)選取,本實(shí) 施例中不做具體限定。
示侈ij^口下仿'J^口,
將待處理圖像的左視圖記為L(zhǎng),右視圖記為R?;贚和R,按照計(jì)算深度 圖的算法進(jìn)行計(jì)算,獲得與L相對(duì)應(yīng)的深度圖,將該深度圖記為D。根據(jù)L和D 進(jìn)行渲染,渲染出中間#見(jiàn)圖,將該中間^f見(jiàn)圖記為V;
在V中的每一行從空洞左邊緣的點(diǎn)開(kāi)始從右向左數(shù)M個(gè)像素,設(shè)其每列有 /ze妙,個(gè)像素,將這個(gè)像素塊作為比較像素塊。在V中,對(duì)每一行從右至左進(jìn)行 掃描,假設(shè)第Y行最右邊的空洞內(nèi)像素的個(gè)數(shù)是A^,把這M個(gè)交疊像素自右至
左依次記為/2p/22…Z^ ;
在R中選取一個(gè)尋找區(qū)域,該尋找區(qū)域每一行有《個(gè)像素,以第w,i個(gè)像 素開(kāi)始,從右至左,每平移一個(gè)像素,選取一個(gè)與比較像素塊形狀、面積均相200910088300.9
同的像素塊,在第Y行,即有讀取第A^+hl個(gè)到第iV"/t + M個(gè)像素,共M個(gè)像
素,其中"0..《—",把這"個(gè)像素自右至左依次記為//1+/1,//2+廣.^^,即隨著A:的 取值不同,得到M + l個(gè)由M個(gè)像素組成的像素塊;
對(duì)尋找區(qū)域中選取的每個(gè)像素塊進(jìn)行如下運(yùn)算將V和R中的第Y行中的 像素按照公式Z (/^-7/^f進(jìn)行計(jì)算,得到兩圖中每一行所有位置對(duì)應(yīng)的像素
的像素差的平方和,對(duì)這些和值進(jìn)行求和運(yùn)算,按照公式
/附=S Z (&麵-A+^e)2,"0..A-M進(jìn)行運(yùn)算,求的尋找區(qū)域中選取的每 個(gè)^象素塊相只十應(yīng)的值;
比較ww值的大小,選出與最小的^w值相對(duì)應(yīng)的像素塊,并確定it值,與最 d 、的w 值相對(duì)應(yīng)的像素塊右邊的與空洞大小形狀相同的像素塊即是與空洞相 似度最高的像素塊,將該像素塊復(fù)制并填補(bǔ)到中間視圖的空洞中。具體地,由
所確定的k值,將第w,yt個(gè)像素以右的^個(gè)像素按照從左至右的順序復(fù)制到中 間視圖V第Y行的空洞中,即、^一,、4 ^,一-"…K = 1 ,對(duì)每一行進(jìn)行如上 所述的填補(bǔ),就可以填補(bǔ)V中與中間視圖右邊緣有重合部分的空洞。
通過(guò)利用左右視圖和一張深度圖進(jìn)行圖像渲染,在渲染過(guò)程中對(duì)產(chǎn)生的大 小空洞分別進(jìn)行處理,先處理較小的空洞,再利用尋找相似度最高的像素塊的 方法對(duì)大空洞進(jìn)行處理,不僅簡(jiǎn)化了現(xiàn)有渲染算法的復(fù)雜性,加快了渲染的速 度,而且大大增強(qiáng)了空洞的填補(bǔ)效果。
實(shí)施例3
參見(jiàn)圖4,本發(fā)明實(shí)施例提供了一種渲染圖像的方法,其中第一視圖為右視 圖,第二視圖為左^見(jiàn)圖,具體包括
401:根據(jù)待處理圖像的左視圖和右視圖,對(duì)右視圖進(jìn)行計(jì)算,得到與右視 圖相對(duì)應(yīng)的深度402:根據(jù)右視圖和深度圖進(jìn)行渲染,得到中間視403:根據(jù)預(yù)設(shè)的閥值,對(duì)中間視圖上的空洞的面積進(jìn)行檢測(cè)并判斷;404:在中間視圖中,選取一個(gè)像素塊作為比較像素塊; 具體地,選取比較像素塊的方法為
若空洞與中間視圖左邊緣有重合部分,相應(yīng)邊緣指的是該空洞的右邊緣, 則在空洞右邊的區(qū)域中選取比較像素塊,在水平方向上按照從左至右的順序, 在空洞的范圍之夕卜,取預(yù)設(shè)個(gè)數(shù)的像素,這些像素組成一個(gè)沒(méi)有空洞的像素塊, 將該像素塊作為比較像素塊;
若空洞與中間視圖左邊緣沒(méi)有重合部分,相應(yīng)邊緣指的是該空洞的左邊緣, 則在空洞左邊的區(qū)域中選取比較像素塊,在水平方向上按照從右至左的順序, 在空洞的范圍之外,取預(yù)設(shè)個(gè)數(shù)的像素,這些像素組成一個(gè)沒(méi)有空洞的像素塊, 將該像素塊作為比較像素塊。
其中,與中間視圖左邊緣有重合部分的空洞是由右視圖中最左邊的場(chǎng)景點(diǎn) 在中間視圖中的投影位置相對(duì)于該場(chǎng)景點(diǎn)在右視圖中的投影位置向右偏移造成 的。
其中,在垂直方向上取像素時(shí),可以從上至下、從下至上或隨機(jī)選取,本
發(fā)明對(duì)此不作限制。
其中,像素的預(yù)設(shè)個(gè)數(shù)可以按照實(shí)際需要進(jìn)行選取,每行的預(yù)設(shè)個(gè)數(shù)可以
相等,也可以不相等,本發(fā)明對(duì)此不作限制。
405:在左視圖中選取一個(gè)尋找區(qū)域,將該區(qū)域作為尋找并復(fù)制像素的區(qū)域; 其中,尋找區(qū)域的選取方法為在所述中間視圖中,以所述比較像素塊為
起始?jí)K,在所述空洞范圍之外,選取一個(gè)包含所述起始?jí)K的比較區(qū)域,在所述
左視圖中選取與所述比較區(qū)域相對(duì)應(yīng)的區(qū)域作為尋找區(qū)域。
其中,尋找區(qū)域的大小需按照實(shí)際需要進(jìn)行選取,本發(fā)明對(duì)此不作限制。 406:基于中間視圖和左視圖,尋找與上述空洞相似度最高的像素塊; 具體地,尋找與上述空洞相似度最高的像素塊的方法是 在尋找區(qū)域中沿遠(yuǎn)離空洞的方向,每平移一個(gè)像素選取一個(gè)與比較像素塊
形狀、面積均相同的像素塊,將比較像素塊中的每個(gè)像素與該像素塊中和像素位置相對(duì)應(yīng)的像素相減,并分別對(duì)得到的每個(gè)差值進(jìn)行平方運(yùn)算,將所得的平
方值全部相加,得到與該像素塊對(duì)應(yīng)的和值;
比較每個(gè)像素塊對(duì)應(yīng)的和值,選出和值最小的像素塊;
其中,相似度與上述求得和值成反比,和值越小,相似度越高,和值最小 的像素塊對(duì)應(yīng)的相似度最高。
若空洞與中間視圖左邊緣有重合部分,對(duì)和值最小的像素塊的每一行,以 該像素塊左邊緣上的該行的像素為起始,在水平方向上按照從右至左的順序, 取與空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素,這些像素組成一個(gè)沒(méi)有空洞的像素 塊,該像素塊的形狀、面積均與上述空洞相同,將該像素塊作為與上述空洞相 似度最高的像素塊;
若空洞與中間視圖左邊緣沒(méi)有重合部分,對(duì)和值最小的像素塊的每一行, 以該像素塊右邊緣上的該行的像素為起始,在水平方向上^t姿照從左至右的順序, 取與空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素,這些像素組成一個(gè)沒(méi)有空洞的像素 塊,該像素塊的形狀、面積均與上述空洞相同,將該像素塊作為與上述空洞相 似度最高的像素塊。
其中,在垂直方向上取像素時(shí),可以從上至下、 >人下至上或隨機(jī)選取,本 發(fā)明對(duì)此不作限制。
407:將相似度最高的^f象素塊復(fù)制并填補(bǔ)到空洞中。
若空洞與中間視圖左邊緣有重合部分,從該像素塊的右邊緣開(kāi)始,按照水 平方向從右至左的順序逐行復(fù)制該像素塊中的像素,將所復(fù)制的像素填補(bǔ)到中 間視圖中的上述空洞中;
若空洞與中間視圖左邊緣沒(méi)有重合部分,從該像素塊的左邊緣開(kāi)始,按照 水平方向從左至右的順序逐行復(fù)制該像素塊中的像素,將所復(fù)制的像素填補(bǔ)到 中間視圖中的上述空洞中。
通過(guò)利用左右視圖和一張深度圖進(jìn)行圖像渲染,在渲染過(guò)程中對(duì)產(chǎn)生的大 小空洞分別進(jìn)行處理,先處理較小的空洞,再利用尋找相似度最高的像素塊的方法對(duì)大空洞進(jìn)行處理,不僅簡(jiǎn)化了現(xiàn)有渲染算法的復(fù)雜性,加快了渲染的速 度,而且大大增強(qiáng)了空洞的填補(bǔ)效果。
實(shí)施例4
參見(jiàn)圖5,本發(fā)明實(shí)施例提供了 一種渲染圖像的裝置,用于對(duì)圖像進(jìn)行渲染, 包括
深度圖計(jì)算模塊501,用于在待處理圖像的左視圖和右視圖中任選一個(gè)作為 第一視圖,另一個(gè)作為第二視圖,對(duì)第一視圖進(jìn)行求深度圖計(jì)算,得到與第一 視圖相對(duì)應(yīng)的深度其中,計(jì)算深度圖的算法是多種,本實(shí)施例中不做具體限定。
渲染模塊502,用于根據(jù)第一視圖和深度圖計(jì)算模塊501得到的深度圖進(jìn)行 渲染,得到中間^L其中,渲染的方法可以是多種,本實(shí)施例中不做具體限定。
第一填補(bǔ)模塊503,用于根據(jù)預(yù)設(shè)的閥值,填補(bǔ)渲染模塊502得到的中間視 圖中面積小于所述閥值的空洞;
計(jì)算模塊504,用于根據(jù)中間視圖和第二視圖從第二視圖中尋找與中間視圖 中面積大于所述閥值的空洞相似度最高的像素塊;
第二填補(bǔ)模塊505,用于將計(jì)算模塊504得到的像素塊復(fù)制并填補(bǔ)到空洞中。
具體地,計(jì)算模塊504包括
比較像素塊選取單元5041,用于在中間視圖中,根據(jù)空洞的位置,沿空洞 的相應(yīng)邊緣,在空洞范圍之外,取預(yù)設(shè)個(gè)數(shù)的像素,組成比較像素塊;
尋找區(qū)域選取單元5042,用于在所述中間視圖中,以所述比較像素塊為起 始?jí)K,在所述空洞范圍之外,選取一個(gè)包含所述起始?jí)K的比較區(qū)域,在所述第 二視圖中選取與所述比較區(qū)域相對(duì)應(yīng)的區(qū)域作為尋找區(qū)域;
相似度計(jì)算單元5043,用于在尋找區(qū)域中沿遠(yuǎn)離空洞的方向,每平移一個(gè) 像素選取一個(gè)與比較像素塊形狀、面積均相同的像素塊,將比較像素塊中的每 個(gè)像素與該像素塊中和像素位置相對(duì)應(yīng)的像素相減,并分別對(duì)得到的每個(gè)差值進(jìn)行平方運(yùn)算,將所得的平方值全部相加,得到與該-隊(duì)素塊對(duì)應(yīng)的和值;
比較單元5044,用于比較每個(gè)像素塊對(duì)應(yīng)的和值,選出和值最小的像素塊; 選取單元5045,用于根據(jù)空洞在中間視圖上的位置,對(duì)和值最小的像素塊
的每一行,以該像素塊相應(yīng)邊緣上的該行的像素為起始,取與空洞中所對(duì)應(yīng)的
行中同等數(shù)量的像素,將由這些像素組成的沒(méi)有空洞的像素塊作為與空洞相似
度最高的像素塊。
在本實(shí)施例中,第一視圖可以為左視圖,第二視圖可以為右視圖,比較像 素塊選取單元5041具體包括
第一比較像素塊選取子單元5041a,用于若中間視圖中的空洞與中間視圖的 右邊緣有重合部分,在空洞左邊的區(qū)域中選取比較像素塊;若中間視圖中的空 洞與中間視圖的右邊緣沒(méi)有重合部分,在空洞右邊的區(qū)域中選取比較像素塊;
相應(yīng)地,選取單元5045具體包括
第一選取子單元5045a,用于若中間視圖中的空洞與中間視圖的右邊緣有重 合部分,對(duì)和值最小的像素塊的每一行,以該像素塊右邊緣上的該行的像素為 起始,在水平方向上按照從左至右的順序,取與空洞中所對(duì)應(yīng)的行中同等數(shù)量 的像素,將由這些像素組成的沒(méi)有空洞的像素塊作為與空洞相似度最高的像素 塊;若中間視圖中的空洞與中間視圖的右邊緣沒(méi)有重合部分,對(duì)和值最小的像 素塊的每一行,以該像素塊左邊緣上的該行的像素為起始,在水平方向上按照 從右至左的順序,取與空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素,將由這些像素組 成的沒(méi)有空洞的像素塊作為與空洞相似度最高的像素塊。
另外,還可以第一視圖為右視圖,第二視圖為左碎見(jiàn)圖,比較像素塊選取單 元5041具體包括
第二比較像素塊選取子單元5041b,用于若中間^L圖中的空洞與中間視圖的 左邊緣有重合部分,在空洞右邊的區(qū)域中選取比較像素塊;若中間視圖中的空 洞與中間視圖的左邊緣沒(méi)有重合部分,在空洞左邊的區(qū)域中選取比較像素塊;
相應(yīng)地,選取單元5045具體包括第二選取子單元5045b,用于若中間視圖中的空洞與中間視圖的左邊緣有重 合部分,對(duì)和值最小的像素塊的每一行,以該像素塊左邊緣上的該行的像素為 起始,在水平方向上按照從右至左的順序,取與空洞中所對(duì)應(yīng)的行中同等數(shù)量 的像素,將由這些像素組成的沒(méi)有空洞的像素塊作為與空洞相似度最高的像素 塊;若中間視圖中的空洞與中間視圖的左邊緣沒(méi)有重合部分,對(duì)和值最小的像 素塊的每一行,以該像素塊右邊緣上的該行的像素為起始,在水平方向上按照 從左至右的順序,取與空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素,將由這些像素組 成的沒(méi)有空洞的像素塊作為與空洞相似度最高的像素塊。
通過(guò)利用左右視圖和一張深度圖進(jìn)行圖像渲染,在渲染過(guò)程中對(duì)產(chǎn)生的大 小空洞分別進(jìn)行處理,先處理較小的空洞,再利用尋找相似度最高的像素塊的 方法對(duì)大空洞進(jìn)行處理,不僅簡(jiǎn)化了現(xiàn)有渲染算法的復(fù)雜性,加快了渲染的速 度,而且大大增強(qiáng)了空洞的填補(bǔ)效果。
本發(fā)明實(shí)施例提供的上述技術(shù)方案的全部或部分可以通過(guò)程序指令相關(guān)的 硬件來(lái)完成,所述程序可以存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)中,該存儲(chǔ)介質(zhì)包括R0M、 RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的 精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的 保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種渲染圖像的方法,其特征在于,所述方法包括在待處理圖像的左視圖和右視圖中任選一個(gè)作為第一視圖,另一個(gè)作為第二視圖,對(duì)所述第一視圖進(jìn)行求深度圖計(jì)算,得到與所述第一視圖相對(duì)應(yīng)的深度圖;根據(jù)所述第一視圖和所述深度圖進(jìn)行渲染,得到中間視圖;根據(jù)預(yù)設(shè)閥值,填補(bǔ)所述中間視圖中面積小于所述閥值的空洞;根據(jù)所述中間視圖和所述第二視圖,從所述第二視圖中尋找與所述中間視圖中面積大于所述閥值的空洞相似度最高的像素塊;將所述像素塊復(fù)制并填補(bǔ)到所述空洞中。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述中間視圖和所述第 二視圖,從所述第二視圖中尋找與所述中間視圖中面積大于所述閥值的空洞相 似度最高的像素塊,具體包括在所述中間-視圖中,4艮據(jù)所述空洞的位置,沿所述空洞的相應(yīng)邊緣,在所 述空洞范圍之外,取預(yù)設(shè)個(gè)數(shù)的像素,組成比較像素塊;在所述中間視圖中,以所述比較像素塊為起始?jí)K,在所述空洞范圍之外, 選取一個(gè)包含所述起始?jí)K的比較區(qū)域,在所述第二視圖中選取與所述比較區(qū)域 相對(duì)應(yīng)的區(qū)域作為尋找區(qū)域;在所述尋找區(qū)域中沿遠(yuǎn)離所述空洞的方向,每平移一個(gè)像素選取一個(gè)與所 述比較像素塊形狀、面積均相同的像素塊,對(duì)于每個(gè)選出的像素塊,將所述比 較像素塊中的每個(gè)像素與所述像素塊中和所述像素位置相對(duì)應(yīng)的像素相減,并 分別對(duì)得到的每個(gè)差值進(jìn)行平方運(yùn)算,將所得的平方值全部相加,得到與所述 像素塊對(duì)應(yīng)的和值;比較每個(gè)像素塊對(duì)應(yīng)的和值,選出和值最小的像素塊;根據(jù)所述空洞在所述中間視圖上的位置,對(duì)所述和值最小的像素塊的每一 行,以所述像素塊相應(yīng)邊緣上的該行的像素為起始,取與所述空洞中所對(duì)應(yīng)的 行中同等數(shù)量的像素,將由所迷像素組成的沒(méi)有空洞的像素塊作為與所述空洞 相似度最高的像素塊。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一視圖為左視圖,所 述第二視圖為右視圖,在所述中間視圖中,根據(jù)所述空洞的位置,沿所述空洞 的相應(yīng)邊緣,在所述空洞范圍之外,取預(yù)設(shè)個(gè)數(shù)的像素,組成比較像素塊,具體包括若所述中間視圖中的空洞與所述中間視圖的右邊緣有重合部分,在所述空 洞左邊的區(qū)域中選取所述比較像素塊;若所述中間視圖中的空洞與所述中間視圖的右邊緣沒(méi)有重合部分,在所述 空洞右邊的區(qū)域中選取所述比較像素塊;根據(jù)所述空洞在中間視圖上的位置,對(duì)所述和值最小的像素塊的每一行, 以所述像素塊相應(yīng)邊緣上的該行的像素為起始,取與所述空洞中所對(duì)應(yīng)的行中 同等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似 度最高的像素塊,具體包括若所述中間視圖中的空洞與所述中間視圖的右邊緣有重合部分,對(duì)和值最 小的像素塊的每一行,以所述像素塊右邊緣上的該行的像素為起始,在水平方 向上按照從左至右的順序,取與所述空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素,將 由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似度最高的像素塊;若所述中間視圖中的空洞與所述中間視圖的右邊緣沒(méi)有重合部分,對(duì)和值 最小的像素塊的每一行,以所述像素塊左邊緣上的該行的像素為起始,在水平 方向上按照從右至左的順序,取與所述空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素, 將由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似度最高的像素塊。
4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一視圖為右^L圖,所 述第二視圖為左視圖,在所述中間視圖中,根據(jù)所述空洞的位置,沿所述空洞 的相應(yīng)邊緣,在所述空洞范圍之外,取預(yù)設(shè)個(gè)數(shù)的像素,組成比較像素塊,具 體包括若所述中間視圖中的空洞與所述中間視圖的左邊緣有重合部分,在所迷空 洞右邊的區(qū)域中選取所述比較像素塊;若所述中間視圖中的空洞與所述中間視圖的左邊緣沒(méi)有重合部分,在所述 空洞左邊的區(qū)域中選取所述比像素塊;根據(jù)所述空洞在中間視圖上的位置,對(duì)所述和值最小的像素塊的每一行, 以所述像素塊相應(yīng)邊緣上的該行的像素為起始,取與所述空洞中所對(duì)應(yīng)的行中 同等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似 度最高的像素塊,具體包括若所述中間視圖中的空洞與所述中間視圖的左邊緣有重合部分,對(duì)和值最 小的像素塊的每一行,以所述像素塊左邊緣上的該行的像素為起始,在水平方 向上按照從右至左的順序,取與所述空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素,將 由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似度最高的像素塊;若所述中間視圖中的空洞與所述中間視圖的左邊緣沒(méi)有重合部分,對(duì)和值 最小的像素塊的每一行,以所述像素塊右邊緣上的該行的像素為起始,在水平 方向上按照從左至右的順序,取與所述空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素, 將由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似度最高的像素塊。
5. —種渲染圖像的裝置,其特征在于,所述裝置包括深度圖計(jì)算模塊,用于在待處理圖像的左視圖和右視圖中任選一個(gè)作為第 一視圖,另一個(gè)作為第二視圖,對(duì)所述第一視圖進(jìn)行求深度圖計(jì)算,得到與所 述第一^L圖相對(duì)應(yīng)的深度圖;渲染模塊,用于根據(jù)所述第一視圖和所述深度圖計(jì)算模塊得到的深度圖進(jìn)行渲染,得到中間視圖;第一填補(bǔ)模塊,用于根據(jù)預(yù)設(shè)的閥值,填補(bǔ)所述渲染模塊得到的中間視圖 中面積小于所述閥值的空洞;計(jì)算模塊,由于根據(jù)所述中間視圖和所述第二視圖,從所述第二視圖中尋找與所述中間視圖中面積大于所述閥值的空洞相似度最高的像素塊; 第二填補(bǔ)模塊,用于將所述像素塊復(fù)制并填補(bǔ)到所述空洞中。
6. 如權(quán)利要求5所述的裝置,其特征在于,所述計(jì)算模塊具體包括 比較像素塊選取單元,用于在所述中間視圖中,根據(jù)所述空洞的位置,沿所述空洞的相應(yīng)邊緣,在所述空洞范圍之外,取預(yù)設(shè)個(gè)數(shù)的像素,組成比較像 素塊;尋找區(qū)域選取單元,用于在所述中間視圖中,以所述比較像素塊為起始?jí)K, 在所述空洞范圍之外,選取一個(gè)包含所述起始?jí)K的比較區(qū)域,在所述第二視圖 中選取與所述比較區(qū)域相對(duì)應(yīng)的區(qū)域作為尋找區(qū)域;相似度計(jì)算單元,用于在所述尋找區(qū)域中沿遠(yuǎn)離所述空洞的方向,每平移 一個(gè)像素選取一個(gè)與所述比較像素塊形狀、面積均相同的像素塊,將所述比較 像素塊中的每個(gè)像素與所述像素塊中和所述像素位置相對(duì)應(yīng)的像素相減,并分 別對(duì)得到的每個(gè)差值進(jìn)行平方運(yùn)算,將所得的平方值全部相加,得到與所述像 素塊對(duì)應(yīng)的和值;比較單元,用于比較每個(gè)像素塊對(duì)應(yīng)的和值,選出和值最小的像素塊; 選取單元,用于根據(jù)所述空洞在中間視圖上的位置,對(duì)所述和值最小的像 素塊的每一行,以所述像素塊相應(yīng)邊緣上的該行的像素為起始,取與所述空洞 中所對(duì)應(yīng)的行中同等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的像素塊作為 與所述空洞相似度最高的像素塊。
7. 如權(quán)利要求6所述的裝置,其特征在于,所述第一視圖為左視圖,所述第二視圖為右^L圖,所述比較像素塊選取單元具體包括第一比較像素塊選取子單元,用于若所述中間-脫圖中的空洞與所述中間禍L 圖的右邊緣有重合部分,在所述空洞左邊的區(qū)域中選取所述比較像素塊;若所 述中間視圖中的空洞與所述中間視圖的右邊緣沒(méi)有重合部分,在所述空洞右邊 的區(qū)域中選取所述比較像素塊;所述第一視圖為左視圖,所述第二視圖為右視圖,所述選取單元具體包括 第 一選取子單元,用于若所述中間視圖中的空洞與所述中間視圖的右邊緣 有重合部分,對(duì)和值最小的像素塊的每一行,以所述#^素塊右邊緣上的該行的 像素為起始,在水平方向上按照從左至右的順序,取與所述空洞中所對(duì)應(yīng)的行 中同等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相 似度最高的像素塊;若所述中間視圖中的空洞與所述中間視圖的右邊緣沒(méi)有重 合部分,對(duì)和值最小的像素塊的每一行,以所述像素塊左邊緣上的該行的像素 為起始,在水平方向上按照從右至左的順序,取與所述空洞中所對(duì)應(yīng)的行中同 等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似度 最高的像素塊。
8.如權(quán)利要求6所述的裝置,其特征在于,所迷第一視圖為右視圖,所述 第二視圖為左視圖,所述比4交^象素塊選取單元具體包括第二比較像素塊選取子單元,用于若所述中間^見(jiàn)圖中的空洞與所述中間4見(jiàn) 圖的左邊緣有重合部分,在所述空洞右邊的區(qū)域中選取所述比較像素塊;若所 述中間視圖中的空洞與所述中間視圖的左邊緣沒(méi)有重合部分,在所述空洞左邊 的區(qū)域中選取所述比較像素塊;所述第一視圖為右視圖,所述第二視圖為左視圖,所述選取單元具體包括第二選取子單元,用于若所述中間視圖中的空洞與所述中間視圖的左邊緣 有重合部分,對(duì)和值最小的像素塊的每一行,以所述像素塊左邊緣上的該行的 像素為起始,在水平方向上按照從右至左的順序,取與所述空洞中所對(duì)應(yīng)的行中同等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的^f象素塊作為與所述空洞相似度最高的像素塊;若所述中間視圖中的空洞與所述中間視圖的左邊緣沒(méi)有重合部分,對(duì)和值最小的像素塊的每一行,以所述像素塊右邊緣上的該行的像素 為起始,在水平方向上4姿照從左至右的順序,耳又與所述空洞中所對(duì)應(yīng)的行中同 等數(shù)量的像素,將由所述像素組成的沒(méi)有空洞的像素塊作為與所述空洞相似度 最高的像素塊。
全文摘要
本發(fā)明公開(kāi)了一種渲染圖像的方法和裝置,屬于圖像處理領(lǐng)域。所述方法包括在待處理圖像的左視圖和右視圖中任選一個(gè)作為第一視圖,另一個(gè)作為第二視圖,對(duì)第一視圖進(jìn)行求深度圖計(jì)算,得到與第一視圖相對(duì)應(yīng)的深度圖;根據(jù)第一視圖和深度圖進(jìn)行渲染,得到中間視圖;根據(jù)預(yù)設(shè)閥值,填補(bǔ)中間視圖中面積小于閥值的空洞;根據(jù)中間視圖和第二視圖,從第二視圖中尋找與中間視圖中面積大于閥值的空洞相似度最高的像素塊;將像素塊復(fù)制并填補(bǔ)到空洞中。所述模塊包括深度圖計(jì)算模塊、渲染模塊、第一填補(bǔ)模塊、計(jì)算模塊和第二填補(bǔ)模塊。本發(fā)明不僅簡(jiǎn)化了現(xiàn)有渲染算法的復(fù)雜性,加快了渲染的速度,而且大大增強(qiáng)了空洞的填補(bǔ)效果。
文檔編號(hào)G06T15/00GK101610423SQ200910088300
公開(kāi)日2009年12月23日 申請(qǐng)日期2009年7月13日 優(yōu)先權(quán)日2009年7月13日
發(fā)明者吳華娟, 戴瓊海, 汛 曹 申請(qǐng)人:清華大學(xué)