基于輪廓線的圖像變形技術(shù)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,具體涉及一種基于輪廓線的圖像變形方法,可對 圖像進(jìn)行變形操作。
【背景技術(shù)】
[0002] 圖像變形技術(shù)在動畫制作、影像特效處理、醫(yī)學(xué)影像處理等方面都有重要應(yīng)用。用 戶通過對一副圖像進(jìn)行變形操作,不僅可W修飾圖像上不滿意的區(qū)域,還可W通過夸張某 些特征達(dá)到愉悅身也的目的。此外,可用多張漸變的圖片來生成動畫,圖像變形的算法還可 用來生成特效影像。在醫(yī)學(xué)整容方面,醫(yī)生可W在手術(shù)之前通過圖像變形生成目標(biāo)圖像,根 據(jù)目標(biāo)圖像實(shí)施手術(shù)過程,降低手術(shù)風(fēng)險(xiǎn)。
[0003] 現(xiàn)有的圖像變形算法都沒有進(jìn)行圖像分割,因此用戶的變形操作都是對整張圖片 進(jìn)行變形,目標(biāo)變形區(qū)域W外的區(qū)域都不可避免受到影響而出現(xiàn)扭曲。FFD技術(shù)是最早應(yīng) 用于圖像變形領(lǐng)域的算法,請參見RonM.,KennethI. :Rree-formdeformationswith latticesofarbitrarytopology[C].SIGGRAPH'96Proceedingsofthe23rdannual conferenceonComputergraphicsandinteractivetechniques, 1996,pp. 181-188.它 被廣泛地使用在各軟件中,該算法將變形網(wǎng)格嵌入到整張圖片中,用戶通過對網(wǎng)格的拖動 來改變網(wǎng)格的形狀,再由拖動前后兩張網(wǎng)格的映射關(guān)系約束圖像上所有點(diǎn)的移動達(dá)到變形 圖像的目的,該種方法無法控制具體的變形區(qū)域,如果變形區(qū)域較大,整張圖片都會產(chǎn)生嚴(yán) 重扭曲。MLS圖像變形算法通過設(shè)置權(quán)值的方式試圖減小變形操作對變形區(qū)域W外區(qū)域的 影響,請參見ScottS. ,TravisM. ,JoeW. :Imagedeformationusingmovingleast squaresLJ].ProceedingsofACMSIGGRAPH,06, 2006, 25(3) :pp. 533-540,但是該種方法 對距離變形區(qū)域較近的區(qū)域仍然會產(chǎn)生明顯的影響。
[0004] 現(xiàn)有的對特定區(qū)域的變形方法在區(qū)域確定后便可W達(dá)到對圖像的分割目的,且產(chǎn) 生較好的變形效果,《一種H維人臉重建方法》(中國專利號CN101751689B,公開日期;2012 年2月22日)就是對人臉變形的實(shí)際應(yīng)用。但是該種對特定區(qū)域變形的方法無法應(yīng)用于圖 片中的其它區(qū)域。再則,對特定區(qū)域的變形也是對該區(qū)域的整體進(jìn)行變形,無法做到對區(qū)域 中細(xì)節(jié)的修整。
[0005] 另外,最能反映圖片上的物體形態(tài)特征的就是物體的輪廓線,而現(xiàn)有方法都無法 準(zhǔn)確調(diào)節(jié)輪廓線的形狀來產(chǎn)生用戶想要的變形效果,所W用戶的變形體驗(yàn)會大打折扣。
【發(fā)明內(nèi)容】
[0006] 針對上述問題,本發(fā)明提出一種基于輪廓線的圖像變形方法。由于圖像的邊緣曲 線可W根據(jù)圖像上的灰度信息將圖像進(jìn)行分割,所W可近似看做輪廓線。由于對圖像變形 的過程是和用戶互動的過程,所W用戶也可W添加或修復(fù)輪廓線。通過輪廓線對圖像進(jìn)行 分割,可有效地消除變形操作對變形區(qū)域W外的區(qū)域產(chǎn)生的影響。同時(shí),用戶的變形操作是 直接對輪廓線的變形操作,所W可W準(zhǔn)確地得到用戶想要的形狀。
[0007] 本發(fā)明的技術(shù)方案是提供一種基于輪廓線的圖像變形方法,下面將闡述各實(shí)施步 驟。
[000引步驟1 ;將圖像的顏色空間由RGB轉(zhuǎn)為1油。
[0009] 步驟2 ;對圖像在L油顏色空間中使用雙邊濾波器進(jìn)行雙邊濾波。
[0010] 步驟3 ;將濾波后的圖像顏色空間由L油轉(zhuǎn)換為RGB。
[0011] 步驟4 ;將該RGB圖像轉(zhuǎn)換為灰度圖像后使用Canny邊緣檢測算子進(jìn)行邊緣檢測 得到一幅邊緣圖像,將該邊緣圖像上的邊緣曲線作為輪廓線,同時(shí)用戶可W添加或擦除輪 廓線。
[0012] 步驟5 ;用戶選取邊緣圖片上的某兩點(diǎn)作為銷點(diǎn)確定要拖動的輪廓線。
[001引步驟6 ;用戶點(diǎn)選廓線上的某點(diǎn)為拖動點(diǎn),兩兩連接銷點(diǎn)和拖動點(diǎn)得 到一組向量,每個(gè)向量和其各自的正交向量一起構(gòu)建一個(gè)二維平面的基,記為 巧,J^,其中,K為單位向量,為K的正交單位向量。
[0014] 步驟7 ;用戶對該拖動點(diǎn)進(jìn)行拉伸或者壓縮得到目的拖動點(diǎn),用和步驟6同樣的方 法可得到另外一組基,第1個(gè)基記為,和步驟6中對應(yīng)。
[0015] 步驟8 ;輪廓線上任意點(diǎn)P在變形前第^個(gè)基中坐標(biāo)為變形 后的對應(yīng)點(diǎn)^'在第^個(gè)基中的坐標(biāo)為切^*>,其中P和P均為二維列向量,要 求W拖動比例放縮后最大限度地等于》,即求
其中,S為第I-個(gè)向量的拖動比例,
為對應(yīng)K的未單位化向量, 為對應(yīng)i的未單位化向量,_^為和ITi垂直方向上的向量|/和之間的放縮比例,
泣為用戶變形參數(shù),用來調(diào)節(jié)垂方向上的放縮比例。為各基的權(quán)值,該里, 我們?nèi)?br>(2) 其中,^為用戶變形參數(shù),用來調(diào)節(jié)變形后的光滑度,由于
'
'M為 各基的原點(diǎn),所W求變形后的位置P'就轉(zhuǎn)化為求如下最小二乘問題的解:
求得F后將其作為拖動后輪廓線上的點(diǎn),求得所有的點(diǎn)后按順序連接各點(diǎn),平滑處理 后得到變形后輪廓線。
[0016] 步驟9 ;用戶通過調(diào)節(jié)式(3)中的變形參數(shù)調(diào)整輪廓線的形狀W得到想要的變形 形狀。
[0017] 步驟10 ;根據(jù)拖動后的輪廓線確定變形區(qū)域,確定變形區(qū)域的方法如下: 方法1 ;直線連接步驟5中的兩銷點(diǎn)得到一直線和變形后的輪廓線一起構(gòu)成封閉的區(qū) 域,將該區(qū)域作為變形區(qū)域; 方法2 ;用戶重復(fù)步驟6-9來得到另外一條變形后輪廓線,其中銷點(diǎn)仍為步驟5中的銷 點(diǎn),該輪廓線和前一條輪廓線一起組成封閉區(qū)域作為變形區(qū)域。
[0018] 步驟11 ;變形區(qū)域中任意位置P?上的點(diǎn)在變形后第1個(gè)基巧,^)中坐標(biāo)為 切^,少4),該點(diǎn)對應(yīng)于變形前圖片上的點(diǎn)P,點(diǎn)P在拖動前第i個(gè)基CJi自,J^>中的坐標(biāo)為 切,同樣要求W拖動比例放縮后最大限度地等于即求:
式中?/ = ,其它所有變量的意義同式(1)、式(2)、式(3),將求得的點(diǎn)P上的 像素插入點(diǎn)P,變形區(qū)域中所有點(diǎn)的像素插值完成后即生成了變形后圖像。當(dāng)用戶對輪廓 線進(jìn)行拖動后所確定的變形區(qū)域無法完全覆蓋原輪廓線所確定的區(qū)域時(shí),在圖像上將會出 現(xiàn)空白區(qū)域。由于輪廓線對圖片按灰度進(jìn)行了區(qū)域分割,所W同一區(qū)域中的顏色紋理差異 不大。對此,本算法將使用同一區(qū)域的像素對空白區(qū)域進(jìn)行均值填充,即
該里,
為空白區(qū)域中任意一點(diǎn)F的像素值,巧為P的8鄰域 的點(diǎn),為H的像素值,及^為P所在區(qū)域,當(dāng)B和P屬于同一區(qū)域時(shí),才將其加權(quán)填充。
[0019] 步驟12 ;用戶調(diào)節(jié)步驟9中的參數(shù),將變形區(qū)域中的顏色紋理調(diào)整至最清晰狀態(tài)。
[0020] 與現(xiàn)有技術(shù)相比,本發(fā)明具有W下有益效果: 1、 本發(fā)明使用輪廓線來變形,可由輪廓線對圖像進(jìn)行分割,即由變形后輪廓線確定出 變形區(qū)域,所W不會對非變形區(qū)域產(chǎn)生任何影響,消除了W往方法扭曲圖像非變形區(qū)域的 巨大缺陷; 2、 本發(fā)明直接對輪廓線進(jìn)行變形,用戶通過調(diào)節(jié)變形參數(shù)來調(diào)整輪廓線的形狀,可得 到最理想的變形形狀,克服了現(xiàn)有方法中用戶不能準(zhǔn)確調(diào)整變形形狀的缺陷。
【附圖說明】
[0021] 圖1為本方法執(zhí)行的流程圖。
[0022] 圖2中(a)圖為待變形圖像,化)圖為其邊緣圖像。
[0023] 圖3為1個(gè)拖動點(diǎn)的原理示意圖。
[0024] 圖4為2個(gè)拖動點(diǎn)的原理示意圖。
[00巧]圖5為其它變形參數(shù)不變變換〇值時(shí)的輪廓線形狀和變形圖像。
[0026] 圖6為其它參數(shù)不變變換參數(shù)a值時(shí)的輪廓線形狀和變形圖像。
[0027] 圖7為其它參數(shù)不變變換參數(shù)片值時(shí)的輪廓線形狀和變形圖像。
[0028] 圖8中左圖標(biāo)出待均值填充的空白區(qū)域,該圖片已經(jīng)用輪廓線進(jìn)行了分割,右圖 為均值填充后的結(jié)果。
[0029] 圖9中(a)圖為變形后輪廓線,化)圖為變形后的圖像。
【具體實(shí)施方式】
[0030] 下面結(jié)合附圖和具體實(shí)例對本發(fā)明進(jìn)一步說明,本發(fā)明采用用戶拖動輪廓線的方 式對圖像進(jìn)行變形,圖1是本發(fā)明具體的實(shí)施步驟,W圖2(a)中的圖片為例來演示各實(shí)施 步驟。
[003。步驟1;將圖片的顏色空間由RGB轉(zhuǎn)為1油。
[0032] 步驟2;對圖片在L油顏色空間中使用雙邊濾波器進(jìn)行雙邊濾波。
[0033] 步驟3;將濾波后圖片的顏色空間由L油轉(zhuǎn)換為RGB。
[0034] 步驟4;將該RGB圖片轉(zhuǎn)換為灰度圖片后使用Canny邊緣檢測算子進(jìn)行邊緣檢測 得到一幅邊緣圖像,如圖2(b)所示,將該邊緣圖像上的邊緣