專利名稱:一種可通用的圖形、圖像、視覺開發(fā)庫的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計算機(jī)圖形圖像處理領(lǐng)域,具體的說是一套集相關(guān)基礎(chǔ)算法、2D 圖像處理、3D圖形處理、計算機(jī)視覺處理、物理仿真、渲染等于一體的開發(fā)平臺。
背景技術(shù):
近幾年來,動漫產(chǎn)業(yè)日益發(fā)展,而在動漫產(chǎn)業(yè)里面,從以前的輔助設(shè)計到現(xiàn)在的日 常處理,計算機(jī)的涉及面已經(jīng)非常之廣,而動漫處理技術(shù)在這個行業(yè)里面也占據(jù)著主要地 位。動漫行業(yè)里面,不管是動畫作品、漫畫作品,還是時下非常流行的網(wǎng)絡(luò)游戲,都對 一種計算機(jī)技術(shù)——圖形圖像處理技術(shù)依賴非常強(qiáng)。目前應(yīng)用比較廣泛的計算機(jī)圖形圖像 處理技術(shù)主要在三個方面直接使用DirectX、0penGL等;使用國外成熟的圖形圖像處理引 擎;自己開發(fā)圖形圖像處理引擎。這些方式都存在這個那個的缺點(diǎn),比如技術(shù)難度大、入門 門檻高、缺乏自主知識產(chǎn)權(quán)等,更主要的是難以充分發(fā)揮現(xiàn)在硬件的強(qiáng)大功能。因此有必要 提供一套全新的處理平臺,克服現(xiàn)有系統(tǒng)的不足。
發(fā)明內(nèi)容
本發(fā)明提供一套通用的圖形、圖像、視覺的開發(fā)庫,該庫包含基礎(chǔ)功能引擎、應(yīng)用 功能引擎和第三方組件引擎三個主要組成部分。基礎(chǔ)功能引擎部分包括核心部件、數(shù)學(xué)部 件和Windows驅(qū)動部件,提供基礎(chǔ)算法、數(shù)學(xué)運(yùn)算功能和Windows相關(guān)的功能;應(yīng)用功能引 擎部分則包括2D圖像處理、3D圖形處理、視覺部件、物理仿真部件和渲染部件,提供計算 機(jī)圖形圖像處理的相關(guān)功能;而第三方組件引擎則提供其他開放進(jìn)行第三方組建開發(fā)和裝 載。本發(fā)明提供的圖形、圖像、視覺的開發(fā)庫在DirectX、OpenGL的基礎(chǔ)上,充分利用 GPU的強(qiáng)大處理能力,為用戶提供一套通用的、容易入門且功能強(qiáng)大的圖形、圖像、視覺處理
D ο本發(fā)明是一套基于Windows的運(yùn)行庫。系統(tǒng)在運(yùn)行時,用戶應(yīng)用調(diào)用本系統(tǒng)相應(yīng) 函數(shù)(傳入調(diào)用請求),系統(tǒng)根據(jù)用戶要求,自動將其分解為一系列動作,分別、按序調(diào)用更 底層的(可以為WindowsAPI、Windows GDI、OpenGL、DirectX或GPU)功能函數(shù),最終完成 用戶的請求,并以返回值的形式或在屏幕相應(yīng)位置畫圖的形式返回給用戶。本發(fā)明具有如下特點(diǎn)1、開放性。圖形、圖像、視覺開發(fā)庫包含第三方組件引擎,并定義了統(tǒng)一的功能接 口,第三方組件開發(fā)商只需提供相應(yīng)的功能接口即可將自己開發(fā)的功能加載到圖形、圖像、 視覺開發(fā)庫中;2、兼容OpenGL和DirectX兩大主流功能庫。用戶在使用圖形、圖像、視覺開發(fā)庫 時用戶完全不需要知道OpenGL或DirectX具體的函數(shù)調(diào)用。3、引入 CUDA。CUDA (Compute Unified Device Architecture,顯卡廠商 NVidia 推出的運(yùn)算平臺)配合Nvidia的GPU具有極強(qiáng)的數(shù)學(xué)計算能力,能解決多數(shù)密集型的數(shù)值運(yùn) 算,從而縮短大量運(yùn)算時間,從而加快本發(fā)明的圖形、視覺處理速度。4、糅合光照影響的圖象著色技術(shù)。圖象中的光照條件是影響圖象著色效果的一 個重要因素,但由于光照分離的難度較大,所以當(dāng)前的很多方法都基于這樣一個假定其 光照影響可以被忽略。這就造成圖象了著色技術(shù)很大的局限性沒辦法處理具有較大光 影變化的圖片。針對這個問題,本發(fā)明提出新的圖象著色技術(shù),該技術(shù)利用本征圖象技術(shù) (Intrinsic Image),實(shí)現(xiàn)在圖象著色過程中不受光照的影響。5、基于 GPU 的 TPS Image Morphing0 TPS (Thin-Plate Spline,薄板樣條)是當(dāng) 前比較成熟的應(yīng)用于Image Morphing(圖像變形)的核心技術(shù),但由于TPS復(fù)雜的數(shù)學(xué)邏 輯關(guān)系,導(dǎo)致Image Morphing的運(yùn)算量非常的大,效率非常的低。實(shí)際上Image Morphing 具有很強(qiáng)的并行性,而GPU具有很強(qiáng)的并行處理能力,基于這個特點(diǎn),UniversalX提出GPU Based ^ TPS Image Morphing,Image Morphing。
圖1是本發(fā)明圖形、圖像、視覺開發(fā)庫的系統(tǒng)結(jié)構(gòu)框2是本發(fā)明圖形、圖像、視覺開發(fā)庫的實(shí)現(xiàn)應(yīng)用開發(fā)流程圖
具體實(shí)施例方式下面結(jié)合附圖對本本發(fā)明圖形、圖像、視覺開發(fā)庫的實(shí)施方式作進(jìn)一步說明。本發(fā)明提供了一種圖形、圖像、視覺開發(fā)庫,其利用計算機(jī)系統(tǒng)上GPU強(qiáng)大的數(shù)學(xué) 運(yùn)算能力。參考圖1,本發(fā)明圖形、圖像、視覺開發(fā)庫2包括基礎(chǔ)功能引擎2. 1、應(yīng)用功能引 擎2. 2和第三方組件引擎2. 3共三個組成部分。所述基礎(chǔ)功能引擎2. 1包括核心部件2. 1. 1、數(shù)學(xué)部件2. 1. 2和Windows驅(qū)動部 件2. 1. 3,其中核心部件2. 1. 1集成有很多用于組織數(shù)據(jù)的結(jié)構(gòu)和操作數(shù)據(jù)的基本算法。 這些結(jié)構(gòu)和方法被廣泛地應(yīng)用于各種各樣的程序當(dāng)中,自然也包括基于計算機(jī)圖形和視覺 的各種應(yīng)用程序;數(shù)學(xué)部件2. 1. 2集成有眾多用于數(shù)值運(yùn)算的類。數(shù)值運(yùn)算是進(jìn)行計算 機(jī)圖形和視覺研究和開發(fā)必不可少的工具;Windows驅(qū)動部件2. 1. 3是專門設(shè)計用于運(yùn)行 在Windows操作系統(tǒng)上的功能子庫,其中包括大量對OpenGL API、DirectX API的封裝和 Windows API的封裝。通過它,我們可以非常容易地實(shí)現(xiàn)圖形的繪制、渲染,以及一些如文件 的讀取,線程的創(chuàng)建與管理等系統(tǒng)級別的操作。所述應(yīng)用功能引擎2. 2包括2D圖形處理部件2. 2. 1、3D圖形處理部件2. 2. 2、視 覺部件2. 2. 3、物理仿真部件2. 2. 4和渲染部件2. 2. 5。其中,2D圖形處理部件2. 2. 1包含 有表示圖像和進(jìn)行圖像處理的基本類。這個庫的功能涵蓋圖象濾波、圖像統(tǒng)計特性表示、 圖像變換、圖像合成,以及諸如形態(tài)運(yùn)算、圖像混合等各種常用的圖像處理功能;3D圖形處 理部件2. 2. 2提供了大量的幾何計算,目的在于能夠創(chuàng)建各種網(wǎng)格化模型;視覺部件2. 2. 3 提供有一些基于圖像的高層操作,這些高層操作被歸為計算機(jī)視覺。例如特征點(diǎn)匹配,特 征點(diǎn)跟蹤,圖像分割等;物理仿真部件2. 2. 4目標(biāo)在于進(jìn)行物理現(xiàn)象模擬,主要包括運(yùn)動和 光現(xiàn)象的模擬,對于運(yùn)動,物理仿真部件2. 2. 4將模擬一些剛體的運(yùn)動,流體的運(yùn)動,以及 流體對置于其中的物體的影響;渲染部件2. 2. 5負(fù)責(zé)圖形渲染管線中最靈活也最重要的Shader (渲染)程序。所述第三方組件引擎2. 3提供統(tǒng)一的、通用的接口,供第三方組件開發(fā)商或其他 工作室為其添加必須的部件或功能庫。參考圖2,圖2為應(yīng)用本發(fā)明圖形、圖像、視覺開發(fā)庫2的一般步驟。步驟A中,用 戶在開發(fā)環(huán)境(比如Windows的Visual C++、Inprise的C++Builder等)中加載圖形、圖 像、視覺開發(fā)庫2,并將其加入到用戶的項(xiàng)目中;步驟B,用戶對用戶項(xiàng)目進(jìn)行開發(fā)、編譯,中 間根據(jù)需要對圖形、圖像、視覺開發(fā)庫的功能進(jìn)行調(diào)用;步驟C中,用戶發(fā)布自己的應(yīng)用。發(fā) 布的應(yīng)用中需包含圖形、圖像、視覺開發(fā)庫2的動態(tài)鏈接庫文件(DLL文件)。
權(quán)利要求
1.一種可通用的圖形、圖像、視覺的開發(fā)庫,該庫包含基礎(chǔ)功能引擎、應(yīng)用功能引擎和 第三方組件引擎三個部分組成;基礎(chǔ)功能引擎部分包括核心部件、數(shù)學(xué)部件和Windows驅(qū) 動部件,提供基礎(chǔ)算法、數(shù)學(xué)運(yùn)算功能和Windows相關(guān)的功能;應(yīng)用功能引擎部分則包括2D 圖像處理、3D圖形處理、視覺部件、物理仿真部件和渲染部件,提供計算機(jī)圖形圖像處理的 相關(guān)功能;而第三方組件引擎則提供其他開放進(jìn)行第三方組建開發(fā)和裝載。
2.根據(jù)權(quán)利要求1所述的可通用的圖形、圖像、視覺的開發(fā)庫,所述的圖形、圖像、視覺 的開發(fā)庫在DirectX、OpenGL的基礎(chǔ)上,充分利用GPU的強(qiáng)大處理能力,為用戶提供一套通 用的、容易入門且功能強(qiáng)大的圖形、圖像、視覺處理平臺。
3.根據(jù)權(quán)利要求1所述的可通用的圖形、圖像、視覺的開發(fā)庫,所述是一套基于 Windows的運(yùn)行庫,系統(tǒng)在運(yùn)行時,用戶應(yīng)用調(diào)用本系統(tǒng)相應(yīng)函數(shù),系統(tǒng)根據(jù)用戶要求,自動 將其分解為一系列動作,分別、按序調(diào)用更底層的功能函數(shù),最終完成用戶的請求,并以返 回值的形式或在屏幕相應(yīng)位置畫圖的形式返回給用戶。
全文摘要
一種可通用的圖形、圖像、視覺的開發(fā)庫,該庫包含基礎(chǔ)功能引擎、應(yīng)用功能引擎和第三方組件引擎三個部分組成;基礎(chǔ)功能引擎部分包括核心部件、數(shù)學(xué)部件和Windows驅(qū)動部件,提供基礎(chǔ)算法、數(shù)學(xué)運(yùn)算功能和Windows相關(guān)的功能;應(yīng)用功能引擎部分則包括2D圖像處理、3D圖形處理、視覺部件、物理仿真部件和渲染部件,提供計算機(jī)圖形圖像處理的相關(guān)功能;而第三方組件引擎則提供其他開放進(jìn)行第三方組建開發(fā)和裝載。本發(fā)明具有如下特點(diǎn)1、開放性。2、兼容OpenGL和DirectX兩大主流功能庫。3、引入CUDA。4、糅合光照影響的圖象著色技術(shù)。5、基于GPU的TPS Image Morphing。
文檔編號G06F9/44GK102141908SQ201010106518
公開日2011年8月3日 申請日期2010年2月2日 優(yōu)先權(quán)日2010年2月2日
發(fā)明者黃少遇 申請人:黃少遇