国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法

      文檔序號(hào):6398701閱讀:241來源:國知局
      專利名稱:一種基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法。
      背景技術(shù)
      景深是指在攝影機(jī)鏡頭或其他成像器前沿著能夠取得清晰圖像的成像景深相機(jī)器軸線所測定的物體距離范圍。在聚焦完成后,在焦點(diǎn)前后的范圍內(nèi)都能形成清晰的像,這一前一后的距離范圍,便叫做景深。在鏡頭前方(調(diào)焦點(diǎn)的前、后)有一段一定長度的空間,當(dāng)被攝物體位于這段空間內(nèi)時(shí),其在底片上的成像恰位于焦點(diǎn)前后這兩個(gè)彌散圓之間。被攝體所在的這段空間的長度,就叫景深。換言之,在這段空間內(nèi)的被攝體,其呈現(xiàn)在底片面的影像模糊度,都在容許彌散圓的限定范圍內(nèi),這段空間的長度就是景深。景深是人眼視覺系統(tǒng)中成像的重要特征。人眼對(duì)現(xiàn)實(shí)世界成像時(shí),自動(dòng)調(diào)節(jié)焦距以適應(yīng)不同的取景距離,眼睛注視的物體便處于聚焦平面(focus plane)上,因此,清晰成像于視網(wǎng)膜;而處于聚焦平面之外的物體,成像便模糊不清。透鏡(瞳孔)的焦距、直徑,以及物距共同決定了物體成像時(shí)的模糊程度。這樣,加入了景深效果的整個(gè)場景則顯得真實(shí)、自然,并且能夠得到由景深所帶的深度暗示。有助于立體照片的合成以及緩解虛擬現(xiàn)實(shí)系統(tǒng)中常有的眼睛疲勞,增強(qiáng)場景的真實(shí)感、沉浸感。近年來,在計(jì)算機(jī)圖形學(xué)領(lǐng)域中出現(xiàn)了許多關(guān)于景深渲染的算法研究,這些算法主要?dú)w為以下三類:
      a)后處理濾波:其算法采用標(biāo)準(zhǔn)針孔相機(jī)模型渲染場景,并輸出每個(gè)像素的深度值ζ ;根據(jù)深度值ζ、光圈、焦距等將每個(gè)采樣點(diǎn)轉(zhuǎn)換為不同大小、強(qiáng)度分布的模糊圈(CoC);每個(gè)像素的最終值由覆蓋它的所有模糊圈的加權(quán)平均值確定。Potmesil采用了 Lommel強(qiáng)度分布函數(shù)計(jì)算點(diǎn)對(duì)周圍像素的影響;Chen也采用了類似的方法來計(jì)算強(qiáng)度分布;周強(qiáng)等人采用了均值濾波得到模糊圖像,再與清晰圖像融合,實(shí)時(shí)地模擬了景深效果。Potmesil和Chen的算法都是采用軟件實(shí)現(xiàn),運(yùn)算全由CPU負(fù)擔(dān),運(yùn)行時(shí)間較長,難以滿足虛擬現(xiàn)實(shí)等高實(shí)時(shí)性的要求。Rokita提出使用特殊的數(shù)字硬件濾波器以加速DoF效果的產(chǎn)生,它采用多次高斯卷積濾波將像素值融合到周圍像素中,達(dá)到模糊的效果,由于采用了卷積濾波技術(shù),引起像素的強(qiáng)度滲漏,引起前后景物體混合模糊、聚焦面上的物體與前景或后景的模糊物體混合模糊等。周強(qiáng)等人的算法雖滿足實(shí)時(shí)性,但均值濾波會(huì)引起強(qiáng)度滲漏,且融合時(shí)未考慮模糊圈內(nèi)的像素,精度不高。b)多次渲染:其采用針孔相機(jī)模型,通過每次細(xì)微地改變投影中心,并保持聚焦面不變,然后將渲染結(jié)果累積保存,最終便得到一幅具有景深效果的圖像圖。但是,多次渲染所得的景深效果重影較重,缺乏真實(shí)感。c)反向光線跟蹤:此類算法僅限于幾何場景,并采用真實(shí)透鏡模型,因此,速度難以滿足虛擬現(xiàn)實(shí)系統(tǒng)的要求。目前,很多算法需要大量的計(jì)算或缺乏精度,而傳統(tǒng)景深算法的大量代數(shù)運(yùn)算均由CPU完成,大大限制了景深模擬的速度;此外,傳統(tǒng)的分區(qū)模糊算法需要進(jìn)行的模糊圖與原圖混合的步驟,降低了景深模擬的精確度。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種新型的基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法,利用GPU的并行性和可編程能力,將大量代數(shù)運(yùn)算從CPU轉(zhuǎn)移至GPU,不僅釋放了 CPU,而且減少了 CPU與GPU的通信量,大大提高了景深模擬的速度;同時(shí),分區(qū)模糊算法直接對(duì)原圖進(jìn)行處理,省去了傳統(tǒng)算法需要進(jìn)行的模糊圖與原圖混合的步驟,進(jìn)一步提高了景深模擬的精確度。本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:一種基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法,它包括以下步驟:
      51:將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的文件形式,充分利用圖形處理器GPU的并行性和可編程能力將大量代數(shù)運(yùn)算從中央處理器CPU轉(zhuǎn)移到圖形處理器GPU ;
      52:對(duì)圖像的特定信息進(jìn)行處理;
      53:根據(jù)圖像的特定信息對(duì)圖像進(jìn)行分區(qū)模糊處理,根據(jù)特定信息來決定圖像在不同區(qū)域采用不同的模糊半徑,從而模擬出景深效果。以水平模糊為例,模糊的方法是采用當(dāng)前象素點(diǎn)與其左右兩邊附近的兩個(gè)象素點(diǎn)進(jìn)行混合,若所取的兩個(gè)象素點(diǎn)離當(dāng)前象素越近,則模糊程度越小,畫面越清晰;反之則模糊程度越大,畫面越模糊。因此,可以通過控制模糊函數(shù)中左右兩邊象素點(diǎn)的距離來實(shí)現(xiàn)不同程度的模糊效果。將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的文件形式的一種方法為:將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的紋理數(shù)據(jù)。進(jìn)一步地,將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的紋理數(shù)據(jù)的步驟為:使用DirectX提供的函數(shù)“D3DXllCreateTextureFromFile”將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的紋理數(shù)據(jù)。將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的文件形式的另一種方法包括以下步驟:
      A:將待處理的圖像讀入內(nèi)存;
      B:用OpenGL或DirectX提供的函數(shù)將內(nèi)存里的數(shù)據(jù)上行到圖形處理器GPU中。所述的特定信息包括圖像的深度信息(簡稱:Z信息)。進(jìn)一步地,對(duì)圖像的深度信息進(jìn)行處理的步驟包括以下兩方面:
      (1)對(duì)于三維場景,直接使用圖像的深度信息;
      (2)對(duì)于二維場景,通過對(duì)二維場景進(jìn)行處理,獲取其深度信息。進(jìn)一步地,對(duì)二維場景進(jìn)行處理獲取其深度信息的步驟包括:對(duì)二維場景以圖像垂直中心軸Y軸進(jìn)行旋轉(zhuǎn),旋轉(zhuǎn)后,除了圖像垂直中心軸上的象素值對(duì)應(yīng)的深度值與旋轉(zhuǎn)前二維場景對(duì)應(yīng)的深度值相同,其它值均不與旋轉(zhuǎn)前二維場景對(duì)應(yīng)的深度值相同。假設(shè)不旋轉(zhuǎn)時(shí)二維場景對(duì)應(yīng)的Z值為0,那么旋轉(zhuǎn)后,除了圖像垂直中心軸上的象素值對(duì)應(yīng)的Z值為O外,其它值都不為O。對(duì)于二維場景,不一定要使用Z信息,也可以手動(dòng)設(shè)置模糊半徑??梢愿鶕?jù)用戶的不同需求,實(shí)現(xiàn)各種不同的景深效果。例如:在場景上畫一個(gè)圓,規(guī)定圓內(nèi)的模糊半徑為0,圓外模糊半徑呈線性增強(qiáng),便可以出現(xiàn)圓圈里畫面清晰,而離圓越遠(yuǎn)的圖像越模糊的景深效果。本發(fā)明的有益效果是:
      O充分利用GPU的并行性和可編程能力,在渲染時(shí)將場景存為紋理,將大量代數(shù)運(yùn)算從CPU轉(zhuǎn)移至GPU,不僅釋放了 CPU,而且減少了 CPU與GPU的通信量,大大提高了景深模擬的速度;
      2)自行設(shè)計(jì)的分區(qū)模糊算法直接對(duì)原圖進(jìn)行處理,省去了傳統(tǒng)算法需要進(jìn)行的模糊圖與原圖融合的步驟,進(jìn)一步提高了景深模擬的精確度;
      3)圖像更加清晰細(xì)膩,更接近于真實(shí)攝像機(jī)拍攝的景深效果圖,適用于虛擬現(xiàn)實(shí)系統(tǒng)。


      圖1為本發(fā)明實(shí)時(shí)景深模擬方法流程 圖2為經(jīng)過Blur函數(shù)后周圍像素所占權(quán)重的圖。
      具體實(shí)施例方式下面結(jié)合附圖進(jìn)一步詳細(xì)描述本發(fā)明的技術(shù)方案,但本發(fā)明的保護(hù)范圍不局限于以下所述。如圖1所示,一種基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法,它包括以下步驟:
      S1:將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的文件形式,充分利用圖形處理器GPU的并行性和可編程能力將大量代數(shù)運(yùn)算從中央處理器CPU轉(zhuǎn)移到圖形處理器GPU ;將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的文件形式的一種方法為:將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的紋理數(shù)據(jù)。進(jìn)一步地,將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的紋理數(shù)據(jù)的步驟為:使用DirectX提供的函數(shù)“D3DXllCreateTextureFromFile”將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的紋理數(shù)據(jù)。將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的文件形式的另一種方法包括以下步驟:
      A:將待處理的圖像讀入內(nèi)存;
      B:用OpenGL或DirectX提供的函數(shù)將內(nèi)存里的數(shù)據(jù)上行到圖形處理器GPU中。S2:對(duì)圖像的特定信息進(jìn)行處理;
      特定信息包括圖像的深度信息(簡稱:Z信息),進(jìn)一步地,對(duì)圖像的Z信息進(jìn)行處理的步驟包括以下兩方面:
      (1)對(duì)于三維場景,直接使用圖像的深度信息;
      (2)對(duì)于二維場景,通過對(duì)二維場景進(jìn)行處理,獲取其深度信息。進(jìn)一步地,對(duì)二維場景進(jìn)行處理獲取其深度信息的步驟包括:對(duì)二維場景以圖像垂直中心軸Y軸進(jìn)行旋轉(zhuǎn),旋轉(zhuǎn)后,除了圖像垂直中心軸上的象素值對(duì)應(yīng)的深度值與旋轉(zhuǎn)前二維場景對(duì)應(yīng)的深度值相同,其它值均不與旋轉(zhuǎn)前二維場景對(duì)應(yīng)的深度值相同。假設(shè)不旋轉(zhuǎn)時(shí)二維場景對(duì)應(yīng)的Z值為0,那么旋轉(zhuǎn)后,除了圖像垂直中心軸上的象素值對(duì)應(yīng)的Z值為O外,其它值都不為O。對(duì)于二維場景,不一定要使用Z信息,也可以手動(dòng)設(shè)置模糊半徑??梢愿鶕?jù)用戶的不同需求,實(shí)現(xiàn)各種不同的景深效果。例如:在場景上畫一個(gè)圓,規(guī)定圓內(nèi)的模糊半徑為0,圓外模糊半徑呈線性增強(qiáng),便可以出現(xiàn)圓圈里畫面清晰,而離圓越遠(yuǎn)的圖像越模糊的景深效果。S3:根據(jù)圖像的特定信息對(duì)圖像進(jìn)行分區(qū)模糊處理,根據(jù)特定信息來決定圖像在不同區(qū)域采用不同的模糊半徑,從而模擬出景深效果。以水平模糊為例,模糊的方法是采用當(dāng)前象素點(diǎn)與其左右兩邊附近的兩個(gè)象素點(diǎn)進(jìn)行混合,若所取的兩個(gè)象素點(diǎn)離當(dāng)前象素越近,則模糊程度越小,畫面越清晰;反之則模糊程度越大,畫面越模糊。因此,可以通過控制模糊函數(shù)中左右兩邊象素點(diǎn)的距離來實(shí)現(xiàn)不同程度的模糊效果。該分區(qū)模糊處理算法適合GPU,圖像模糊程度是通過做模糊函數(shù)的次數(shù)來決定的,而每次模糊函數(shù)的模糊半徑不同,如圖2所示,給出了經(jīng)過Blur函數(shù)后周圍像素所占權(quán)重的圖。模糊函數(shù)的次數(shù)可以用log(l.f + nBlurRadius) / log(2.f)進(jìn)行計(jì)算,這樣可以保證:過最后一次模糊函數(shù)時(shí)處理的是本像素點(diǎn)最近的兩個(gè)點(diǎn)。1: float txSize[2] = {nBlurRadius/width, nBlurRaidus/height};
      2:1nt nPassCount = log(1.f + nBlurRadius)/log(2.f);
      3: for (i = 0; i < nPassCount; i++)
      4: {
      5: txSize *= pow (0.5f, i);
      6: oColor = 0.5f * tex2D (samColor, vTex);
      7: oColor += 0.25f * tex2D (samColor, vTex + txSize);
      8: oColor += 0.25f * tex2D(samColor, vTex - txSize);
      9: } 以設(shè)定的焦距點(diǎn)為原點(diǎn),模糊半徑越來越大,也就是離焦距點(diǎn)越遠(yuǎn)的地方,模糊程度越高。只需要在上面?zhèn)未a的第5行后加一句即可根據(jù)Z信息來實(shí)現(xiàn)分區(qū)模糊。txSize = (fFocus + vPoint.ζ) * txSize;
      其中,vPoint.z表示當(dāng)前點(diǎn)的Z信息。
      權(quán)利要求
      1.一種基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法,其特征在于:它包括以下步驟: 51:將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的文件形式,充分利用圖形處理器GPU的并行性和可編程能力將大量代數(shù)運(yùn)算從中央處理器CPU轉(zhuǎn)移到圖形處理器GPU ; 52:對(duì)圖像的特定信息進(jìn)行處理; S3:根據(jù)圖像的特定信息對(duì)圖像進(jìn)行分區(qū)模糊處理,根據(jù)特定信息來決定圖像在不同區(qū)域采用不同的模糊半徑,從而模擬出景深效果。
      2.根據(jù)權(quán)利要求1所述的一種基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法,其特征在于:所述的將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的文件形式的一種方法為:將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的紋理數(shù)據(jù)。
      3.根據(jù)權(quán)利要求2所述的一種基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法,其特征在于:所述的將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的紋理數(shù)據(jù)的步驟為:使用DirectX提供的函數(shù)“D3DX1 ICreateTextureFromFiIe”將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的紋理數(shù)據(jù)。
      4.根據(jù)權(quán)利要求1所述的一種基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法,其特征在于:所述的將待處理的圖像轉(zhuǎn)換為圖形處理器GPU可以處理的文件形式的另一種方法包括以下步驟: A:將待處理的圖像讀入內(nèi)存; B:用OpenGL或DirectX提供的函數(shù)將內(nèi)存里的數(shù)據(jù)上行到圖形處理器GPU中。
      5.根據(jù)權(quán)利要求1所述的一種基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法,其特征在于:所述的特定信息包括圖像的深度信息。
      6.根據(jù)權(quán)利要求5所述的一種基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法,其特征在于:對(duì)所述的圖像的深度信息進(jìn)行處理包括以下兩方面: (1)對(duì)于三維場景,直接使用圖像的深度信息; (2)對(duì)于二維場景,通過對(duì)二維場景進(jìn)行處理,獲取其深度信息。
      7.根據(jù)權(quán)利要求6所述的一種基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法,其特征在于:所述的對(duì)二維場景進(jìn)行處理獲取其深度信息的步驟包括:對(duì)二維場景以圖像垂直中心軸Y軸進(jìn)行旋轉(zhuǎn),旋轉(zhuǎn)后,除了圖像垂直中心軸上的象素值對(duì)應(yīng)的深度值與旋轉(zhuǎn)前二維場景對(duì)應(yīng)的深度值相同,其它值均不與旋轉(zhuǎn)前二維場景對(duì)應(yīng)的深度值相同。
      全文摘要
      本發(fā)明公開了一種基于圖形處理器分區(qū)模糊的實(shí)時(shí)景深模擬方法,包括以下步驟(1)將待處理的圖像轉(zhuǎn)換為GPU可處理的文件形式;(2)對(duì)圖像的特定信息進(jìn)行處理;(3)根據(jù)圖像的特定信息對(duì)圖像進(jìn)行分區(qū)模糊處理,根據(jù)特定信息來決定圖像在不同區(qū)域采用不同的模糊半徑,從而模擬出景深效果。本發(fā)明充分利用GPU的并行性和可編程能力,在渲染時(shí)將場景存為紋理,將大量代數(shù)運(yùn)算從CPU轉(zhuǎn)移至GPU,不僅釋放了CPU,而且減少了CPU與GPU的通信量,大大提高了景深模擬的速度;分區(qū)模糊算法直接對(duì)原圖進(jìn)行處理,省去了傳統(tǒng)算法模糊圖與原圖融合的步驟,進(jìn)一步提高了景深模擬的精確度;圖像更加清晰細(xì)膩,更接近于真實(shí)攝像機(jī)拍攝的景深效果圖,適用于虛擬現(xiàn)實(shí)系統(tǒng)。
      文檔編號(hào)G06T1/20GK103093416SQ201310031589
      公開日2013年5月8日 申請(qǐng)日期2013年1月28日 優(yōu)先權(quán)日2013年1月28日
      發(fā)明者盛志明, 余剛 申請(qǐng)人:成都索貝數(shù)碼科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1