freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

雙目立體視覺中的三維重建畢業(yè)設(shè)計(jì)論文-資料下載頁

2025-06-28 12:39本頁面
  

【正文】 GBA兩種不同的顏色生成模式,并且還可以在條件不足的情況下同時(shí)兼顧在硬件等,從而顯示豐富的色彩與友好的界面效果。④ 實(shí)物紋理的映射:由于通過繪制基本圖元 我們就可以用OpenGL 來實(shí)現(xiàn)物體的建模,因此,軟件規(guī)定有效的色彩渲染只有基本圖元的才可以獲得,其它通過插值的方法來顯示物體的外表顏色與位置并不夠真實(shí),通過圖像進(jìn)行貼圖來實(shí)現(xiàn)紋理影身將的效果,使生成物體看起來更加的生動(dòng)逼真。⑤ 線段的反走樣:在計(jì)算機(jī)中我們是通過用一系列的類似正方形的小像素模型來無限逼近的模擬合成線段,當(dāng)我們對(duì)其無限的放大之后,我們會(huì)發(fā)現(xiàn)這些線段是呈現(xiàn)出鋸齒的形狀,我們可以通過計(jì)算線段對(duì)每個(gè)像素部分的覆蓋率來最終消除這種不可避免異常走樣問題。⑥ 具有雙緩存動(dòng)畫:OpenGL 可以在前臺(tái)進(jìn)行顯示當(dāng)前幀效果的同時(shí),在后臺(tái)的緩存中完成后續(xù)幀的計(jì)算問題,保證動(dòng)畫播放效果連續(xù)、流暢并且穩(wěn)定。⑦ 圖像產(chǎn)生的特效問題:為了是三維場景中的真實(shí)感增強(qiáng),OpenGL 為我們提供了霧化與融合等圖像顯示相關(guān)的特效,用來增強(qiáng)圖形的最終顯示效果。此外,我們利用 OpenGL 還可以實(shí)現(xiàn)對(duì)深度的暗示、對(duì)運(yùn)動(dòng)圖像的模糊處理等一系列特殊的處理效果,從而最終對(duì)三維圖形完成消隱算法的應(yīng)用。 下的 OpenGL 編程由于簡便易用、跨平臺(tái)性且高效等一系列特點(diǎn)在 OpenGL 中的運(yùn)用,目前其已經(jīng)被當(dāng)做圖形繪制的中三維真實(shí)感實(shí)現(xiàn)的重要標(biāo)準(zhǔn)之一。在GDI的通用設(shè)備上和 Windows 環(huán)境中均可調(diào)用相關(guān)的函數(shù)來完成圖形圖像的制作,OpenGL在三維圖像的繪制過程中采用渲染圖像上下文的方式。在我們創(chuàng)建渲染方法之時(shí),我們需要具有一個(gè)設(shè)備,來時(shí)上下文可以毫無隔閡與其相汽配,我們只有在這樣的情況之下,才能在我們進(jìn)行OpenGL 繪圖時(shí)通過渲染與上下文相對(duì)應(yīng)的設(shè)備,在相應(yīng)的顯示設(shè)備上來實(shí)現(xiàn)上下文中的圖形映射問題。我們?cè)?Windows 下實(shí)現(xiàn)對(duì) OpenGL 的編程,需要我們注意以下幾個(gè)問題:① 由于窗口的像素格式由設(shè)備中上下文的像素格式所決定,并且對(duì)應(yīng)的像素格式一旦被我們確定下來就再也不可能對(duì)其作出更改了。② 圖像渲染上下文與程序的線程之間是一一相對(duì)的映射對(duì)應(yīng)關(guān)系。如果要在同一個(gè)線程內(nèi)實(shí)現(xiàn)利用不同的設(shè)備儀器來進(jìn)行圖像的繪制工作,我們就必須在改變渲染的上下文的同時(shí),完成對(duì)其所對(duì)應(yīng)的相關(guān)的設(shè)備上下文的更改,但是一個(gè)線程對(duì)應(yīng)的渲染上下文是恒定不變的。我們可以先刪除該線程所對(duì)應(yīng)的渲染上下文,然后去完成建立新的渲染上下文的操作。同樣的,一個(gè)渲染上下文在運(yùn)行時(shí)也只能同時(shí)為一個(gè)線程所占用。③ 目前的 OpenGL 版本對(duì)于 GDI和OpenGL 同時(shí)在同一個(gè)設(shè)備進(jìn)行作圖,仍然有一些限制。例如,當(dāng)我們使用雙緩存的動(dòng)畫畫圖時(shí)就根本無法使用 GDI 來作圖。④ 盡管一個(gè)渲染上下文無論何時(shí)只能利用其中一個(gè)設(shè)備的上下文,可是我們卻可以通過多個(gè)設(shè)備上下文同時(shí)在一個(gè)窗口內(nèi)進(jìn)行作圖,這樣我們就可以保證在多個(gè)線程調(diào)用時(shí)我們可以同時(shí)利用多個(gè)渲染的上下文來共同執(zhí)行有關(guān) OpenGL 的對(duì)應(yīng)繪圖操作。因此,用 VC 軟件來調(diào)用 OpenGL接口來繪制圖形的操作步驟如下:1) 我們通過填寫“ PIXELFORMATDESCRIPTOR ”的結(jié)構(gòu)來對(duì)顯示設(shè)備 DC 的位圖屬性進(jìn)行有關(guān)的設(shè)置。該結(jié)構(gòu)中包含 iPixelType、dwFlags、dwLayerMask 和cColorBits等有關(guān)數(shù)據(jù)項(xiàng),而這些數(shù)據(jù)項(xiàng)的值對(duì)在OpenGL 作圖環(huán)境中相關(guān)的物理設(shè)備的基本屬性具有決定作用。如我們只有在將dwFlags的數(shù)值值設(shè)置為 “PFD_DRAW_TO_WINDOW” 的時(shí)候,其中緩存中的內(nèi)容才能夠被繪制到設(shè)備或者窗口的表面??墒怯捎谠O(shè)備上下文可能對(duì)某些位圖格式并不能完全支持,所以在我們使用 DC 之前,我們必須首先通過調(diào)用“ChoosePixelFormat ”來選擇可以匹配的設(shè)備上下文所能夠支持的位圖格式或者找到與之最為相近的位圖格式也行,然后我們就可以使用“ SetPixelFormat”來設(shè)置相關(guān)的設(shè)備上下文中對(duì)應(yīng)的位圖格式。2) 在我們調(diào)用各種各樣的OpenGL 函數(shù)來進(jìn)行作圖時(shí),因?yàn)殇秩旧舷挛呐c線程的一一對(duì)應(yīng)關(guān)系,所以我們最好不要在 OpenGL 的函數(shù)參數(shù)中標(biāo)識(shí)當(dāng)前所處線程的渲染上下文有關(guān)的句柄。3) 當(dāng)我們作圖結(jié)束后,如果我們要結(jié)束設(shè)備上下文與渲染上下文的聯(lián)系,我們就必須先設(shè)置當(dāng)前線程,將它的的渲染上下文設(shè)置為 NULL (::wglMakeCurrent(NULL, NULL)。),然后我們可以斷開其渲染上下文與線程的聯(lián)系。此時(shí),由于我們尚不能確定 RC 的值是否還是有效狀態(tài),因此,我們要首先先對(duì)RC 句柄做有效性判斷(if(m_hrc):wglDeleteContext(m_hrc)。),然后我們就需要根據(jù)判定的結(jié)果來刪除(DeleteDC)DC或者釋放(ReleaseDC)DC了。4) 我們可以利用設(shè)備上下文來建立渲染上下文,然后保存和建立起它們之間的聯(lián)系。為了在計(jì)算機(jī)屏幕上渲染和繪制出三維圖形的景觀,我們?cè)贠penGL中進(jìn)行的主要的繪圖操作的基本步驟為:① 我們可以根據(jù)基本的圖形單元來建立起三維圖形景物的模型,并且我們可以對(duì)所建立的三維模型進(jìn)行相關(guān)的數(shù)學(xué)描述。② 我們需要把景物模型放置在三維空間中的最合適的位置,然后對(duì)相關(guān)視點(diǎn)進(jìn)行設(shè)置。③ 在計(jì)算機(jī)的模型中所有的物體均有色彩,其中我們要根據(jù)應(yīng)用要求來確定它們對(duì)應(yīng)色彩,同時(shí)也要確定當(dāng)時(shí)的紋理粘貼方式與光照條件等約束因素。④ 我們要把對(duì)應(yīng)景物模型的色彩信息與數(shù)學(xué)描述轉(zhuǎn)換為可以在計(jì)算機(jī)屏幕上顯示出來的象素,這個(gè)過程的實(shí)現(xiàn)也就是我們通常所說的光柵化。在以上這些步驟的執(zhí)行過程中,我們可以利用OpenGL求執(zhí)行其他的一些操作,如自動(dòng)進(jìn)行消隱處理等過程。另外,當(dāng)我們對(duì)景物進(jìn)行光柵化操作之后,但在其被送入幀緩沖器之前,我們還可以根據(jù)實(shí)際的需要對(duì)景物象素?cái)?shù)據(jù)進(jìn)行其他操作。 Matlab與VC++的結(jié)合方式 MATLAB軟件是一款針對(duì)數(shù)值進(jìn)行計(jì)算的交互式軟件,其通過豐富的工具箱和強(qiáng)大的數(shù)據(jù)處理使其編程過程極為簡單。我們可以利用極少的程序代碼就可以實(shí)現(xiàn)非常之復(fù)雜的功能,從而,以便于我們對(duì)應(yīng)用程序的開發(fā)周期進(jìn)行大規(guī)模的縮減,從而,相應(yīng)的提高我們的編程效率??墒怯捎贛ATLAB是一種解釋性的程序語言開發(fā)平臺(tái).他的程序代碼執(zhí)行效率相對(duì)比較低便是他的不可抗拒的弱點(diǎn).但是Visual C++是windows平臺(tái)下最為強(qiáng)有力的一套高級(jí)編程語言.VC++能夠方便并且快速地開發(fā)出我們需要界面友好,執(zhí)行速度相對(duì)于MATLAB顯著提高并且還具有易于維護(hù)和升級(jí)的一整套軟件系統(tǒng).但是由于Visual C++只給我們提供了一些最為基本的數(shù)學(xué)函數(shù)集成庫,如果讓它進(jìn)行復(fù)雜的數(shù)值計(jì)算,必定會(huì)使軟件開發(fā)周期大大的延長,從而大幅度增加相應(yīng)軟件的研究開發(fā)成本.可是的強(qiáng)大的圖形繪制功能、輸出圖形功能和圖像處理的相關(guān)工具箱,使得MATLAB在圖像處理方面的優(yōu)勢相對(duì)于VC++更加明顯。 因此如果才能將兩者結(jié)合起來,使之共同開發(fā)程序,充分的發(fā)揮它們各自的相對(duì)優(yōu)勢,必然將可使我們大大提高程序的編碼效率與執(zhí)行速度。VC++與MATLAB的結(jié)合途徑有如下幾種方式:(1)創(chuàng)建MEX文件;(2) 創(chuàng)建相關(guān)的MAT文件下的應(yīng)用程序;(3)我們通過用“MATC0M(MIDEVA)”來將m2文件轉(zhuǎn)化翻譯成相應(yīng) CPP代碼,;(4)我們可以在VC++中同時(shí)調(diào)用C/C++與MATIAB數(shù)學(xué)函數(shù)庫;(5)用MATLAB來計(jì)算相關(guān)的引擎函數(shù)庫。本文采用第一種方式。 由于一般形式下的C語言源程序并不可能直接將其編譯為對(duì)應(yīng)MEX文件,我們就只有按照一種約定俗稱的格式來編寫C語言源碼文件,才能能夠?qū)⑵滢D(zhuǎn)化為對(duì)應(yīng)有效的MEX文件。C語言的MEX文件由兩大部分構(gòu)成:第一部分:入口子程序,主要應(yīng)用于在被調(diào)用的外部子程序與MATLAB系統(tǒng)之間建立穩(wěn)定可靠通信聯(lián)系。第二部分:計(jì)算功能子程序,所有實(shí)際需要我們完成的具有一定功能的源代碼均存在于該部分之中。它用入口子程序來實(shí)現(xiàn)被調(diào)用。MEX源代碼文件的那兩部分既可以組合在一起共同被調(diào)用,也可以分開調(diào)用, 但是,程序的相關(guān)入口程序必須是“mexFunction”函數(shù),該函數(shù)的構(gòu)成形式如下所示: void mexFunction(mxArray *plhs[],int nlhs, const mxArray *prhs[],int nrhs) 其中plhs [],prhs[]為mxArray型的兩個(gè)指針數(shù)組,分別表示輸出輸入變量的地址。nlhs,nrhs為兩個(gè)整型的變量,分別表示函數(shù)中輸出輸入的變量的個(gè)數(shù); 通過Matlab與VC++的混合編程可以實(shí)現(xiàn)圖形的三維重建。使用Matlab中的強(qiáng)大的圖形顯示功能、數(shù)據(jù)處理和矩陣運(yùn)算等功能進(jìn)行開發(fā)設(shè)計(jì),會(huì)相對(duì)比較簡便,而由于其運(yùn)算效率較低,編程效率極高,邊解釋邊執(zhí)行和輸出結(jié)果可視化等特點(diǎn),不適合被用作通用的編程開發(fā)平臺(tái)。因此,當(dāng)我們?yōu)檎w效率考慮是,應(yīng)該采用具有很高編程效率的通用編程軟件VC++與具有強(qiáng)大數(shù)學(xué)運(yùn)算功能Matlab相結(jié)合混合編程的方式,將有大大助于Matlab和VC++的各展所長。 我們編寫以mex_sanweichongjian.C名字的VC++源代碼程序如下: include“mex.h”include“matrix.h” void Reconstruction (double *X,double *C,double *Y,double*XYZY,double *XYZX, double *S,int nC,int mC,int nX,int mX,int nY,int mY, int nXYZX,int mXYZX,int nXYZY, int mXYZY) { 三維重建的梯度投影算法 J void mexFunction(int nrhs,const mxArray prhs[],int nlhs,mxArray *plhs[],) {Yp=mxGetPr(prbs);Xp=inxGetPr(prhs);Cp=mxGetPr(prhs); XYZYp=mxGetPr(prhs);XYZXp=mxGetPr(prhs); mX=mxGetM(prhs); nC=mxGetN(prhs);mC=mxGetM(prhs);nY=mxGetN(prhs); nX=mxGetN(prhs);mY=mxGetM(prhs);nXYZX=mxGetN(prhs) ;mXYZX=mxGetM(prhs);nXYZY=mxGetN(prhs);mXYZY=mxGetM(prhs);Sp=mxGetPr(plhs);plhs=mxCreateDoubleMatrix(mC,nC,mxREAL);Reconstruction (double *X,double *C,double *Y,double*XYZY,double *XYZX, double *S,int nC,int mC,int nX,int mX,int nY,int mY, int nXYZX,int mXYZX,int nXYZY, int mXYZY)chon~ian (Xp,Cp,Yp,XYZYp,XYZXp,Sp,nC,mC,nX,mX,nY ,mY,nxYZX,mXYZX,nXYZY ,mXYZY); } 然后,對(duì)該文件mex_ sanweichongjian.c進(jìn)行最終的編譯與連接 。我們只需要獲得多個(gè)點(diǎn)的三維坐標(biāo)值,然后直接在MATLAB中編寫相應(yīng)程序就可以完成三維表面圖形的重建工作了。在本章中,以matlab 編程程序?yàn)樗{(lán)本,對(duì)三維重建過程進(jìn)行了重點(diǎn)闡述,其中以程序加注釋的方式進(jìn)行,而opengl則主要介紹了opengl軟件以及編程方法的一些闡述,并沒有做深入闡述,而對(duì)于聯(lián)合編程方面,則重點(diǎn)是可行性的闡述與編程接口的實(shí)現(xiàn)。第四章總結(jié)和展望本文主要研究了基于雙目立體視覺中的三維重建中的有關(guān)問題。首先,我們重點(diǎn)介紹了三維信息重建的課題的相關(guān)研究背景知識(shí),對(duì)國內(nèi)外近幾十年來的研究情況與成果分別進(jìn)行了重點(diǎn)介紹,并且我們還重點(diǎn)介紹說明了幾種典型而成熟的三維重建方法。最后我們對(duì)三維重建技術(shù)的未來發(fā)展做出了前景式的預(yù)測。同時(shí)我們又指出了三維重建技術(shù)在本課題研究中的的重大研究意義。針對(duì)數(shù)據(jù)來源的各自的特點(diǎn),本文主要采取了先實(shí)現(xiàn)底層,在考慮高層重組的重建方案,最終開始了三維重建代碼的編程實(shí)現(xiàn):1)我們?cè)诒疚闹惺紫葘?duì)三維重建的一些基本的理論知識(shí)進(jìn)行了簡單介紹,只有當(dāng)我們真正了解了有關(guān)視圖投影相應(yīng)的基本知識(shí)才能對(duì)三維重建整體處理框架形成一定的認(rèn)識(shí),然后對(duì)選擇的數(shù)據(jù)文件做出一些有利我們編寫代碼的處理方案。并且我們又借此機(jī)會(huì)說明三維形體相關(guān)的的各種表達(dá)型式,進(jìn)一步了解了三維重建的一些相關(guān)基本原理與處理步驟,最后我們分析了三維重建中自身存在的一些主要問題。2)我們重點(diǎn)介紹了有關(guān)三維重建的一些對(duì)應(yīng)預(yù)處理過程。通過分析目前存在的結(jié)合線掃描方法與視圖分離等方法進(jìn)行視圖的分離,我們通過將俯視圖、左視圖和主視圖之間的數(shù)據(jù)完全進(jìn)行分離并且分別保存在不同的數(shù)據(jù)結(jié)構(gòu)體當(dāng)中。我們經(jīng)過從繪圖坐標(biāo)系到空間投影坐標(biāo)之間的轉(zhuǎn)換,建立出繪圖坐標(biāo)與三維視圖投影坐標(biāo)間的穩(wěn)定聯(lián)系,從而我們就可以得到三視圖的圖像數(shù)據(jù)在空間投影坐標(biāo)系下獲得的新坐標(biāo)。我們?cè)诟鶕?jù)那些前邊介紹三維重建的基本原理,進(jìn)行特征點(diǎn)的匹配任務(wù),然后我們便可以將在繪圖坐標(biāo)系下的二維坐標(biāo)轉(zhuǎn)換為三維坐標(biāo)系下的三維坐標(biāo)。3)我們根據(jù)視圖的特征匹配便可以獲得相應(yīng)的三維點(diǎn)。我們不是直接在三視圖數(shù)據(jù)結(jié)構(gòu)中查找連坐標(biāo)的接關(guān)系。然后,在進(jìn)行三維線框模型的建立,而是我們通過總結(jié)自己在向上的三維重建方法和分析三維實(shí)體結(jié)構(gòu)的基礎(chǔ)上,建立生成了最后的三維實(shí)體模型,再加上加上OpenGL子山的的渲染功能,便可以加強(qiáng)實(shí)體模型的真實(shí)感。這種方法中存在著一定的缺陷。我們選擇了使用基于面切割來構(gòu)造三維實(shí)體模型的方法,在這種方法中,在生成實(shí)體模型的過程我們就可以可以省去很多不必要的冗余邊的連接,因而我們就可以同時(shí)減少了刪
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1