




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于擴(kuò)散曲線的位圖矢量化過 基于GPU的泊松方程快速求解方法研 三、算 梯度幅度的非極大值抑 一階差分算 二階差分算 特征點選 斜率探測 主曲線分析 三次貝塞爾曲線插 多重網(wǎng)格算 限制算 延拓算 四、結(jié)果展 整體效果展 手繪方式創(chuàng)作矢量 位圖矢量 邊緣檢 一階差分算法檢測曲線 二階差分算法檢測曲線點實 基于GPU的擴(kuò) 顏色值和模糊值的擴(kuò) 殘差與網(wǎng)格層數(shù)的關(guān) 一、簡位圖是在70年代伴隨著幀緩存的出現(xiàn)而誕生的。位圖是由無數(shù)產(chǎn)生近似相片的真效果,因而被廣泛應(yīng)用于品質(zhì)的圖像處理。參差不齊而失真,如圖1-1所示。另外,由于位圖是以排列的像素集合體形式被創(chuàng)建的,所以不能單獨操作局部位圖。圖1-1矢量圖、位圖放大后效果對比圖矢量圖具有許多優(yōu)點,主要表現(xiàn)矢量圖可以、方便地編輯,這對于制作動畫來說是一個很和徑向的顏色漸變,如圖1-2所示,因而難以像位圖那樣色彩層次豐富的真的圖像效果。(a)向漸變(b)線性漸圖1-2目前的矢量圖支持的顏色漸變目前基于矢量的一些繪圖工具在如何復(fù)雜的顏色漸變方面1-3現(xiàn)形式使得網(wǎng)格不但難以創(chuàng)建并且操作起來效率很低。2007年Sun對漸變網(wǎng)格進(jìn)行了改進(jìn),提出了一種用于優(yōu)化手動初始化網(wǎng)格的半自動方法,盡管該方法減輕了使用者的體力負(fù)擔(dān),但它并沒有涉及到隨后的對漸變網(wǎng)格的操作,并且沒有使從無到有地手動創(chuàng)建漸變網(wǎng)格的過程變得更容易。1-3變網(wǎng)格示意鑒于矢量圖具有廣闊的發(fā)展前景,針對目前矢量工具在表達(dá)豐富的顏漸變上存在不足,本采用了新型幾何元素擴(kuò)曲線為矢量圖形基元,旨在開發(fā)一個矢量素材制作工具,以解決現(xiàn)有的矢量等缺點。本打造一個既能夠提供給開發(fā)者徒手繪制矢量動漫1-4所示;還能夠?qū)F(xiàn)有的位圖動漫自動轉(zhuǎn)化為矢量1-5所示。以“操作簡單,降低開發(fā)者接入門檻”作為開發(fā)理念,極大的提高了矢量動漫素材的開發(fā)效率。本不僅實1-1.手繪式矢量圖1-5.卡通位圖矢本具有以下幾個創(chuàng)新點基于擴(kuò)散曲線的矢量繪圖工具相對于傳統(tǒng)的矢量繪圖工具來說,本項目針對優(yōu)質(zhì)矢量動漫素材迫切需求,采用了新型的幾何元素擴(kuò)散曲線作為矢量圖形基元,旨在開發(fā)一個矢量素材制作工具,以解限的顏色梯度等缺點,總體功能劃分如下:位圖矢量化導(dǎo)入抽取特征曲線——識別特征點并連接特征曲線,使用三階采樣獲得特征曲線的顏手動繪制矢量化曲線直接通過鼠標(biāo)或手繪板即可,可手動選擇曲線左右兩側(cè)的編輯曲線位置和形狀編輯線上控制點一調(diào)整曲線位置,編輯線外控制點調(diào)整曲線形編輯曲線起始控制點左右兩側(cè)的調(diào)整起止控制點左右兩側(cè)的顏色,并擴(kuò)散到整交換曲線左右兩側(cè)交換此曲線左右兩側(cè)的顏色刪刪除曲可調(diào)整曲線的模糊度,使顏色梯度過渡更加平圖1-6矢量素材制作功能模塊本系統(tǒng)的界面可以劃分為六大塊:菜單欄、公共欄、、調(diào)板區(qū)、狀態(tài)欄和主畫布。各大模塊的大概布局設(shè)計如圖1-7所示:界面詳細(xì)設(shè)計如1-8所示下面將分別詳細(xì)說明這六大塊里的各種菜單欄菜單欄目前分為文件、編輯、視圖、窗口四部分1-9文件1-10文件菜單文件菜單欄主要有以下新建:新建空白畫圖板。若當(dāng)前正處于編輯狀態(tài),則提示保存。打開:根據(jù)文件的類型判斷,可載入和xl文件保存:可以保存成和xml兩屬性:顯示當(dāng)前文件信息(文件名、位置、大小等)退出:退出編輯1-11編輯菜單撤銷:快捷鍵Ctrl+Z重做:快捷鍵剪切:得到當(dāng)前選中的對象的副本,并刪除原對象:得到當(dāng)前選中的對象的副本視圖圖1-12視圖菜單視圖菜單欄主要有以下縮小:單次實際大小:原來大窗口圖1-13窗口菜單:隱藏或顯示公共公共欄在菜單欄下,放置一些常規(guī)工具和狀態(tài)選擇按鈕1-4主要操作包一般工移動:移動選中的對象(可以是一個彈性選取中的多個對象,顏色拾取器:點擊畫布上某個位置,選擇該位置的顏色作為自義顏色,如果左/右顏色按鈕處于選中狀態(tài),則同時改變左/右顏色為此顏色銳平滑:使曲線更加重做:重做上一次撤銷其顯示位圖:設(shè)置是否允許畫布顯示位中的工具是整個系統(tǒng)的工具,技術(shù)的體現(xiàn)1-15中的工具可以分為以下幾繪矩形:按住ctr鍵,繪制正方弧形:需輸入弧形參數(shù):起始角度,終止角度,和弧半曲線編選擇曲線:直接單擊曲線,選中。Ctr+左鍵為多選,可選擇對按下鼠標(biāo)左鍵并拖動鼠標(biāo),建立彈性選區(qū),選區(qū)內(nèi)的所有對象選位圖矢量化工具抽取曲線:狀態(tài)欄顯示抽取進(jìn)修復(fù):對擴(kuò)散后的矢量圖進(jìn)行局部修調(diào)板調(diào)板區(qū)位于界面右側(cè),用來安放操作過程中常用的各種調(diào)1-16調(diào)板區(qū)主要包括調(diào)色標(biāo)準(zhǔn)色:系統(tǒng)提供的標(biāo)1-17調(diào)色:通過調(diào)節(jié)RGB的值來添加自定1-18調(diào)色自定義顏色:調(diào)色下添加的自定義顏色全部保存在這1-18自定義顏畫筆粗粗細(xì)(0.1~9.9)1-19畫筆粗模糊設(shè)置曲線的模糊值,和模糊的狀態(tài)設(shè)置按鈕配合1-20狀態(tài)狀態(tài)欄位于界面底部,顯示當(dāng)前的一些狀態(tài)信息1-21狀態(tài)欄主要包括鼠標(biāo)坐標(biāo)位置顯示鼠標(biāo)在主畫布中的位置主畫主畫布位于界面,是用來繪制示的地方,所有的操作都是針對畫布上的線條或的。使用aa重量級組件Glanvas,加速圖形計算。硬件配置由于運用了GPU進(jìn)行并行加速,因此運行環(huán)境定位為配備CPU:InCorei5-2500RAM:4.00G可編程圖形處理器圖7.可編程圖形GPU的發(fā)展ProgrammableGraphicsProcessingUnit(GPU,即可編程圖形處理單元,通常也稱之為可編程圖形硬件(圖7GPU概念在20世紀(jì)70年代末和80年代初被提出,使用單片集成電路(monolithic)作為圖形,此時的GPU已經(jīng)被用于和動畫方面,它能夠很快地進(jìn)行幾張的(僅限于此。在20世紀(jì)80年代末到90年代初這段時間內(nèi),基于數(shù)字信號處理(digitalsignalprocessorchip)的GPU被研發(fā)出來,與前代相比速度更快、功能更強,當(dāng)然價格是非常的昂貴。在1991年,S3Graphics公司研制出第一個單2D,到了1995主流的PC圖形廠商都在自己的上增加了對2D的支持。與此同時,固定功能的視窗(fixed-functionWindowsaccelerators)由于其高昂的價格而慢慢退出PC市場。1998年NVIDIA公司宣布modernGPU的研發(fā)成功,標(biāo)志著GPU研發(fā)的歷史性突破成為現(xiàn)實。通常將20世紀(jì)70年代末1998年的這一段時間稱之為pre-GPU時期,而自1998年往后的GPU稱之為modernGPU。在pre-GPU時期,一些圖形廠modernGPU使用晶體管(transistors)進(jìn)行計算,在微(microchip 在2.4GHz的PentiumIV上使用5千5百萬(55million)個晶體管;而NVIDIA在GeForceFXGPU上使用超過1億2千5百萬(125million)個晶體管,在NVIDDIA7800GXT上的晶體管達(dá)到3億2百萬(302million)個。回顧ModernGPU的發(fā)展歷史,自1998年后可以分為4個階段。NVIDIA于1998年宣布ModernGPU研發(fā)成功,這標(biāo)志著第一代ModernGPU的誕生,第一代ModernGPU包括 2TI的Rage和3Dfx的Voodoo3。這些GPU可以獨立于CPU進(jìn)行像素緩存區(qū)的更新,并可以光柵化三角面片以“必須依賴于GPU執(zhí)行頂點坐標(biāo)變換的計算”。這一時期的GPU功從1999到2000年,是第二代modernPU的發(fā)展時期。這一時期的PU可以進(jìn)行三維坐標(biāo)轉(zhuǎn)換和光照計算(3DObjectTansformationandLighting,T&L,并且OpenGL和DirectX7都(workstation)的圖PU對于紋理的操作也擴(kuò)展到了立方體紋理(cubemap。NVIDIA的GeForce256,GeForceMAX,ATIRadeon7500等都是在這一2001年是第三代modernGPU的發(fā)展時期,這一時期研發(fā)的GPU提供vertexprogrammabilit(頂點編程能力GeForce3,GeForce4Ti,ATI8500等。這些GPU允許應(yīng)用程序指定一個序列的指令進(jìn)行頂點操作控制(GPU編程的本,這同樣是一個具有開創(chuàng)意義的時期,這一時期確立的GPU編程思想一直延續(xù)到2009年的今天,不但深入到工程領(lǐng)域幫助改善人類日常生活(醫(yī)療、地質(zhì)勘探、、等,而且開創(chuàng)或延伸了計算機科學(xué)的諸多研究領(lǐng)域(。同時,Direct8和OpenL都本著與時俱進(jìn)的精神,提供了支持vertexprogammabilty的擴(kuò)展。不過,這一時期的GPU還不支持fagmentprogammabilit(片段編程能力,在第四代modernPU時期,迎來同時支持verexprogrammability和fagmentprogammabilty的PU。第四代modernGPU的發(fā)展時期從2002年末到2003年。NVIDIAGeForceFXATIRadeon9700同時在市場的舞臺上閃亮登場,這GPU都支持vertexprogrammabilityfragmentprogrammabilityDirectXOpenGL也擴(kuò)展了自身的API,用以支持vertexprogrammabilityfragmentprogrammability。自2003年起,可編程圖形硬件正式誕生,并且由于DirectX和OpenGLPU編程,也誕生。恭喜eFoce和TI的硬件研發(fā)人可口,較勁卡同恭喜rectX和OpenGL的研發(fā),也可以休息下了,不用斗繼而。可程件具如支持vertexprogrammabilityfragment支持IEEE32位浮點運支持4元向量,4階矩陣計算提供分支指令,支持循環(huán)控制語具有高帶寬的內(nèi)存?zhèn)鬏斈芰Γ?7.1GBs支持1D、2D、3D紋理像素查詢和使用,且速支持繪制到紋理功能(RendertoTexture,RTT3.2.3GPUVS上節(jié)闡述了GPU的發(fā)展歷史,那么為什么在CPU之外要發(fā)展GPU?GPU的vertexprogrammability和fragmentprogrammability究竟在何處有著怎樣的優(yōu)勢8展示了GPU和CPU在結(jié)構(gòu)上的差異,CPU大部分面積為控制器和寄存器,與之相比,GPU擁有的AL(ArithmeticogicUnit用于數(shù)據(jù)處理,CPU執(zhí)行計算任務(wù)時,一個時刻只處理一個數(shù)據(jù),不存在真正意義上的并行(請回憶OS上的時間片輪轉(zhuǎn)算法,而GPU具有多個處理器核,在一個時刻可以并行處理多個數(shù)據(jù)。8.GPUCPU的不同架GPU采用流式并行計算模式,可對每個數(shù)據(jù)進(jìn)行獨立的并行計用多個數(shù)據(jù)并行運算的時間和1個數(shù)據(jù)單獨執(zhí)行的時間是一圖9中代碼目2D圖像上每個像素點的顏色CPU上運算的C++代碼通過循環(huán)語句依次遍歷像素GPU上,則只需圖9.CPUGPU的不同編程GPUCPU么不用GPU完全取代CPU呢?因為GPU在許多方面與CPUGPU采用數(shù)據(jù)并行處理方式極大加快了運算速“需要知道數(shù)據(jù)之間相關(guān)性的”算法,在GPU上難以得到實現(xiàn)(但在CPU上則可以方便的實現(xiàn),一個典型的例子是射線與不規(guī)則物體的求交運算。此外,GPU在控制流方面弱于CPU,在圖中可以看到,GPU中的控制器少于CPU,而控制器的主要功能是取指令,并下一條指令在內(nèi)存中的位置,控制和協(xié)調(diào)計算機的各個部件有條不紊地工作。在早期的OpenGLfp2.0fp3.0以及DirectX的ps_4_0之前的profile版本都不支持或不完全支持循環(huán)控制流語句(目前在軟硬件方面都已得到改進(jìn)。由于GPU編程完全依賴于圖形硬件,故而較早版本的GPU并不支持一些常用的編程需要,而現(xiàn)在很多個人4-6年,所2012之后,舊式顯卡的更新?lián)Q代會基本結(jié)束,這也制約了GPU編程技術(shù)的使用最后進(jìn)行GPU編程必須掌握計算機圖像學(xué)相關(guān)知識,以及圖形處理API,入門門檻較高,學(xué)習(xí)周期較長,尤其國內(nèi)GPU編程的資料較為匱乏,這些都導(dǎo)致了學(xué)習(xí)的難度。在早期,GPU編程只能使用匯編語言,開發(fā)難度高、效率低,不過,隨著高級Shaderlanguage的興起,在GPU上編程已經(jīng)容易多了3.2.3國內(nèi)外研究基于U的科學(xué)可視化計算(VisualizatonincientiicComputing算處理的數(shù)據(jù)量極大(CT、地質(zhì)勘探、氣象數(shù)據(jù)、流體力學(xué)等,僅僅基于CU進(jìn)行計算完全不能滿足實時性要求,而在GPU上進(jìn)行計算則可以在效率上達(dá)到質(zhì)的突破,許多在CU上非GPU上,所以基于PU的科學(xué)可視化研究目前已經(jīng)成為主流。近年來,基于U進(jìn)行通用計算的研究逐漸成為熱點,被稱之為PGPU(eneal-urposeCompuingonaphicsocessingUnits,也被稱為P2U上得到了實現(xiàn),并有不俗的性能表現(xiàn),目前,線性代數(shù)(linearalgebra,物理仿真(physicalsiulation)和光線算法(aytace)都已經(jīng)成功的移植到U上。在國內(nèi),中國計算技術(shù)進(jìn)行了基于GPU的串匹配算法的實現(xiàn)關(guān)于PGPU的知識點可以參閱旨在降低PU編程難度,設(shè)計基于PU的高級程序語言的研2004BROOKGPU項目設(shè)計了一個實時的編譯器,編程不需掌握圖形學(xué)知識,只需掌握與C語言類似的流處理語言BROOKGPU的通用BROOKPU已經(jīng)在AMD公司進(jìn)行深入研發(fā)。國內(nèi)浙江大學(xué)計算機學(xué)院針對高級語言的編譯系統(tǒng),以及可編程圖形硬件的加速等技術(shù)進(jìn)行了研究。環(huán)JDK(JavaDevelopmentKit,Java開發(fā)包,Java開發(fā)工具)是一個寫Javaapplet和應(yīng)用程序的程序開發(fā)環(huán)境。它由一個處于操作系統(tǒng)層之上的運行環(huán)境還有開發(fā)者編譯,調(diào)試JavaappletJDK(JavaDevelopmentKit)是SunMicrosystems針對Java開發(fā)員的產(chǎn)品。Java推出以來,JDK已經(jīng)成為使用最廣泛的JavaSDK(Softwaredevelopmentkit 包含的基本組件包·javac–編譯器,將源程序轉(zhuǎn)成字節(jié)·jar–打包工具,將相關(guān)的類文件打包成一個·javadoc–文檔,從源碼注釋中提取文·jdb–debugger,查錯工境也被稱privateruntime。包括了用于產(chǎn)品環(huán)境的各種庫類,以及給開發(fā)員使用的補充庫,如的庫、IDL庫。JDK中還包括各種例子程序,用以展示JavaAPI中的各部分從初學(xué)者角度來看,采用JDK開發(fā)Java程序能夠很快理解程序中各部分代碼之間的關(guān)系,有利于理解Java面象的設(shè)計思想。JDK的另一個顯著特點是Java(J2EE、J2SE以及J2ME)版本的升級而升級。但它的缺點也是非常明顯的就是從事大規(guī)模企業(yè)級Java應(yīng)用開發(fā)非常,不能進(jìn)行復(fù)雜的Java開發(fā),也不利于團(tuán)體協(xié)JDK一般有三種版SE(J2SE),standardedition,標(biāo)準(zhǔn)版,是通常用的一個版EE(J2EE),enterpsiseedtion,企業(yè)版,使用這種JDK開發(fā)J2EE應(yīng)用 edtion,主要用于移動設(shè)備、設(shè)備上的應(yīng)用程Java開發(fā)工具(JDK)是許多Java最初使用的開發(fā)環(huán)境。盡管許多編程已經(jīng)使用第的開發(fā)工具,但JDK仍被當(dāng)作Java開發(fā)的重要工具JDK由一個標(biāo)準(zhǔn)類庫和一組建立,測試及建立文檔的Java實用程序組成。其JavaAPI是一些預(yù)定義的類庫,開發(fā)需要用這些類來Java語言的功能。JavaAPI包括一些重要的語言結(jié)構(gòu)以及基本圖形,網(wǎng)絡(luò)和文件I/O。一般來說,JavaAPII/O部分對于運行Java的所有平臺是相同的,而I/O部分則僅在通用Java環(huán)境中實現(xiàn)。作為JDK實用程序,工具庫中有七種主要程Javac:Java編譯器,將Java源代碼轉(zhuǎn)換成字節(jié)碼ava:Java解釋器,直接從類文件執(zhí)行Java應(yīng)用程序字節(jié)代appletviewer:小程序瀏覽器,一種執(zhí)行HTML文件Java小程序的Java瀏覽器。Javadoc:根據(jù)Java源碼及說明語句生成HTML文檔。Jdb:Java調(diào)試器,可以逐行執(zhí)行程序,設(shè)置斷點和檢查變量。Javah:產(chǎn)生可以調(diào)用Java過程的C過程,或建立能被Java程序調(diào)用的C過程的頭文件Javap:Java反匯編器,顯示編譯類文件中的可功能和數(shù)據(jù),建立,現(xiàn)在是由WillowGarage提供支持。OpenCV是一個基于BSD證的跨平臺的計算機視覺庫,能夠運行在WindowsLinux、AndroidMacOS操作系統(tǒng)上。它是輕量級的并且高效的,是由一系列的C函數(shù)以及少量的C++類構(gòu)成,并同時Python、、Ruby等語言的接口,實現(xiàn)圖像處理及計算機視覺方面很多的通用算法,而不依賴于其他外部庫。OpenCV致力于真實世界的實時應(yīng)用,通過優(yōu)化C代碼的編寫極大提高了代碼的執(zhí)行速度,同時還可以通過In 的IPP的高性能多函數(shù)庫來得到更高的處理速OpenCV的主要應(yīng)用領(lǐng)域包括物體識別、人機互動、人臉識別、圖像分割、運動、動作識別和機器人等。所具有的主要功能有:1、圖像數(shù)據(jù)操作,例如內(nèi)存分配與圖像設(shè)定和轉(zhuǎn)換等2、圖像或的輸入輸出,支持文件或頭的輸入,圖像或文件的輸出。3、矩陣或向量數(shù)據(jù)操作以及線性代數(shù)運算,包括矩陣乘積、特征值、矩陣方程求解、奇異值分解等。4、支持多種的動態(tài)數(shù)據(jù)結(jié)構(gòu),即鏈表、隊列、樹、圖、數(shù)據(jù)集。5、基本的圖像處理,包含去噪、角點檢測、邊緣檢測、色彩變換、采樣與插值、直方圖、形態(tài)學(xué)處理、圖像金字塔結(jié)構(gòu)。6、結(jié)構(gòu)分析,例如連通域/、像、換模板配曲線合多式近、狄勞尼三角化、橢圓擬合等。7、頭定標(biāo),主要包括尋找及定標(biāo)模式、基本矩陣估計、參數(shù)標(biāo)、視覺匹配、單應(yīng)矩陣估計。8、運動分析,包含光流、目標(biāo)、動作分割。9、目標(biāo)識別,利用特征方法或HMM模型。10、處理基本的GUI,例如顯示圖像或、鍵盤或鼠標(biāo)操作、滑動條等。11、圖像標(biāo)注,對直線、曲線、多邊形或文本標(biāo)注。為了便于管理和擴(kuò)充OpenCV整個庫,整個庫被分成幾個子庫,結(jié)構(gòu)分析、運動分析與對象、照相機定標(biāo)、模式識別和三維重建等相關(guān)函數(shù)。2、cvaux-輔助函數(shù)庫,主要提供匹配、3D等 -數(shù)據(jù)結(jié)構(gòu)與線性代數(shù)庫,提供所有的OpenCV時包括出錯處理的一些基本函數(shù)。4、highGUI-GUI函數(shù)庫,提供一些 二、位圖和矢量圖是計算機中常見的兩大類圖像格式。位圖有著豐富多和縮放容易失真等缺點。而矢量圖占用的空間小,圖像不會因為縮系統(tǒng)運用一種新型的幾何元素——擴(kuò)散曲線作為圖形的基元,力圖打造一個既能夠提供給開發(fā)者徒手繪制矢量動漫素材的能夠?qū)F(xiàn)有的位圖動漫自動轉(zhuǎn)化為矢量圖的強大工具,以“操作簡單,一直受到國內(nèi)外研究的高度重視,并為之付出了巨大的努力。關(guān)于點邊緣檢測是圖像處理的一個低層技術(shù),但它通常是視覺計算的圖像特征包含了圖像的大部分信息。圖像的特征分為很多種,如:對卡動圖像特殊,特征量的過中要考慮到邊界曲線的矢量化同時也需要考慮裝飾曲線的矢量化,這樣才能夠保證最終形成的矢量圖特征的真實完整性。傳統(tǒng)的特征矢量化大都識別邊界曲線,但是這種方法對于卡通圖像是不適用的。雖然邊界曲度會比邊界曲線大得多,因此若采用顏色梯度的方法則會在其兩側(cè)形會造成一定的影響。因此,在同時考慮邊界曲線和裝飾曲線的情況下,采用兩個步1、曲線點檢測。邊界曲線的二階偏導(dǎo)數(shù)雖然不能夠得到真方向偏差是在可接受范圍內(nèi)。因此可以通過計算圖像中每個像素點的二階偏導(dǎo)數(shù)進(jìn)行非極大抑制來檢測出邊界曲線和裝飾曲線點。2、曲線點連接。通過不斷選取具有最大二階偏導(dǎo)數(shù)的曲線點作三階貝塞爾曲線的形狀由四個控制點確定,曲線首尾的端點被我們成為上控制點,曲線外控曲線的兩個制點被成為外控制點由于采用的是分三次貝塞爾曲線合方法,分段點的確定就尤重要了。這里,分段點作為三階塞爾曲線的線上控制樣點分布點確定外控點,可用的法有平分、特征多邊形中點法等。數(shù)字曲線,它的數(shù)據(jù)點與日常圖像邊緣檢測得到的點有一定的區(qū)別,后者相對較稀疏,而確定手繪曲線的數(shù)據(jù)點相對稀疏,并且繪制出的曲線在不同地方點的密度也會受鼠標(biāo)拖動速度的快慢影響,尤其在曲線的首段和末段點的密度大且噪聲點比較集中,選擇適當(dāng)?shù)某敕绞讲拍艽_曲線具有小幅高頻噪聲的特點,采取了平均濾波法。對從手繪曲線采樣得到的數(shù)據(jù)點集進(jìn)行除噪后,采用三次貝塞的方案是,先抽取出線上控制點,再根據(jù)線上控制點計算出線外控制點,由于貝塞爾曲線的是由線外控制點決定的,所以特征點的選取點的選取,其實是對矢量數(shù)據(jù)的壓縮過程,壓縮后的矢量數(shù)據(jù)仍要盡可在特征矢量化過程中,矢量圖形元素的定義顯得尤為重要,擴(kuò)散曲線是一種新穎的矢量圖形元素。雖然目前在商業(yè)應(yīng)用市場上,有諸如AdobeIllutao,CoelDaw等矢量繪圖工具,但是他們都普遍因存幅色彩過渡平滑的矢量圖像。這不僅解決了之前對顏色梯度的有限支持,顏色過渡鋒銳等問題,同時極大提高了用戶體驗。擴(kuò)散曲線結(jié)構(gòu)2-1擴(kuò)散曲線的結(jié)擴(kuò)散曲線的基本結(jié)構(gòu)主要由以下幾個部1、擴(kuò)散曲線的幾何原型為貝塞爾曲線。貝賽爾曲線被廣泛應(yīng)用于各種矢量圖形來精確地繪制光滑的曲線。貝塞爾曲線擁有線上和線外兩種類型的控制點。如圖2-1中(a)所示,藍(lán)色的點表示線上控形。通過控制的控制能夠很容易的制出具有線光滑變化動漫圖像。2、顏色控制點。擴(kuò)散曲線的起始點和終止點位置分別擁有兩個條顏色曲線上從起始位置到終止位置通過線性插值進(jìn)行顏色漸變。如圖2-1中(b)所示。3、模糊值控制點。除了顏色控制點之外,擴(kuò)散曲線在曲線的首尾位置處擁有模糊值控制點。用來控制曲線左右兩側(cè)顏域過渡的平滑2-1中(c)4、擴(kuò)散。通過擴(kuò)散曲線兩側(cè)的顏色值以及模糊值定義顏色梯度場從而構(gòu)造線性系統(tǒng)實現(xiàn)顏色擴(kuò)散。如圖2-1中(d)基于擴(kuò)散曲線的位圖矢量化過程位圖矢量化是一個將柵格化的彩像轉(zhuǎn)化由通過一系列數(shù)學(xué)公能夠保存圖像中原有的特息的完整。在卡通動漫矢量素材制作中,圖量占了足重的用能夠大提開制作矢量素材的效率。基于擴(kuò)散曲線的位圖矢量化過程分為如下幾個步 曲線和裝飾曲線。這一過程即為特征矢量化的過程。如圖2-2中(a)線擬合,使曲線能夠過渡平滑。如圖2-2中(b)所示。別對每條曲線選取合適的顏色控制點進(jìn)行曲線兩側(cè)的顏色采樣。手動設(shè)定合適的模糊值,使得曲線兩側(cè)的顏色過渡平滑而不鋒銳。如圖2-2中左右兩側(cè)的顏色在曲線所劃分的兩個區(qū)域最終達(dá)到熱擴(kuò)散的效果。如圖2-2中(d)所示。(a)位圖特征提 (b)曲線擬 圖2-2基于擴(kuò)散曲線的位圖矢量化過程示意圖GP(GaphcPocessngnt)在近幾年的發(fā)展十分迅速,尤其是在通用計算方面。GPU的通用計算(GeneralPuposeGP)指的是用GPU來處理一些原本PU可以處理的計算。由于GPU具有非常多的,一般可以過百上千,與民用PU不超過8核6線程的數(shù)量相比非常懸殊,因此它的計算速度相對于PU具有相當(dāng)?shù)膬?yōu)勢,一塊小小的GP,它的計算能力可以達(dá)到同期PU的10GPU的市場價格也是普通民眾可以接受的。矢量圖有諸多優(yōu)點,主要表現(xiàn)矢量圖可以、方便地編輯,這對于制作動畫來說是一個很何制作出矢量化素材和光柵圖像的矢量化(Raserocoronerson)成為眾多領(lǐng)域的熱門課題,也是本課題的主要技術(shù)之一。矢量素材是根據(jù)圖像的幾何特征加上顏色信息得到的一種圖像。在色信息,CPU上實現(xiàn)色彩延拓,尤其是熱擴(kuò)散,那么速度會較為緩慢。應(yīng)該追求在GPU上快速的實現(xiàn)色彩延拓。色彩延拓方法線性漸線性漸變指的是沿著一根軸線改變顏色,從起點到終點顏色進(jìn)行定兩個或顏色停止點,需要注意的是這些顏色停止點必須在同一條定義這條要遵循的漸變線。于是更直線。于是更直觀的,只需要指定(angle,color1,color2,colorn)這些參數(shù)后,就能構(gòu)建出線性漸(a)左下角到右上角的漸變。線性漸變只能對顏色停止點在一條直線上的徑向漸線性漸變是從線的一端過渡到另一端,與之相比,徑向漸變則先開始于一點,然后呈圓形或者橢圓形由內(nèi)向外均勻地擴(kuò)散開。需要指定 是漸變采用的形狀,可以是圓形也可以是橢圓形,最后要指定的是兩個或者的顏色停止點。徑向漸變的原理是先由各個顏色終止點通過和線性漸變一樣的方法得到一條已知的顏色線,然后將這條線繞圓心轉(zhuǎn)一圈就可實現(xiàn)色彩延拓。圖2-3(b)顯示了以中心點為圓心然后向外的徑線性漸變和徑向漸變只能對簡單的顏色梯度變化進(jìn)行顏色行溫度擴(kuò)散的式,熱擴(kuò)散的過程最終可以歸結(jié)為泊松方程的求解,這種方式可以較好的模擬的色彩延拓。圖2-3(c)顯示了對三條(a)線性漸 (b)徑向漸(c)熱圖2-3不同類型的色彩延基于GPU的快速色彩延拓相熱擴(kuò)散的過程最終是歸結(jié)為泊松方程[5]在,的用戶交互體驗是一項非常重要的內(nèi)容,如果直接在CPU上求GPUGPU的通用計算給這種大量數(shù)據(jù)的處理帶來了。本文提出將這兩者結(jié)合,即利用GPU的通用計算來求解泊松方程從而給用戶帶來良好的交互體驗。三、算思想。需要保留局部梯度最大的點,而抑制非極大值。從而最終將算法3-1梯度幅度的非極大抑制cosNxSgn←cosN>0?1,-1;ySgn←sinN>0?1,-1;cosN←conN*cosN;sinN←sinN*sinN;if(p_Der[r][c]>=(p_Der[r][c+xSgn]*cosN+p_Der[r+ySgn][c]*sinN)&&p_Der[r][c]>=(p_Der[r][c–xSgn]*cosN+p_Der.[r–ySgn][c]*sinN))二維圖像空間中的曲線點檢測關(guān)于邊界曲線點的檢測可以通過一一階差分算法通過一階差分進(jìn)行曲線點檢測算法類似于anny像中需要通過分別計算橫向和的差分才能夠得到像素點的這里選用Sobel算子對圖像進(jìn)行一階差分運算,Sobel算子是邊緣檢測常用的算子之一,從技術(shù)上看它是一個離散型的差分算子。該3*3的矩陣,分別為橫向及縱向,將之與圖像作平面卷積,G
2
G
10
(公式3-
獲得橫向和縱向的灰度差分值之后,可以通過公式3-2,公式3-3來分別計算梯度的大小和方向。GxG (Gxarctan(Gy
(公式3-在獲得圖像中每個像素點的灰度梯度值及其方向之后。通過高斯函數(shù)對灰度梯度矩陣進(jìn)行卷積運算,排除噪聲點對曲線點檢測的干擾最后,通對像素點梯度進(jìn)行非大抑制,標(biāo)記具有部度極大的點,這點即為所需要曲線點算法的具過如下所示:算法3-2一階差分算法檢測kSize:Sobel核的大小.Sobel(srcImg,dxMat,1,0,Sobel(srcImg,dyMat,0,1,p_Der[y][x]GaussianBlur(p_Der,p_Der,Size(3,3),二階差分算法曲線,因此得到的結(jié)果并不是最終想要的結(jié)果若將全部曲線看作是裝飾曲線,通過計算二階導(dǎo)數(shù)來檢測邊緣點是合理的。因此考慮采通過二階差分進(jìn)行曲線點檢測相當(dāng)于是通過計算圖像中每的二階偏導(dǎo)數(shù)進(jìn)行非極大抑制從而檢測出邊緣點,每個像素點的二階偏導(dǎo)數(shù)以及偏導(dǎo)數(shù)的方向通過Sobel算子從xyxy方向分別進(jìn)行二量來獲得二階偏導(dǎo)數(shù)及偏導(dǎo)數(shù)的方向。具體算法如下所示:算法3-3二階差分算法檢測邊kSize:Sobel核的大小.computeEigenvals(dyy[y][x],dxy[y][x],dxx[y][x],eigval,?.?. p_Ornt[y][x]←arctan(-Nx,NyGaussianBlur(p_Der,p_Der,Size(3,3),在確定曲線點的過程中,需要滿足以下兩個要求1、曲線點的二階偏導(dǎo)數(shù)必須是在其偏導(dǎo)數(shù)方向上相對于周圍鄰域的極大值。2、曲線點的二階偏導(dǎo)數(shù)必須大于一定的最小閾值tlow。最小閾值所以,的首要任務(wù)是選取特征點。能體現(xiàn)一條曲線特征的點,往往是尖點、拐3、極值點:若f(afxafxx軸斜率探測法根據(jù)前面分析,最能體現(xiàn)曲線特征的點是尖點、拐點和極值點。依次計算線上每個點的斜率,找到所有斜率為0、∞和斜率相乘為負(fù)數(shù)的點。這些點將有可能是特征點,該算法如下所示。算法3-4ArrayList<Point>tmpList=newArrayList<Point>();foreach(PointpinpList)p的前后點對求得斜率kif(k0||k||k*prevK0)}return主曲線分析法高維流形推廣。該方法如算法3-5所示。算法3-5prevIdx:記錄上一個特征點的下標(biāo)intprevIdx=for(inti=1;i<pList.size();{intlside=0,rside=0;for(intj=prevIdx;j<i;++j){if(pList.get(j)pList.get(i)pList.get(prevIdx)}if(lside!=0&&rside!={resList.add(下標(biāo)從prevIdx到i的所有點中到點pList.get(i)點pList.get(prevIdx)構(gòu)成的直線的距離最遠(yuǎn)的點);prevIdx=}}returnresList;B(t)1t)3P3t(1t)2P3t21t)Pt3P,t privateprivatevoidgetSpline(Pointp0,Pointp1,Pointp2,Pointp3,int{for(int;//限制算算法3-6限制算for(i-=scale;i<=scale;i+=scale)for(j-=scale;j<=scale;j+=scale){if(image!≈背景色){accum+=image;n++;}}色){if(n>0){cst}}}在通過算法3-6生成n張粗細(xì)不同的紋理之后(第1張為最細(xì)網(wǎng)格,第n張為最粗網(wǎng)格,把最粗網(wǎng)格最為一個最初的猜想,然后不斷地把殘差修正到細(xì)網(wǎng)格上,在經(jīng)過n次修正后,就可以得到最終解。延拓算對于延拓操作,即從粗網(wǎng)格延拓到細(xì)網(wǎng)格,采用如下算法}}這里需要注意的是以上兩種代碼都是在GPU上實現(xiàn)的,也就是四、結(jié)果展示手繪方式創(chuàng)作矢量圖本提供強大的矢量圖繪制編輯功能。矢量卡通圖的繪制過程極其簡單,只需勾畫出圖像的基本輪廓,然后為輪廓填充顏色,通過鋒銳等問題,同時極大提高了用戶體驗。圖.1展示了一個完整的通過手繪方式創(chuàng)作矢量圖的過程。(a)根據(jù)需要選擇圖 (b)繪畫過程中調(diào)整曲線左右兩側(cè)顏(c)繪制中曲線顏色不進(jìn)行擴(kuò) (d)鼠標(biāo)后擴(kuò)(e)熱擴(kuò)散使得顏色過渡平滑(f)再制功能(/剪切+粘貼) 圖4-1手繪方式創(chuàng)作矢量圖過程位圖矢量化本夠?qū)F(xiàn)有的位圖動漫自動轉(zhuǎn)化為矢量圖的強大工具,操作1、導(dǎo)入2、抽取特征曲線(ExtractTheCurvesFromTheImage,識別3、采樣獲得特征曲線的顏色(SampleTheCurve’sColorFromTheImage)4、擴(kuò)散(DiffueseT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025電子產(chǎn)品租賃合同協(xié)議書合同
- 2025年驚現(xiàn)買賣勞動合同的新興市場
- 甲乙丙供貨合同協(xié)議
- 電話技術(shù)服務(wù)合同協(xié)議
- 珠寶供貨合同協(xié)議模板
- 理療床產(chǎn)品經(jīng)銷合同協(xié)議
- 生產(chǎn)企業(yè)勞動合同協(xié)議
- 理髮店合作協(xié)議合同協(xié)議
- 現(xiàn)金采購鋁合金合同協(xié)議
- 電動板材租賃合同協(xié)議
- 信息系統(tǒng)網(wǎng)絡(luò)安全應(yīng)急預(yù)案
- 掉落物落地品管理規(guī)定
- 【圖文】GB8624-2012建筑材料及制品燃燒性能分級(精)
- 科姆龍變頻器說明書kv2000
- 小學(xué)生讀書知識競賽試題
- 藍(lán)色簡約法律通用PPT模板
- 遼寧工程技術(shù)大學(xué)開題報告示例
- 旅行社掛靠協(xié)議(樣板)
- 皮爾遜Ⅲ型曲線模比系數(shù)計算表(共享版)
- 房屋租賃合以裝修費抵租金
- Z5140型立式鉆床說明書
評論
0/150
提交評論