專利名稱:智能無(wú)紙卡通制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字圖形圖像處理以及數(shù)字娛樂(lè)領(lǐng)域,尤其是一種智能無(wú)紙卡通制作 方法。
背景技術(shù):
二維動(dòng)畫領(lǐng)域在沒(méi)有引入計(jì)算機(jī)技術(shù)之前就早已作為一個(gè)行業(yè)發(fā)展了起來(lái),那時(shí) 候還沒(méi)有像二維動(dòng)畫這種與計(jì)算機(jī)技術(shù)緊密聯(lián)系的專業(yè)名詞。上世紀(jì)九十年代之前,我們 還只能稱之為“卡通”,所有的制作過(guò)程全部是手工勞動(dòng),制作經(jīng)費(fèi)非常昂貴(幾乎每部作 品都在5000萬(wàn)美元以上,國(guó)內(nèi)所熟悉的幾部作品制作費(fèi)都在1億美元左右),制作周期很長(zhǎng) (一般為3-5年),所以只有像美國(guó)和日本等這樣的發(fā)達(dá)國(guó)家才有能力制作。我們十多年跟蹤研究表明國(guó)外目前的技術(shù)水平基本處于利用計(jì)算機(jī)技術(shù)模擬傳 統(tǒng)卡通制作的描上和后期合成工作階段,還沒(méi)有涉及到智能卡通領(lǐng)域,由于受當(dāng)時(shí)各種客 觀條件限制,其理論基礎(chǔ)存在一定的缺陷,限制了其向智能卡通方向的過(guò)渡;國(guó)內(nèi)一些大 學(xué)曾經(jīng)在該領(lǐng)域進(jìn)行了一定研究,但是由于對(duì)傳統(tǒng)卡通制作流程以及生產(chǎn)過(guò)程沒(méi)有深入了 解,距離實(shí)用要求差距較大,目前國(guó)內(nèi)還沒(méi)推出一套成熟卡通制作系統(tǒng),所有動(dòng)畫企業(yè)全部 采用國(guó)外的卡通制作系統(tǒng)進(jìn)行加工生產(chǎn)。上世紀(jì)九十年代中期,出現(xiàn)了大量的卡通制作系統(tǒng),如美國(guó)USAnimation公司的 USAnimation、法國(guó) MediaPEGS 公司的 PEGS、AXA 公司的 AXA、英國(guó)的 ΑΝΙΜ0、日本 CELSYS 的 RETAS以及Toomboon公司STUDIO等制作系統(tǒng)。這些系統(tǒng)的主要功能就是把大量的動(dòng)畫稿 經(jīng)過(guò)掃描進(jìn)入計(jì)算機(jī)系統(tǒng),在計(jì)算機(jī)上實(shí)現(xiàn)動(dòng)畫的區(qū)域填色工作,替代傳統(tǒng)作業(yè)在紙上填 涂顏色的繁重勞動(dòng),這些系統(tǒng)徹底取代了傳統(tǒng)制作過(guò)程的描上(Ink&paint)工序,取得了 廣泛的應(yīng)用。圖Ia說(shuō)明了目前流行的卡通制作流程,原動(dòng)畫部分全部手工完成,計(jì)算機(jī)技術(shù)只 代替了正稿上色和后期合成。目前,世界上卡通制作系統(tǒng)雖然采用不同的技術(shù)方案,但全部 遵循這個(gè)制作流程,這些系統(tǒng)都是經(jīng)過(guò)一次掃描得到動(dòng)畫的掃描稿后,對(duì)掃描稿進(jìn)行矢量 化處理得到矢量圖形,然后對(duì)矢量圖形進(jìn)行填色。有的系統(tǒng)可以對(duì)線條進(jìn)行進(jìn)一步處理,有 的可以自動(dòng)檢查多邊形的漏填顏色,有的還可以對(duì)圖形的局部進(jìn)行處理。但是目前這些系 統(tǒng)還都沒(méi)有考慮卡通的內(nèi)在聯(lián)系,只是把卡通當(dāng)作一個(gè)個(gè)靜止圖形圖像進(jìn)行逐一處理。圖Ib為目前流行的卡通制作流程的具體工序步驟。其中的動(dòng)畫(In-between)以 及描上(Ink&paint)兩個(gè)過(guò)程是傳統(tǒng)卡通制作中勞動(dòng)量最大、制作周期最長(zhǎng),屬于勞動(dòng)密 集、勞動(dòng)效率很低的工序。更是影響卡通片制作周期和制作成本的最大因素?,F(xiàn)有技術(shù)只 解決了圖2中內(nèi)框中的部分,而對(duì)原畫、動(dòng)畫這兩個(gè)費(fèi)時(shí)費(fèi)力,成本最高的兩個(gè)工序最卻無(wú) 能為力。而且由于沒(méi)有考慮原動(dòng)畫間的內(nèi)在聯(lián)系,描上工作也只能逐幀人工完成,不能實(shí)現(xiàn) 自動(dòng)化處理。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述缺陷,提供一種智能無(wú)紙卡通制作方法,本發(fā)明要解 決的問(wèn)題就是建立原畫之間的內(nèi)在聯(lián)系,實(shí)現(xiàn)動(dòng)畫的計(jì)算機(jī)自動(dòng)生成,同時(shí)取代計(jì)算機(jī)逐 幀人工上色,自動(dòng)完成正稿上色。如圖2所示本發(fā)明的自動(dòng)插幀不僅代替了目前流程中手 工勞動(dòng)的動(dòng)畫、謄清部分,而且使得目前流程中計(jì)算機(jī)處理部分的正稿上色完全實(shí)現(xiàn)自動(dòng) 化,正稿上色作為一個(gè)工序已經(jīng)不復(fù)存在。本發(fā)明完全解決了圖Ib中中期和后期框內(nèi)的所有工藝流程,真正實(shí)現(xiàn)了“智能 無(wú)紙卡通”制作。本發(fā)明的技術(shù)方案是一種智能無(wú)紙卡通制作方法,包括以下步驟11)原畫紙稿掃描和除噪處理;12)掃描圖像的糾正對(duì)準(zhǔn)通過(guò)對(duì)掃描圖像進(jìn)行旋轉(zhuǎn)和平移,保證掃描圖像中的 三個(gè)定位孔中心坐標(biāo)與標(biāo)準(zhǔn)樣圖中定位孔中心坐標(biāo)的差在0. 1毫米以內(nèi);13)在掃描圖像上,對(duì)其中的角色造型線條采用線跟蹤細(xì)化算法進(jìn)行細(xì)化;14)對(duì)細(xì)化后的圖像采用分裂式的直線段逼近算法進(jìn)行自動(dòng)矢量化跟蹤處理,得 到掃描原畫的矢量格式圖形;15)根據(jù)矢量格式圖形中多邊形相互之間的壓蓋情況,按照完全壓蓋、局部壓蓋、 不壓蓋的順序?qū)κ噶扛袷降脑嫈?shù)據(jù)進(jìn)行分層,并把不存在匹配對(duì)應(yīng)關(guān)系的矢量對(duì)象提取 出來(lái)放在某一個(gè)或某幾個(gè)相對(duì)獨(dú)立的圖層中;16)對(duì)各個(gè)圖層中的圖形對(duì)象數(shù)據(jù),基于動(dòng)畫角色造型對(duì)象的部位關(guān)聯(lián)采用自動(dòng) 拓?fù)渌惴ǎ⒏鲌D層中圖形對(duì)象的相互關(guān)系,構(gòu)建區(qū)域;17)通過(guò)人機(jī)交互的方式,對(duì)步驟5和步驟6中自動(dòng)生成的內(nèi)容進(jìn)行編輯修改;18)采用基于拓?fù)潢P(guān)系的多邊形配準(zhǔn)方法建立原畫關(guān)鍵幀之間的匹配對(duì)應(yīng)關(guān)系;19)根據(jù)原畫關(guān)鍵幀之間的匹配對(duì)應(yīng)關(guān)系,自動(dòng)內(nèi)插生成動(dòng)畫中間幀;20)自動(dòng)上色并輸出視頻序列圖像。所述的掃描圖像的糾正對(duì)準(zhǔn)通過(guò)對(duì)掃描圖像進(jìn)行旋轉(zhuǎn)和平移,保證掃描圖像中 的三個(gè)定位孔中心坐標(biāo)與標(biāo)準(zhǔn)樣圖中定位孔中心坐標(biāo)的差在0.1毫米以內(nèi),包括如下步驟1)采用模板匹配算法,得到三個(gè)定位孔中心在掃描圖像中的位置信息;2)由第一個(gè)定位孔和第三個(gè)定位孔的中心點(diǎn)確定連接三個(gè)定位孔的直線方程;3)以標(biāo)準(zhǔn)樣片中第一個(gè)定位孔和第三個(gè)定位孔中心點(diǎn)確定的直線和所述第2)步 計(jì)算得到的直線的夾角為旋轉(zhuǎn)角α,進(jìn)行旋轉(zhuǎn)糾正;4)以標(biāo)準(zhǔn)樣圖中第二個(gè)定位孔的中心點(diǎn)為基準(zhǔn)點(diǎn),計(jì)算旋轉(zhuǎn)后掃描圖像和標(biāo)準(zhǔn)樣 圖之間的平移量;5)根據(jù)平移量進(jìn)行平移糾正。所述的在掃描圖像上,對(duì)其中的角色造型線條采用線跟蹤細(xì)化算法進(jìn)行細(xì)化,包 括如下步驟1)選取跟蹤起始點(diǎn);2)定義跟蹤窗口 用跟蹤起始點(diǎn)1\和Pk作為對(duì)角線的兩個(gè)端點(diǎn),定義一個(gè)矩形;3)移動(dòng)跟蹤窗口 令跟蹤起始點(diǎn)P^和Pk每次移動(dòng)m個(gè)像素;
4)跟蹤窗口分析首先在當(dāng)前窗口內(nèi),用一個(gè)指針沿線劃輪廓和窗口邊,從跟蹤 起始點(diǎn)Pk指向的輪廓點(diǎn),逆時(shí)針移動(dòng)到跟蹤起始點(diǎn)&指向的輪廓點(diǎn),然后統(tǒng)計(jì)其間與窗口 邊相遇的次數(shù),決定窗口內(nèi)部是否包含交叉點(diǎn);5)細(xì)化交叉點(diǎn)求出窗口內(nèi)每個(gè)輪廓片段的曲率最大的輪廓點(diǎn),然后將這些輪廓 點(diǎn)的幾何中心作為交叉點(diǎn)。并把這個(gè)交叉點(diǎn)作為一種特殊端點(diǎn)記錄下來(lái);6)跟蹤細(xì)化輪廓線當(dāng)對(duì)輪廓線進(jìn)行跟蹤細(xì)化時(shí),遇到下面兩種情況就終止跟 蹤a.跟蹤起始點(diǎn)Pl和Pk相遇,說(shuō)明到了線端;b.跟蹤起始點(diǎn)&和Pk都遇到了已標(biāo)記點(diǎn),說(shuō)明回到某個(gè)交叉點(diǎn)處。所述的選取跟蹤起始點(diǎn)包括以下步驟從初始跟蹤起始點(diǎn)隊(duì)列中取出一個(gè)初始跟蹤起始點(diǎn)P,從初始跟蹤起始點(diǎn)P點(diǎn)沿 輪廓線分別向左右移動(dòng)一個(gè)常數(shù),得到兩個(gè)輪廓點(diǎn)&和Pk作為跟蹤起始點(diǎn),定義確定一個(gè) 窗口,然后在當(dāng)前窗口內(nèi),用一個(gè)指針沿線劃輪廓和窗口邊,從Pk指向的輪廓點(diǎn),逆時(shí)針移 動(dòng)到h指向的輪廓點(diǎn),然后統(tǒng)計(jì)其間與窗口邊相遇的次數(shù),若相遇兩次,說(shuō)明初始跟蹤起始 點(diǎn)P即是線端,選取初始跟蹤起始點(diǎn)P左右相鄰兩點(diǎn)&和Pk為跟蹤起始點(diǎn);若相遇次數(shù)大 于兩次,說(shuō)明初始跟蹤起始點(diǎn)P點(diǎn)不是線端,求出窗口內(nèi)兩側(cè)輪廓線寬度最小處的兩跟蹤 起始點(diǎn)P^和Pk為跟蹤起始點(diǎn);所述的對(duì)細(xì)化后的圖像采用分裂式的直線段逼近算法進(jìn)行自動(dòng)矢量化跟蹤處理, 得到掃描原畫的矢量格式圖形,包括如下步驟1)找出起始和終止點(diǎn),對(duì)于封閉區(qū)域則把最遠(yuǎn)的兩點(diǎn)選為起、止點(diǎn);2)檢查是否滿足要求,如不滿足,則從距當(dāng)前擬合直線最遠(yuǎn)點(diǎn)處將當(dāng)前擬合直線 分裂成兩部分,并遞歸地進(jìn)行這一步驟,直至滿足條件。所述的的對(duì)各個(gè)圖層中的圖形對(duì)象數(shù)據(jù),基于動(dòng)畫角色造型對(duì)象的部位關(guān)聯(lián)采用 自動(dòng)拓?fù)渌惴?,建立各層中圖形對(duì)象的相互關(guān)系,構(gòu)建區(qū)域,包括如下步驟1)建立初始化弧段鏈表,并初始化弧段鏈表中的所有弧段給所有弧段的左右區(qū) 域碼賦初值,一般取-1,表示一個(gè)無(wú)效的編碼值;2)遍歷弧段鏈表,搜索所有弧段的首尾端點(diǎn),建立結(jié)點(diǎn)鏈表。結(jié)點(diǎn)鏈表中的每一 個(gè)結(jié)點(diǎn)元素不僅記錄結(jié)點(diǎn)位置(X,y),而且其中建立有相應(yīng)的連接弧段鏈表;3)從弧段鏈表中順次選擇起始弧段進(jìn)行多邊形邊界搜索若當(dāng)前弧段左區(qū)域的左碼為-1,將其作為起始弧段,選擇其尾結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn),繼 續(xù)步驟4,否則,若其右碼值為-1,也將其作為起始弧段,選擇其頭結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn),接著繼續(xù)下述 的步驟4 ;若當(dāng)前弧段左右碼均非-1,從弧段鏈表中選擇下一弧段,繼續(xù)本步驟;若所有弧 段的左右碼已經(jīng)均非-1,表明所有弧段的兩側(cè)都已被搜索,跳至進(jìn)行步驟7 ;4)搜索一個(gè)完整的多邊形邊界在結(jié)點(diǎn)鏈表中定位當(dāng)前結(jié)點(diǎn),按逆時(shí)針?lè)较蚧蛘?按順時(shí)針?lè)较颍谄溥B接弧段鏈表中尋找起始弧段的后繼弧段,把后繼弧段的另一端點(diǎn)設(shè) 為當(dāng)前結(jié)點(diǎn),重復(fù)進(jìn)行后繼弧段尋找工作,直到返回到起始弧段,表明一個(gè)完整的多邊形邊 界已經(jīng)整理完成;
5)通過(guò)判斷多邊形的方向來(lái)判斷多邊形邊界的區(qū)域歸屬;6)返回步驟3 ;7)判斷負(fù)區(qū)域多邊形的邊界弧段區(qū)域碼此時(shí),所有區(qū)域的內(nèi)外多邊形邊界已經(jīng) 建立完成,而且任一區(qū)域的外邊界多邊形的所有邊界弧段的本區(qū)域側(cè)編碼已經(jīng)被賦予有效 的區(qū)域編號(hào);8)所有弧段的左右區(qū)域碼都已賦予有效的區(qū)域編號(hào),基本的拓?fù)潢P(guān)系建立完成。所述的采用基于拓?fù)潢P(guān)系的多邊形配準(zhǔn)方法建立原畫關(guān)鍵幀之間的匹配對(duì)應(yīng)關(guān) 系,包括如下步驟1)確定前后幀圖形的集合;2)根據(jù)拓?fù)潢P(guān)系形成兩個(gè)集合的關(guān)系圖;3)利用網(wǎng)絡(luò)最大流量算法計(jì)算兩個(gè)集合的最大匹配;4)確定前后幀圖形的匹配對(duì)應(yīng)關(guān)系。所述的根據(jù)原畫關(guān)鍵幀之間的匹配對(duì)應(yīng)關(guān)系,自動(dòng)內(nèi)插生成動(dòng)畫中間幀,包括如 下步驟1)采用角點(diǎn)檢測(cè)法和多邊形近似法相結(jié)合的算法進(jìn)行特征點(diǎn)的檢測(cè);2)采用匹配程度方程進(jìn)行特征點(diǎn)的配對(duì);3)時(shí)序圖形的頂點(diǎn)匹配首先以匹配多邊形的關(guān)鍵點(diǎn)為控制點(diǎn),然后在對(duì)關(guān)鍵之 間的各頂點(diǎn)采用上述步驟1和2完成特征點(diǎn)配對(duì),最后在特征點(diǎn)之間按照頂點(diǎn)排列順序 一一對(duì)應(yīng),頂點(diǎn)數(shù)不相同的按照頂點(diǎn)補(bǔ)償策略進(jìn)行補(bǔ)償處理;4)采用多邊形匹配頂點(diǎn)變化軌跡的單調(diào)圓弧算法內(nèi)插中間幀。所述的采用多邊形匹配頂點(diǎn)變化軌跡的單調(diào)圓弧算法內(nèi)插中間幀,包括以下步 驟1)在源多邊形A = [AO, Al,... An]中取頂點(diǎn)Ai (i = 0,1. . . η),以坐標(biāo)原點(diǎn)為起 始點(diǎn),生成向量s,在目標(biāo)多邊形B = [ΒΟ,ΒΙ,.,.Βη]中取對(duì)應(yīng)匹配點(diǎn)Bi (i = 1,2···η)生 成向量d ;2)計(jì)算向量s和向量d的夾角θ,當(dāng)θ彡90°時(shí),采用線性插值c(t)= (l-t)*s+t*d,t e
求得的c(t)即為中間多邊形V= [V0,Vl,.. .Vn]的頂點(diǎn)Vi對(duì)應(yīng) 的向量,當(dāng)θ >90°時(shí),轉(zhuǎn)向下述步驟3;3)比較向量s和d的長(zhǎng)度,若|s| > |d|,令m = d,否則m= s,計(jì)算線段AOBO的 垂直平分線和m所在直線的交點(diǎn),記交點(diǎn)為0(x0,y0);4)以點(diǎn)0為圓心,以線段OS為半徑,做圓(x-x0)2+(y-x0)2 = r2 ;5)計(jì)算向量 c(t) = (l_t)*s+t*d,t e
所在直線和圓(x-x0)2+(y-x0)2 = r2的交點(diǎn),即為中間多邊形頂點(diǎn)V0;重復(fù)調(diào)用上述算法n+1次后,得到中間插值多邊形V = [V0, Vl,... Vn]的頂點(diǎn)序 列 V0,VI,…Vn。本發(fā)明的有益效果是我們應(yīng)用本發(fā)明的無(wú)紙卡通制作技術(shù)做了一系列對(duì)比試驗(yàn),對(duì)比的對(duì)象是處于該 領(lǐng)域領(lǐng)先地位的Toon Boom公司的Harmony卡通制作系統(tǒng),中央電視臺(tái)于去年引進(jìn)了這套 制作系統(tǒng),在實(shí)際應(yīng)用過(guò)程中,我們得出了下面一些令人鼓舞的數(shù)據(jù)和結(jié)論
(1)有效節(jié)約制作成本實(shí)際動(dòng)畫制作中,每分鐘大約600張?jiān)瓌?dòng)畫,原畫與動(dòng)畫的比例大約為1 4 2 3,采用智能卡通制作系統(tǒng)可節(jié)約中后期制作成本40%以上。(2)有效提高制作效率中期制作可減少大量卡通人員,大大縮短制作周期,以每個(gè)動(dòng)畫師每天50張動(dòng)畫 計(jì)算,每分鐘鏡頭大約需要繪制10天時(shí)間,采用此技術(shù)后綜合中后期制作情況來(lái)看,中后 期制作周期可望縮短10倍以上,其潛力巨大。(3)有效保證動(dòng)作畫質(zhì)量計(jì)算機(jī)實(shí)時(shí)生成動(dòng)畫預(yù)檢,實(shí)時(shí)修正動(dòng)畫,能更有效保證動(dòng)畫質(zhì)量。由于實(shí)施時(shí)交 互式運(yùn)作,所見即所得,更能達(dá)到導(dǎo)演要求。加之減少了大量的動(dòng)畫人員,動(dòng)畫質(zhì)量參差不 齊的現(xiàn)象得以控制,導(dǎo)演能有效控制整個(gè)片子的質(zhì)量,這是目前的動(dòng)畫制作系統(tǒng)很難做到 的。這些數(shù)據(jù)表明,本發(fā)明的智能無(wú)紙卡通制作技術(shù)在目前卡通制作技術(shù)上實(shí)現(xiàn)了質(zhì) 的突破,具有超強(qiáng)的擴(kuò)展空間和應(yīng)用前景。這一系統(tǒng)的推出,將實(shí)現(xiàn)動(dòng)畫領(lǐng)域的一場(chǎng)革命。
圖Ia為現(xiàn)有的卡通制作流程圖。圖Ib為現(xiàn)有的卡通制作流程的具體工序步驟流程圖。圖2是應(yīng)用本發(fā)明的無(wú)紙卡通制作技術(shù)制作卡通的流程圖。圖3是本發(fā)明的無(wú)紙卡通制作方法流程圖。圖4是旋轉(zhuǎn)糾正前的帶有傾斜的定位孔的掃描圖像。圖5是旋轉(zhuǎn)糾正后的掃描圖像。圖6a是跟蹤起始點(diǎn)選取示意圖之一。圖6b是跟蹤起始點(diǎn)選取示意圖之二。圖7是本發(fā)明的跟蹤窗口定義示意圖。圖8是線劃轉(zhuǎn)折處的跟蹤起始點(diǎn)的確定示意圖。圖9是跟蹤窗口分析示意圖。圖10是交叉點(diǎn)細(xì)化示意圖。圖11是連接弧段方位角排序示意圖。圖12是多邊形邊界搜索示意圖。圖13是根據(jù)拓?fù)潢P(guān)系進(jìn)行集合J1和集合J2匹配的示意圖。圖14是利用網(wǎng)絡(luò)最大流量法計(jì)算兩個(gè)集合的最大匹配的示意圖。圖15是確定前后幀圖形的匹配關(guān)系示意圖。圖16是多邊形邊長(zhǎng)長(zhǎng)度畸變示意圖。圖17是多邊形邊長(zhǎng)長(zhǎng)度的單調(diào)變化示意圖。圖18是利用本發(fā)明的無(wú)紙卡通制作方法自動(dòng)生成內(nèi)插幀的示意圖。圖19是利用本發(fā)明的無(wú)紙卡通制作方法自動(dòng)生成內(nèi)插幀并且自動(dòng)上色的示意 圖。
9
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述本發(fā)明的智能無(wú)紙卡通制作方法通過(guò)匹配技術(shù)建立原畫之間的一一對(duì)應(yīng)關(guān)系,利 用計(jì)算機(jī)技術(shù)自動(dòng)生成動(dòng)作的中間幀(即動(dòng)畫),從而實(shí)現(xiàn)了自動(dòng)上色,完成了智能無(wú)紙卡 通制作的全過(guò)程。包括以下步驟21)原畫紙稿掃描和除噪處理;22)掃描圖像的糾正對(duì)準(zhǔn),通過(guò)對(duì)掃描圖像進(jìn)行旋轉(zhuǎn)和平移,保證掃描圖像中的三 個(gè)定位孔中心坐標(biāo)與標(biāo)準(zhǔn)樣圖中定位孔中心坐標(biāo)的差在0. 1毫米以內(nèi);23)在掃描圖像上,對(duì)其中的角色造型線條采用線跟蹤細(xì)化算法進(jìn)行細(xì)化;24)對(duì)細(xì)化后的圖像采用分裂式的直線段逼近算法進(jìn)行自動(dòng)矢量化跟蹤處理,得 到掃描原畫的矢量格式圖形;25)根據(jù)矢量格式圖形中多邊形相互之間的壓蓋情況,按照完全壓蓋、局部壓蓋、 不壓蓋的順序?qū)κ噶扛袷降脑嫈?shù)據(jù)進(jìn)行分層,并把不存在匹配對(duì)應(yīng)關(guān)系的矢量對(duì)象提取 出來(lái)放在某一個(gè)或某幾個(gè)相對(duì)獨(dú)立的圖層中;26)對(duì)各個(gè)圖層中的圖形對(duì)象數(shù)據(jù),基于動(dòng)畫角色造型對(duì)象的部位關(guān)聯(lián)采用自動(dòng) 拓?fù)渌惴?,建立各圖層中圖形對(duì)象的相互關(guān)系,構(gòu)建區(qū)域;27)通過(guò)人機(jī)交互的方式,對(duì)步驟5和步驟6中自動(dòng)生成的內(nèi)容進(jìn)行編輯修改;28)采用基于拓?fù)潢P(guān)系的多邊形配準(zhǔn)方法建立原畫關(guān)鍵幀之間的匹配對(duì)應(yīng)關(guān) 系;29)根據(jù)原畫關(guān)鍵幀之間的匹配對(duì)應(yīng)關(guān)系,自動(dòng)內(nèi)插生成動(dòng)畫中間幀;30)自動(dòng)上色并輸出視頻序列圖像。本發(fā)明中,所說(shuō)的掃描圖像的糾正對(duì)準(zhǔn),通過(guò)對(duì)掃描圖像進(jìn)行旋轉(zhuǎn)和平移,保證掃 描圖像中的三個(gè)定位孔中心坐標(biāo)與標(biāo)準(zhǔn)樣圖中定位孔中心坐標(biāo)的差在0. 1毫米以內(nèi),包括 如下步驟1)采用模板匹配算法,得到三個(gè)定位孔中心在掃描圖像中的位置信息;2)由第一個(gè)定位孔和第三個(gè)定位孔的中心點(diǎn)確定連接三個(gè)定位孔的直線方程;3)以標(biāo)準(zhǔn)樣片中第一個(gè)定位孔和第三個(gè)定位孔中心點(diǎn)確定的直線和第2)步計(jì)算 得到的直線的夾角為旋轉(zhuǎn)角α,進(jìn)行旋轉(zhuǎn)糾正;如圖4,如果(XA, Ya),(XB, Yb),(Xc, Yc)分別代表圖像的左、中、右三個(gè)定位孔中心
的坐標(biāo),并令t
。因此,圖像上任意一點(diǎn)經(jīng)^5e
后的坐標(biāo)為 經(jīng)過(guò)旋轉(zhuǎn)糾正正后的圖像如圖5所示。4)以標(biāo)準(zhǔn)樣圖中第二個(gè)定位孔的中心點(diǎn)為基準(zhǔn)點(diǎn),計(jì)算旋轉(zhuǎn)后圖像和標(biāo)準(zhǔn)樣片之 間的平移量;5)根據(jù)平移量進(jìn)行平移糾正,如果經(jīng)過(guò)檢測(cè)發(fā)現(xiàn)圖像無(wú)需進(jìn)行旋轉(zhuǎn)校正,而只需 平移糾正,則圖像上任意點(diǎn)(Χ,γ)經(jīng)過(guò)校正的坐標(biāo)(X,y)為
其中,Dx,Dy分別表示圖像各個(gè)定位孔坐標(biāo)與標(biāo)準(zhǔn)樣圖中各個(gè)定位孔坐標(biāo)之差的均值。本發(fā)明中,所說(shuō)的在掃描圖像上,對(duì)其中的角色造型線條采用線跟蹤細(xì)化算法進(jìn) 行細(xì)化,包括如下步驟1)選取跟蹤起始點(diǎn)跟蹤起始點(diǎn)PL和ra由以下方法確定從初始跟蹤起始點(diǎn)隊(duì) 列(即掃描圖像的所有像素點(diǎn))中取出一個(gè)初始跟蹤起始點(diǎn)P,從初始跟蹤起始點(diǎn)P點(diǎn)沿 輪廓線分別向左右移動(dòng)一個(gè)常數(shù),得到兩個(gè)輪廓點(diǎn)&和Pk作為跟蹤起始點(diǎn),定義確定一個(gè) 窗口,然后在當(dāng)前窗口內(nèi),用一個(gè)指針沿線劃輪廓和窗口邊,從Pk指向的輪廓點(diǎn),逆時(shí)針移 動(dòng)到h指向的輪廓點(diǎn),然后統(tǒng)計(jì)其間與窗口邊相遇的次數(shù),若相遇兩次,說(shuō)明初始跟蹤起始 點(diǎn)P即是線端,選取初始跟蹤起始點(diǎn)P左右相鄰兩點(diǎn)P^和Pk為跟蹤起始點(diǎn),如圖6a ;若相 遇次數(shù)大于兩次,說(shuō)明初始跟蹤起始點(diǎn)P點(diǎn)不是線端,求出窗口內(nèi)兩側(cè)輪廓線寬度最小處 的兩跟蹤起始點(diǎn)P^和Pk為跟蹤起始點(diǎn),如圖6b。2)定義跟蹤窗口 用跟蹤起始點(diǎn)1\和Pk作為對(duì)角線的兩個(gè)端點(diǎn),定義一個(gè)矩形。 令DX = IPL — X-PR — X | ;DY = | PL — Y-PR — YΔ X = max {DY, 2} ; Δ Y = max {DX, 2},矩形的左右邊分別外擴(kuò)ΔΧ,上下邊分別外擴(kuò)ΔΥ,形成包圍窗口。窗口大小隨線 寬動(dòng)態(tài)改變,因而降低了沿線噪聲的影響。3)移動(dòng)跟蹤窗口 通常的窗口移動(dòng)是定義一個(gè)常數(shù)m,令跟蹤起始點(diǎn)1\和Pk每次 移動(dòng)m個(gè)像素。由于在線條轉(zhuǎn)折處內(nèi)外輪廓的長(zhǎng)度不同,使得跟蹤起始點(diǎn)1\和&兩點(diǎn)的連 線與此處兩點(diǎn)的法線方向產(chǎn)生較大偏差,為了適應(yīng)這一情況,在窗口移動(dòng)的過(guò)程中采用了 距離比較法,即每移動(dòng)一次,計(jì)算移動(dòng)前后各相關(guān)點(diǎn)的距離,如圖8,若距離之差小于某一閾 值,則記錄跟蹤起始點(diǎn)&和Pk兩點(diǎn)間的距離,繼續(xù)向下跟蹤,否則說(shuō)明遇到了線劃轉(zhuǎn)折,在 線劃轉(zhuǎn)折處采用彭京亮的距離最短法,如圖8,即為了保持跟蹤起始點(diǎn)&和Pk的連線與線 劃在此處的法向一致,首先將跟蹤起始點(diǎn)&和Pk各自沿輪廓線方向移動(dòng)m個(gè)像素,然后計(jì) 算三個(gè)平方距離D1、D2、D3 Dl= (PL —X-P,R —X)2+(PL —Y-P,R —Y)2,D2 = (P,L —X-PR —X)2+(P,L —Y-PR —Y)2,D3 = (P,L — X-P,R — X)2+(P,L — Y_P,R — Y)2 ;然后求三個(gè)距離的最小值,最小距離對(duì)應(yīng)的兩個(gè)端點(diǎn)即為繼續(xù)向下跟蹤的新的跟 蹤跟蹤起始點(diǎn)&和跟蹤起始點(diǎn)Ρκ,同時(shí)記錄這個(gè)最小距離。圖8中最短距離D2所對(duì)應(yīng)的 跟蹤起始點(diǎn)PJ和跟蹤起始點(diǎn)Pk即為向下跟蹤的新的跟蹤指針。4)跟蹤窗口分析跟蹤窗口分析實(shí)際上是一個(gè)窗口內(nèi)的輪廓跟蹤的過(guò)程,即首先 在當(dāng)前窗口內(nèi),用一個(gè)指針沿線劃輪廓和窗口邊,從跟蹤起始點(diǎn)Pk指向的輪廓點(diǎn),逆時(shí)針移 動(dòng)到跟蹤起始點(diǎn)指向的輪廓點(diǎn),然后統(tǒng)計(jì)其間與窗口邊相遇的次數(shù),決定窗口內(nèi)部是否 包含交叉點(diǎn);5)細(xì)化交叉點(diǎn)求出窗口內(nèi)每個(gè)輪廓片段的曲率最大的輪廓點(diǎn),然后將這些輪廓點(diǎn)的幾何中心作為交叉點(diǎn)。并把這個(gè)交叉點(diǎn)作為一種特殊端點(diǎn)記錄下來(lái)。再將各個(gè)輪廓片 段的曲率最大的輪廓點(diǎn)分別作為相應(yīng)分支的跟蹤起始點(diǎn),并為每個(gè)新分支分配不同的標(biāo)記 號(hào),標(biāo)記每個(gè)新的分支的跟蹤起始點(diǎn),然后從右到左依次遞歸細(xì)化每一個(gè)新的分支。6)跟蹤細(xì)化輪廓線對(duì)輪廓線跟蹤細(xì)化是一遍掃描跟蹤過(guò)程,為了防止重復(fù)跟 蹤,應(yīng)該標(biāo)記或刪除已跟蹤過(guò)的部分?,F(xiàn)在比較常用的是輪廓標(biāo)記方法。該法的基本思路 是從一個(gè)起始跟蹤點(diǎn)開始,對(duì)指針PL和ra掃過(guò)的輪廓點(diǎn)進(jìn)行標(biāo)記,給出一個(gè)標(biāo)記號(hào)。當(dāng) 遇到交叉點(diǎn)時(shí),對(duì)交叉點(diǎn)的每一個(gè)新的分支分配一個(gè)新的標(biāo)記號(hào),并把此標(biāo)記號(hào)作為這個(gè) 新分支的標(biāo)記號(hào)。輪廓標(biāo)記號(hào)同時(shí)作為骨架標(biāo)記號(hào)。在進(jìn)行輪廓點(diǎn)標(biāo)記的過(guò)程中,把每一 跟蹤窗口的中心作為骨架點(diǎn)記錄下來(lái),同時(shí)記錄跟蹤起始點(diǎn)1\和&兩點(diǎn)間的距離作為此處 線劃的線寬,所有的骨架點(diǎn)聯(lián)結(jié)起來(lái)形成骨架線。當(dāng)對(duì)輪廓線進(jìn)行跟蹤細(xì)化時(shí),遇到下面兩種情況就終止跟蹤a.跟蹤起始點(diǎn)P^和Pk相遇,說(shuō)明到了線端;b.跟蹤起始點(diǎn)&和Pk都遇到了已標(biāo)記點(diǎn),說(shuō)明回到某個(gè)交叉點(diǎn)處。本發(fā)明中,所說(shuō)的對(duì)細(xì)化后的圖像采用分裂式的直線段逼近算法進(jìn)行自動(dòng)矢量化 跟蹤處理,得到掃描原畫的矢量格式圖形,包括如下步驟1)找出起始和終止點(diǎn),對(duì)于封閉區(qū)域則把最遠(yuǎn)的兩點(diǎn)選為起、止點(diǎn)。2)檢查是否滿足要求,如不滿足,則從距當(dāng)前擬合直線最遠(yuǎn)點(diǎn)處將當(dāng)前擬合直線 分裂成兩部分,并遞歸地進(jìn)行這一步驟,直至滿足條件。本發(fā)明中,所說(shuō)的對(duì)各個(gè)圖層中的圖形對(duì)象數(shù)據(jù),基于動(dòng)畫角色造型對(duì)象的部位 關(guān)聯(lián)采用自動(dòng)拓?fù)渌惴?,建立各層中圖形對(duì)象的相互關(guān)系,構(gòu)建區(qū)域,包括如下步驟1)建立初始化弧段鏈表,并初始化弧段鏈表中的所有弧段給所有弧段的左右區(qū) 域碼賦初值,一般取-1,表示一個(gè)無(wú)效的編碼值。2)遍歷弧段鏈表,搜索所有弧段的首尾端點(diǎn)(即結(jié)點(diǎn)),建立結(jié)點(diǎn)鏈表。結(jié)點(diǎn)鏈表 中的每一個(gè)結(jié)點(diǎn)元素不僅記錄結(jié)點(diǎn)位置(x,y),而且其中建立有相應(yīng)的連接弧段鏈表。連 接弧段鏈表中的每一元素記錄結(jié)點(diǎn)位于相連弧段的部位(頭/尾)。所有連接弧段按其與 結(jié)點(diǎn)的連接方位角在連接弧段鏈表中從大到小排序。連接方位角的確定原則是以結(jié)點(diǎn)為 原點(diǎn),以Y軸正方向?yàn)檎狈较?,取值范圍?0,360)。如圖11所示,結(jié)點(diǎn)鏈表中以N為代 表的結(jié)點(diǎn)元素不僅記錄了 N的坐標(biāo)位置,而且管理一個(gè)連接弧段鏈表,其中有3個(gè)連接弧段 元素,在鏈表中的先后次序?yàn)锳l,A2,A3。3)從弧段鏈表中順次選擇起始弧段進(jìn)行多邊形邊界搜索若當(dāng)前弧段左區(qū)域的 左碼為-1,將其作為起始弧段,選擇其尾結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn),繼續(xù)步驟4。否則,若其右碼值 為-1,也將其作為起始弧段,選擇其頭結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn),接著繼續(xù)下述的步驟4。若當(dāng)前弧 段左右碼均非-1,從弧段鏈表中選擇下一弧段,繼續(xù)本步驟。若所有弧段的左右碼已經(jīng)均 非-1,表明所有弧段的兩側(cè)都已被搜索,跳至進(jìn)行步驟7。4)搜索一個(gè)完整的多邊形邊界在結(jié)點(diǎn)鏈表中定位當(dāng)前結(jié)點(diǎn),按逆時(shí)針?lè)较蛟谄?連接弧段鏈表中尋找起始弧段的后繼弧段,把后繼弧段的另一端點(diǎn)設(shè)為當(dāng)前結(jié)點(diǎn),重復(fù)進(jìn) 行后繼弧段尋找工作,直到返回到起始弧段,表明一個(gè)完整的多邊形邊界已經(jīng)整理完成。如 圖12所示,從弧段ab前進(jìn)方向左側(cè)開始搜索,形成區(qū)域內(nèi)邊界B(abca);從弧段ab前進(jìn)方 向右側(cè)開始搜索,則形成區(qū)域外邊界B (adba)。
5)通過(guò)判斷多邊形的方向來(lái)判斷多邊形邊界的區(qū)域歸屬通過(guò)上述步驟4形成的 多邊形為區(qū)域的外邊界或者為另一區(qū)域的內(nèi)邊界。由于本方法按逆時(shí)針?lè)较蛩阉鞫噙呅芜?界,故而外邊界必為逆時(shí)針多邊形,內(nèi)邊界必為順時(shí)針多邊形。通過(guò)判斷多邊形的方向,即 可判斷多邊形邊界的區(qū)域歸屬。若形成的是逆時(shí)針多邊形,往區(qū)域鏈表中加入一個(gè)區(qū)域元 素,從1開始按遞增順序賦予區(qū)域序號(hào),并把多邊形邊界弧段所屬區(qū)域側(cè)的區(qū)域碼賦予區(qū) 域序號(hào)。若形成的是順時(shí)針多邊形,往區(qū)域鏈表中加入一個(gè)負(fù)區(qū)域元素,從-1開始按遞減 順序賦予負(fù)區(qū)域序號(hào),把多邊形邊界弧段所屬區(qū)域側(cè)的區(qū)域碼賦予0值。6)返回步驟3。7)判斷負(fù)區(qū)域多邊形的邊界弧段區(qū)域碼此時(shí),所有區(qū)域的內(nèi)外多邊形邊界已經(jīng) 建立完成,而且任一區(qū)域的外邊界多邊形的所有邊界弧段的本區(qū)域側(cè)編碼已經(jīng)被賦予有效 的區(qū)域編號(hào)。然而,形成區(qū)域的內(nèi)邊界多邊形的所有邊界弧段的本區(qū)域側(cè)編碼還沒(méi)有賦予 相應(yīng)區(qū)域編號(hào),這需要進(jìn)行歸屬關(guān)系判斷。在步驟5中,把區(qū)域的內(nèi)邊的多邊形用區(qū)域編號(hào)為負(fù)值的負(fù)區(qū)域表示出來(lái)。從負(fù) 區(qū)域鏈表中順次選出一個(gè)負(fù)區(qū)域,與正常區(qū)域做判斷,求出包含該負(fù)區(qū)域的最小正常區(qū)域, 再給該負(fù)區(qū)域的所有邊界弧段外側(cè)碼賦予該正常區(qū)域編號(hào)。如圖12所示,包含C的正常多 邊形是B,而不是A。繼續(xù)這一過(guò)程,直到全部負(fù)區(qū)域的歸屬關(guān)系判斷完成為止。8)所有弧段的左右區(qū)域碼都已賦予有效的區(qū)域編號(hào),基本的拓?fù)潢P(guān)系建立完成。 本發(fā)明中,所說(shuō)的采用基于拓?fù)潢P(guān)系的多邊形配準(zhǔn)方法建立原畫關(guān)鍵幀之間的匹配對(duì)應(yīng)關(guān) 系,包括如下步驟一幀圖形內(nèi)的多邊形與相鄰幀圖形所包含的多邊形的配準(zhǔn)問(wèn)題。實(shí)際上就是一個(gè) 集合中的元素匹配另一個(gè)集合中的元素的問(wèn)題。1)確定前后幀圖形的集合,J1集合中為前一幀圖形的所有多邊形的集合(A,B, C, D...),J2集合中為后一幀圖形的所有多邊形的集合(a,b,c,d...);2)根據(jù)拓?fù)潢P(guān)系形成兩個(gè)集合的關(guān)系圖,如圖13 ;3)利用網(wǎng)絡(luò)最大流量算法計(jì)算兩個(gè)集合的最大匹配,如圖14 ;4)確定前后幀圖形的匹配對(duì)應(yīng)關(guān)系,如圖15。本發(fā)明中,所說(shuō)的根據(jù)原畫關(guān)鍵幀之間的匹配對(duì)應(yīng)關(guān)系,自動(dòng)內(nèi)插生成動(dòng)畫中間 幀,包括如下步驟1)采用角點(diǎn)檢測(cè)法和多邊形近似法相結(jié)合的算法進(jìn)行特征點(diǎn)的檢測(cè)通過(guò)角點(diǎn) 檢測(cè)法得到角點(diǎn),并在兩個(gè)相鄰的角點(diǎn)之間進(jìn)行多邊形近似求解分割點(diǎn)。其中除了在角點(diǎn) 檢測(cè)法中考慮曲率條件,在多邊形近似法中考慮閾值條件外,還進(jìn)一步考慮了曲線的線寬 條件。2)采用匹配程度方程進(jìn)行特征點(diǎn)的配對(duì)設(shè)兩條曲線C1、C2上的特征點(diǎn)集分別為 Si、S2,其中 Sl = (Pl,P2,. . .,Pn),S2 = (Ql,Q2,. . .,Qm),假定 m 彡 n,且每個(gè)特征點(diǎn)用 一個(gè)特征向量(C,x,y)來(lái)描述,其中(x,y)是特征點(diǎn)的坐標(biāo),C是特征點(diǎn)的曲率,則Pi 的特征就是(Cpi, xpi, ypi), i = 1,2,···,nQj 的特征就是(Cqj,xqj,yqj),j = 1,2,· · ·,m我們定義Pi與Qj之間的匹配程度方程為
Dij = wl!Cpi-Cqj|+w2(|xpi_xqj|+|ypi-yqj|)其中,wl和w2為權(quán)系數(shù),他們的值是由曲率與距離的相對(duì)重要程度確定的。從上 式可以看出,Dij越小,則Pi與Qj之間的匹配程度越高。但這里除了考慮匹配程度以外, 另一個(gè)必須考慮的因素是不能出現(xiàn)交叉匹配,即當(dāng)k < i,1 > j,如果Pi與Qj已經(jīng)匹配,那 么Pk與Ql的匹配是非法的。3)時(shí)序圖形的頂點(diǎn)匹配首先以匹配多邊形的關(guān)鍵點(diǎn)為控制點(diǎn),沒(méi)有配對(duì)的關(guān) 鍵點(diǎn)不予考慮。然后在對(duì)關(guān)鍵之間的各頂點(diǎn)采用步驟1和2完成特征點(diǎn)配對(duì),最后在特征 點(diǎn)之間按照頂點(diǎn)排列順序一一對(duì)應(yīng),頂點(diǎn)數(shù)不相同的按照頂點(diǎn)補(bǔ)償策略進(jìn)行補(bǔ)償處理。4)采用多邊形匹配頂點(diǎn)變化軌跡的單調(diào)圓弧算法內(nèi)插中間幀。假定前一關(guān)鍵幀和后一關(guān)鍵幀的匹配多邊形頂點(diǎn)一樣多,設(shè)一個(gè)變化過(guò)程的圖形 的初始狀態(tài)、終止?fàn)顟B(tài)分別為A,B。A= [AO, Al,... An],B = [B0, Bi,…Bn] ;Ai, Bi分別 為A,B多邊形的頂點(diǎn)序列。如果用多邊形的邊向量序列來(lái)表示多邊形a = {al, a2, ...an},b = {bl, 匕2,...虹},其中£1士(土 = 1,2,...η)是初始狀態(tài)多邊形的邊向量,bj(j = 1,2,...η)是終 止多邊形的邊向量。則對(duì)各組邊向量進(jìn)行線性插值為Ck (t) = (l-t)*ak+t*bk,t e
,k = 1,2. · · η。如果多邊形在t e
時(shí)間段內(nèi)發(fā)生了形變,其邊長(zhǎng)會(huì)發(fā)生伸縮變化,在不考慮 多邊形運(yùn)動(dòng)的情況下,多邊形的形變及位置旋轉(zhuǎn)變化,恰好可用起點(diǎn)在坐標(biāo)原點(diǎn)的邊向量 (或稱頂點(diǎn)向量)的變化來(lái)描述。設(shè)用不帶下標(biāo)的S,D表示某一頂點(diǎn)的初始狀態(tài)及終止?fàn)顟B(tài),用不帶下標(biāo)的s, d表 示相應(yīng)的始點(diǎn)在原點(diǎn)的邊向量的初始狀態(tài)和終止?fàn)顟B(tài)。如圖16所示,某邊長(zhǎng)從s變到d,而頂點(diǎn)從S變到D,其旋轉(zhuǎn)位置變化用θ表示, 若進(jìn)行邊向量線性插值C (t) = (l-t)*s+t*d,t e
則C(t)于t e
的變化不 一定單調(diào),這樣就引起邊長(zhǎng)長(zhǎng)度的變化由大到小再變大的畸變,使圖形產(chǎn)生自交或扭曲,甚
至失真嚴(yán)重??梢宰C明,在ASOD中,如果角θ與另外任意銳角的和小于等于90°,則| c (t) 在t e
是單調(diào)的,如圖17所示。除次之外,為使|c(t) I變化單調(diào),多邊形頂點(diǎn)由S 到D的變化軌跡不應(yīng)該為直線段,而應(yīng)該為特定情形的曲線弧。算法步驟如下步驟一在源多邊形A= [Α0,Α1,...Αη]中取頂點(diǎn)Ai(i =0,1...η),以坐標(biāo)原點(diǎn) 為起始點(diǎn),生成向量s,在目標(biāo)多邊形B= [ΒΟ,ΒΙ,.,.Βη]中取對(duì)應(yīng)匹配點(diǎn)Bi (i = 1,2. . . η) 生成向量d;步驟二計(jì)算向量s和向量d的夾角Θ,當(dāng)θ彡90°時(shí),采用線性插值c (t)= (l-t)*s+t*d,t e
求得的c(t)即為中間多邊形V= [V0,Vl,.. .Vn]的頂點(diǎn)Vi對(duì)應(yīng) 的向量,當(dāng)θ >90°時(shí),轉(zhuǎn)向第3步驟;步驟三比較向量s和d的長(zhǎng)度,若|s| > |d|,令m = d,否則m=s。計(jì)算線段 AOBO的垂直平分線和m所在直線的交點(diǎn),記交點(diǎn)為0(x0,y0);步驟四以點(diǎn)0為圓心,以線段OS為半徑,做圓(x-x0)2+(y-x0)2 = r2步驟五計(jì)算向量c(t) = (l-t)*s+t*d,t e
所在直線和圓(x-x0)2+(y-x0)2 = r2的交點(diǎn),即為中間多邊形頂點(diǎn)VO0 重復(fù)調(diào)用上述算法n+1次后,得到中間插值多邊形V=[V0,Vl,...Vn]的頂點(diǎn)序 列 V0,VI,…Vn。
權(quán)利要求
一種智能無(wú)紙卡通制作方法,其特征是包括以下步驟1)原畫紙稿掃描和除噪處理;2)掃描圖像的糾正對(duì)準(zhǔn)通過(guò)對(duì)掃描圖像進(jìn)行旋轉(zhuǎn)和平移,保證掃描圖像中的三個(gè)定位孔中心坐標(biāo)與標(biāo)準(zhǔn)樣圖中定位孔中心坐標(biāo)的差在0.1毫米以內(nèi);3)在掃描圖像上,對(duì)其中的角色造型線條采用線跟蹤細(xì)化算法進(jìn)行細(xì)化;4)對(duì)細(xì)化后的圖像采用分裂式的直線段逼近算法進(jìn)行自動(dòng)矢量化跟蹤處理,得到掃描原畫的矢量格式圖形;5)根據(jù)矢量格式圖形中多邊形相互之間的壓蓋情況,按照完全壓蓋、局部壓蓋、不壓蓋的順序?qū)κ噶扛袷降脑嫈?shù)據(jù)進(jìn)行分層,并把不存在匹配對(duì)應(yīng)關(guān)系的矢量對(duì)象提取出來(lái)放在某一個(gè)或某幾個(gè)相對(duì)獨(dú)立的圖層中;6)對(duì)各個(gè)圖層中的圖形對(duì)象數(shù)據(jù),基于動(dòng)畫角色造型對(duì)象的部位關(guān)聯(lián)采用自動(dòng)拓?fù)渌惴?,建立各圖層中圖形對(duì)象的相互關(guān)系,構(gòu)建區(qū)域;7)通過(guò)人機(jī)交互的方式,對(duì)步驟5和步驟6中自動(dòng)生成的內(nèi)容進(jìn)行編輯修改;8)采用基于拓?fù)潢P(guān)系的多邊形配準(zhǔn)方法建立原畫關(guān)鍵幀之間的匹配對(duì)應(yīng)關(guān)系;9)根據(jù)原畫關(guān)鍵幀之間的匹配對(duì)應(yīng)關(guān)系,自動(dòng)內(nèi)插生成動(dòng)畫中間幀;10)自動(dòng)上色并輸出視頻序列圖像。
2.根據(jù)權(quán)利要求1所述方法,其特征是所述的掃描圖像的糾正對(duì)準(zhǔn)通過(guò)對(duì)掃描圖像 進(jìn)行旋轉(zhuǎn)和平移,保證掃描圖像中的三個(gè)定位孔中心坐標(biāo)與標(biāo)準(zhǔn)樣圖中定位孔中心坐標(biāo) 的差在0. 1毫米以內(nèi),包括如下步驟1)采用模板匹配算法,得到三個(gè)定位孔中心在掃描圖像中的位置信息;2)由第一個(gè)定位孔和第三個(gè)定位孔的中心點(diǎn)確定連接三個(gè)定位孔的直線方程;3)以標(biāo)準(zhǔn)樣片中第一個(gè)定位孔和第三個(gè)定位孔中心點(diǎn)確定的直線和所述第2)步計(jì)算 得到的直線的夾角為旋轉(zhuǎn)角α,進(jìn)行旋轉(zhuǎn)糾正;4)以標(biāo)準(zhǔn)樣圖中第二個(gè)定位孔的中心點(diǎn)為基準(zhǔn)點(diǎn),計(jì)算旋轉(zhuǎn)后掃描圖像和標(biāo)準(zhǔn)樣圖之 間的平移量;5)根據(jù)平移量進(jìn)行平移糾正。
3.根據(jù)權(quán)利要求1所述方法,其特征是所述的在掃描圖像上,對(duì)其中的角色造型線條 采用線跟蹤細(xì)化算法進(jìn)行細(xì)化,包括如下步驟1)選取跟蹤起始點(diǎn);2)定義跟蹤窗口用跟蹤起始點(diǎn)1\和Pk作為對(duì)角線的兩個(gè)端點(diǎn),定義一個(gè)矩形;3)移動(dòng)跟蹤窗口令跟蹤起始點(diǎn)&和Pk每次移動(dòng)m個(gè)像素;4)跟蹤窗口分析首先在當(dāng)前窗口內(nèi),用一個(gè)指針沿線劃輪廓和窗口邊,從跟蹤起始 點(diǎn)Pk指向的輪廓點(diǎn),逆時(shí)針移動(dòng)到跟蹤起始點(diǎn)&指向的輪廓點(diǎn),然后統(tǒng)計(jì)其間與窗口邊相 遇的次數(shù),決定窗口內(nèi)部是否包含交叉點(diǎn);5)細(xì)化交叉點(diǎn)求出窗口內(nèi)每個(gè)輪廓片段的曲率最大的輪廓點(diǎn),然后將這些輪廓點(diǎn)的 幾何中心作為交叉點(diǎn)。并把這個(gè)交叉點(diǎn)作為一種特殊端點(diǎn)記錄下來(lái);6)跟蹤細(xì)化輪廓線當(dāng)對(duì)輪廓線進(jìn)行跟蹤細(xì)化時(shí),遇到下面兩種情況就終止跟蹤a.跟蹤起始點(diǎn)&和Pk相遇,說(shuō)明到了線端;b.跟蹤起始點(diǎn)&和Pk都遇到了已標(biāo)記點(diǎn),說(shuō)明回到某個(gè)交叉點(diǎn)處。
4.根據(jù)權(quán)利要求3所述方法,其特征是所述的選取跟蹤起始點(diǎn)包括以下步驟從初始跟蹤起始點(diǎn)隊(duì)列中取出一個(gè)初始跟蹤起始點(diǎn)P,從初始跟蹤起始點(diǎn)P點(diǎn)沿輪廓 線分別向左右移動(dòng)一個(gè)常數(shù),得到兩個(gè)輪廓點(diǎn)&和Pk作為跟蹤起始點(diǎn),定義確定一個(gè)窗口, 然后在當(dāng)前窗口內(nèi),用一個(gè)指針沿線劃輪廓和窗口邊,從Pk指向的輪廓點(diǎn),逆時(shí)針移動(dòng)到 指向的輪廓點(diǎn),然后統(tǒng)計(jì)其間與窗口邊相遇的次數(shù),若相遇兩次,說(shuō)明初始跟蹤起始點(diǎn)P即 是線端,選取初始跟蹤起始點(diǎn)P左右相鄰兩點(diǎn)&和Pk為跟蹤起始點(diǎn);若相遇次數(shù)大于兩次, 說(shuō)明初始跟蹤起始點(diǎn)P點(diǎn)不是線端,求出窗口內(nèi)兩側(cè)輪廓線寬度最小處的兩跟蹤起始點(diǎn)& 和PkS跟蹤起始點(diǎn)。
5.根據(jù)權(quán)利要求1所述方法,其特征是所述的對(duì)細(xì)化后的圖像采用分裂式的直線段逼 近算法進(jìn)行自動(dòng)矢量化跟蹤處理,得到掃描原畫的矢量格式圖形,包括如下步驟1)找出起始和終止點(diǎn),對(duì)于封閉區(qū)域則把最遠(yuǎn)的兩點(diǎn)選為起、止點(diǎn);2)檢查是否滿足要求,如不滿足,則從距當(dāng)前擬合直線最遠(yuǎn)點(diǎn)處將當(dāng)前擬合直線分裂 成兩部分,并遞歸地進(jìn)行這一步驟,直至滿足條件。
6.根據(jù)權(quán)利要求1所述方法,其特征是所述的的對(duì)各個(gè)圖層中的圖形對(duì)象數(shù)據(jù),基于 動(dòng)畫角色造型對(duì)象的部位關(guān)聯(lián)采用自動(dòng)拓?fù)渌惴ǎ⒏鲗又袌D形對(duì)象的相互關(guān)系,構(gòu)建 區(qū)域,包括如下步驟1)建立初始化弧段鏈表,并初始化弧段鏈表中的所有弧段給所有弧段的左右區(qū)域碼 賦初值,一般取-1,表示一個(gè)無(wú)效的編碼值;2)遍歷弧段鏈表,搜索所有弧段的首尾端點(diǎn),建立結(jié)點(diǎn)鏈表。結(jié)點(diǎn)鏈表中的每一個(gè)結(jié) 點(diǎn)元素不僅記錄結(jié)點(diǎn)位置(χ,y),而且其中建立有相應(yīng)的連接弧段鏈表;3)從弧段鏈表中順次選擇起始弧段進(jìn)行多邊形邊界搜索若當(dāng)前弧段左區(qū)域的左碼為-1,將其作為起始弧段,選擇其尾結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn),繼續(xù)步 驟4,否則,若其右碼值為-1,也將其作為起始弧段,選擇其頭結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn),接著繼續(xù)下述的步 驟4;若當(dāng)前弧段左右碼均非-1,從弧段鏈表中選擇下一弧段,繼續(xù)本步驟;若所有弧段的 左右碼已經(jīng)均非-1,表明所有弧段的兩側(cè)都已被搜索,跳至進(jìn)行步驟7 ;4)搜索一個(gè)完整的多邊形邊界在結(jié)點(diǎn)鏈表中定位當(dāng)前結(jié)點(diǎn),按逆時(shí)針?lè)较蚧蛘甙错?時(shí)針?lè)较颍谄溥B接弧段鏈表中尋找起始弧段的后繼弧段,把后繼弧段的另一端點(diǎn)設(shè)為當(dāng) 前結(jié)點(diǎn),重復(fù)進(jìn)行后繼弧段尋找工作,直到返回到起始弧段,表明一個(gè)完整的多邊形邊界已 經(jīng)整理完成;5)通過(guò)判斷多邊形的方向來(lái)判斷多邊形邊界的區(qū)域歸屬;6)返回步驟3;7)判斷負(fù)區(qū)域多邊形的邊界弧段區(qū)域碼此時(shí),所有區(qū)域的內(nèi)外多邊形邊界已經(jīng)建立 完成,而且任一區(qū)域的外邊界多邊形的所有邊界弧段的本區(qū)域側(cè)編碼已經(jīng)被賦予有效的區(qū) 域編號(hào);8)所有弧段的左右區(qū)域碼都已賦予有效的區(qū)域編號(hào),基本的拓?fù)潢P(guān)系建立完成。
7.根據(jù)權(quán)利要求1所述方法,其特征是所述的采用基于拓?fù)潢P(guān)系的多邊形配準(zhǔn)方法建 立原畫關(guān)鍵幀之間的匹配對(duì)應(yīng)關(guān)系,包括如下步驟1)確定前后幀圖形的集合;2)根據(jù)拓?fù)潢P(guān)系形成兩個(gè)集合的關(guān)系圖;3)利用網(wǎng)絡(luò)最大流量算法計(jì)算兩個(gè)集合的最大匹配;4)確定前后幀圖形的匹配對(duì)應(yīng)關(guān)系。
8.根據(jù)權(quán)利要求1所述方法,其特征是所述的根據(jù)原畫關(guān)鍵幀之間的匹配對(duì)應(yīng)關(guān)系, 自動(dòng)內(nèi)插生成動(dòng)畫中間幀,包括如下步驟1)采用角點(diǎn)檢測(cè)法和多邊形近似法相結(jié)合的算法進(jìn)行特征點(diǎn)的檢測(cè);2)采用匹配程度方程進(jìn)行特征點(diǎn)的配對(duì);3)時(shí)序圖形的頂點(diǎn)匹配首先以匹配多邊形的關(guān)鍵點(diǎn)為控制點(diǎn),然后在對(duì)關(guān)鍵之間的 各頂點(diǎn)采用上述步驟1和2完成特征點(diǎn)配對(duì),最后在特征點(diǎn)之間按照頂點(diǎn)排列順序一一對(duì) 應(yīng),頂點(diǎn)數(shù)不相同的按照頂點(diǎn)補(bǔ)償策略進(jìn)行補(bǔ)償處理;4)采用多邊形匹配頂點(diǎn)變化軌跡的單調(diào)圓弧算法內(nèi)插中間幀。
9.根據(jù)權(quán)利要求8所述方法,其特征是所述的采用多邊形匹配頂點(diǎn)變化軌跡的單調(diào)圓 弧算法內(nèi)插中間幀,包括以下步驟1)在源多邊形A=[AO, Al,... An]中取頂點(diǎn)Ai (i = 0,1. . . η),以坐標(biāo)原點(diǎn)為起始點(diǎn), 生成向量s,在目標(biāo)多邊形B = [BO, Bi, ...Bn]中取對(duì)應(yīng)匹配點(diǎn)Bi (i = 1,2. ..η)生成向 量d;2)計(jì)算向量s和向量d的夾角θ,當(dāng)θ彡90°時(shí),采用線性插值c⑴= (l-t)*s+t*d,t e
求得的c(t)即為中間多邊形V= [V0,Vl,.. .Vn]的頂點(diǎn)Vi對(duì)應(yīng) 的向量,當(dāng)θ >90°時(shí),轉(zhuǎn)向下述步驟3;3)比較向量s和d的長(zhǎng)度,若|s|> |d|,令m = d,否則m=s,計(jì)算線段AOBO的垂直 平分線和m所在直線的交點(diǎn),記交點(diǎn)為0(x0,y0);4)以點(diǎn)0為圓心,以線段OS為半徑,做圓(X-X0)2+(y-X0)2= r2;5)計(jì)算向量c(t) = (l-t)*s+t*d,t e
所在直線和圓(x-x0)2+(y-x0)2 = r2 的 交點(diǎn),即為中間多邊形頂點(diǎn)V0;重復(fù)調(diào)用上述算法n+1次后,得到中間插值多邊形V= [V0,V1,... Vn]的頂點(diǎn)序列V0, VI,· · · Vn。
全文摘要
本發(fā)明提供一種智能無(wú)紙卡通制作方法,本發(fā)明要解決的問(wèn)題就是建立原畫之間的內(nèi)在聯(lián)系,實(shí)現(xiàn)動(dòng)畫的計(jì)算機(jī)自動(dòng)生成,同時(shí)取代計(jì)算機(jī)逐幀人工上色,自動(dòng)完成正稿上色。本發(fā)明的自動(dòng)插幀不僅代替了目前流程中手工勞動(dòng)的動(dòng)畫、謄清部分,而且使得目前流程中計(jì)算機(jī)處理部分的正稿上色完全實(shí)現(xiàn)自動(dòng)化,本發(fā)明經(jīng)過(guò)制作實(shí)踐證明具有有效節(jié)約制作成本、有效提高制作效率、有效保證動(dòng)作畫質(zhì)量等優(yōu)點(diǎn)。
文檔編號(hào)G06T9/00GK101894391SQ20101020872
公開日2010年11月24日 申請(qǐng)日期2010年6月24日 優(yōu)先權(quán)日2010年6月24日
發(fā)明者張寶印, 沈?qū)W如 申請(qǐng)人:江蘇如意通動(dòng)漫產(chǎn)業(yè)有限公司