《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 一種多圖層任意形狀膜版的圖像疊加技術(shù)
一種多圖層任意形狀膜版的圖像疊加技術(shù)
童曉陽(yáng)
(西南交通大學(xué) 電氣工程學(xué)院,四川 成都610031)
摘要: 針對(duì)在背景圖像開出任意形狀的剪裁區(qū)域(膜版)填充前景圖像的問題,采用多圖層方法,在背景和前景圖像之間增加一個(gè)存放膜版的圖層,提出一種多圖層任意形狀膜版的圖像疊加技術(shù),介紹了其工作原理和具體算法,并討論了其運(yùn)行實(shí)例。
Abstract:
Key words :

摘   要: 針對(duì)在背景圖像開出任意形狀的剪裁區(qū)域(膜版)填充前景圖像的問題,采用多圖層方法,在背景和前景圖像之間增加一個(gè)存放膜版的圖層,提出一種多圖層任意形狀膜版的圖像疊加技術(shù),介紹了其工作原理和具體算法,并討論了其運(yùn)行實(shí)例。
關(guān)鍵詞: 圖像疊加  區(qū)域連通性  膜版  多圖層

  在處理圖像的過程中,常常需要在背景圖像開出任意形狀的剪裁區(qū)域來(lái)填充前景圖像,使得前景圖像在背景給定范圍內(nèi)顯示和活動(dòng)。Photoshop軟件采用套索工具,微軟的畫圖軟件采用“任意形狀的剪裁”工具,二種方式均可獲得任意形狀的圖像。但這種疊加需求實(shí)際上是想要事先獲得一個(gè)任意形狀外輪廓,然后在背景的該輪廓區(qū)域內(nèi)填充上前景圖像,現(xiàn)有軟件較難實(shí)現(xiàn)或?qū)崿F(xiàn)起來(lái)較繁瑣。
  為解決該問題,本文借鑒Photoshop軟件的多圖層制作思想,先提取或勾勒出任意形狀的剪裁區(qū)域(膜版),形成底色為白色的膜版圖層。再通過程序?qū)υ搱D層進(jìn)行二值化、求取膜版外接矩形、消除其內(nèi)部白色孤立點(diǎn)、利用區(qū)域連通性消除其內(nèi)部白色孤立區(qū)域等處理,形成黑色膜版,再將它與背景和前景疊加獲得復(fù)合圖像。本文給出了該疊加技術(shù)的工作原理和具體算法,通過實(shí)例說(shuō)明達(dá)到的效果,并討論了該技術(shù)的擴(kuò)展使用。
1  多圖層膜版疊加技術(shù)的工作原理
  本疊加技術(shù)的主要思路是,先由美工人員運(yùn)用Photoshop的套索工具或畫圖軟件的“任意形狀的剪裁”工具在一張包含有目標(biāo)膜版的原始圖像上,提取所需的任意形狀的剪裁區(qū)域,然后復(fù)制、粘貼到一個(gè)底色為白色的圖像上,此時(shí)膜版內(nèi)部仍保留原始圖像。當(dāng)圖像結(jié)構(gòu)和顏色復(fù)雜時(shí),如果采用手工將膜版內(nèi)部填充或涂成黑色則很繁瑣。因此這里采取專門的處理算法可將膜版內(nèi)部全部變成黑色,得到的就是完整的膜版圖層,再將膜版圖像存成文件即可。進(jìn)行圖像疊加時(shí),判斷背景上的點(diǎn)是否屬于膜版區(qū)域,如果屬于,則把背景上該點(diǎn)顏色用前景上相應(yīng)點(diǎn)顏色替代,就可達(dá)到預(yù)期的疊加目標(biāo)。整個(gè)多圖層膜板疊加技術(shù)的工作原理如圖1所示。

  膜版處理算法先對(duì)膜版原始圖像進(jìn)行二值化,變成白色或黑色,再消除膜版內(nèi)部白色孤立奇異點(diǎn)(四周8個(gè)鄰點(diǎn)均為黑色的白色點(diǎn))。求取膜版的外接矩形是為了加快處理速度。為消除膜版內(nèi)部的白色區(qū)域(白色空洞),利用區(qū)域連通性原理對(duì)膜版外接矩形內(nèi)的白色點(diǎn)進(jìn)行區(qū)域連通性計(jì)算,獲得白色點(diǎn)的連通標(biāo)記。由于膜版內(nèi)部白色區(qū)域點(diǎn)的連通標(biāo)記大于膜版外部白色點(diǎn)的連通標(biāo)記,由此判定該白色點(diǎn)為膜版內(nèi)部點(diǎn),可變成黑色,從而消除膜版內(nèi)的白色空洞,產(chǎn)生完整的黑色膜版,為疊加準(zhǔn)備好所需的膜版圖層。
2  具體算法
2.1 膜版圖像二值化
  對(duì)膜版原始圖像進(jìn)行二值化,對(duì)圖層每個(gè)點(diǎn)進(jìn)行處理,保留白色和黑色點(diǎn),把非白非黑的點(diǎn)顏色變成黑色。
2.2 消除膜版內(nèi)白色孤立點(diǎn)
  二值化后的膜版圖像可能存在一些白色孤立點(diǎn),會(huì)影響后面的疊加處理,因此需消除。消除方法是對(duì)圖像中每個(gè)白色點(diǎn)判斷其四周8個(gè)鄰點(diǎn)是否均為黑色,如果是,則將該點(diǎn)變成黑色。
2.3 求取膜版的外接矩形
  為縮小后面區(qū)域連通性計(jì)算的范圍,需要求取膜版的外接矩形,即獲得膜版的最左邊界點(diǎn)和最右邊界點(diǎn)的橫坐標(biāo)Xmin、Xmax及最上邊界點(diǎn)和最下邊界點(diǎn)的縱坐標(biāo)Ymin、Ymax。
2.4 區(qū)域連通性計(jì)算
  為消除膜版內(nèi)部的白色區(qū)域,同時(shí)避免錯(cuò)誤地消除膜版外部的白色點(diǎn),采用4鄰域法[1][2]計(jì)算圖層中外接矩形以內(nèi)白色點(diǎn)所屬的連通區(qū)域標(biāo)記。這里采用的技巧:將膜版外接矩形向外擴(kuò)大1個(gè)象素,得到外擴(kuò)矩形。求取膜版的外擴(kuò)矩形如圖2所示。該外擴(kuò)矩形上都是白色點(diǎn),先將這些點(diǎn)的連通區(qū)域標(biāo)記賦為1,再計(jì)算外接矩形內(nèi)白色點(diǎn)的連通區(qū)域標(biāo)記。這樣外接矩形以內(nèi)而膜版以外的白色點(diǎn)的標(biāo)記肯定為1,膜版內(nèi)部白色區(qū)域的標(biāo)記將大于1。圖2中,A點(diǎn)為膜版以外的白色點(diǎn),C點(diǎn)為膜版內(nèi)的白色區(qū)域中的點(diǎn),B點(diǎn)為白色孤立點(diǎn)。

  計(jì)算區(qū)域連通性的算法描述如下:
  (1)對(duì)連通標(biāo)記數(shù)組初始化,外擴(kuò)矩形四邊上的點(diǎn)標(biāo)記為1,外擴(kuò)矩形內(nèi)部黑色點(diǎn)的標(biāo)記為0。
  (2)從左至右、從上到下掃描圖像。
  (3)對(duì)于每行的各點(diǎn),如果某點(diǎn)的象素值為白色,則:如果上面點(diǎn)和左面點(diǎn)有一個(gè)標(biāo)記,則復(fù)制該標(biāo)記;如果2點(diǎn)有相同的標(biāo)記,則復(fù)制該標(biāo)記;如果2點(diǎn)有不同的標(biāo)記,則復(fù)制2點(diǎn)中較小標(biāo)記;將2標(biāo)記寫入等價(jià)表中作為等價(jià)標(biāo)記;否則給這個(gè)象素點(diǎn)分配一個(gè)新標(biāo)記,并將這一標(biāo)記寫入等價(jià)表。
  第一遍從上到下4連通序貫的相關(guān)Delphi代碼如下:
  MaxEquValue:=1;//連通標(biāo)記變量,初始為1
  for j:=Ymin to Ymax do
       for i:=Xmin to Xmax do
       begin
       if ImgTempGood.Canvas.Pixels[i,j]=clWhite then //是否白色
     begin
     if(ImgTempGood.Canvas.Pixels[i,j-1]=clBlack) and
           (ImgTempGood.Canvas.Pixels[i-1,j]=clBlack) then
        begin //上點(diǎn)和左點(diǎn)均為黑色點(diǎn)
           MaxEquValue:=MaxEquValue+1;  //新的連通標(biāo)記
           EquTable[i,j]:=MaxEquValue;  //賦值到標(biāo)記數(shù)組
    end
  else if (ImgTempGood.Canvas.Pixels[i,j-1]=clWhite)
      and (ImgTempGood.Canvas.Pixels[i-1,j]=clWhite) then
      begin        //上點(diǎn)和左點(diǎn)同時(shí)為白色點(diǎn)
        Lj_1:=EquTable[i,j-1];  //上邊點(diǎn)的標(biāo)記
     Li_1:=EquTable[i-1,j];  //左邊點(diǎn)的標(biāo)記
       if(Li_1>0) and (Lj_1>0) then  //標(biāo)記同時(shí)存在
       begin
           if Li_1=Lj_1 then   //上點(diǎn)和左點(diǎn)標(biāo)記相同
         EquTable[i,j]:=Li_1
     else  //上點(diǎn)和左點(diǎn)標(biāo)記不相同,取二者中小的
        EquTable[i,j]:=MIN(Li_1,Lj_1);
    end;
    end  //end for else if
else   //上點(diǎn)或左點(diǎn)只有一個(gè)為白色點(diǎn)
begin
     //上點(diǎn)為1,且有標(biāo)記L,則該點(diǎn)的標(biāo)記也為L(zhǎng),上點(diǎn)優(yōu)先
     if(ImgTempGood.Canvas.Pixels[i,j-1]=clWhite) and
      (EquTable[i,j-1]>0) then
      EquTable[i,j]:=EquTable[i,j-1]
         //左點(diǎn)為1,且有標(biāo)記L,則該點(diǎn)的標(biāo)記也為L(zhǎng)
     else if(ImgTempGood.Canvas.Pixels[i-1,j]=clWhite) and
         (EquTable[i-1,j]>0) then
       EquTable[i,j]:=EquTable[i-1,j];
    end;//end for else
     end;//end for if
end;//end for i
  (4)考慮下一行,則重復(fù)第(3)步。
  (5)從下到上掃描圖像,重復(fù)(3)、(4)步。
  (6)在等價(jià)表的每一等價(jià)集中找到該等價(jià)集中最低的標(biāo)記。
  (7)掃描圖像,用等價(jià)表中的最低標(biāo)記取代每一標(biāo)記,即標(biāo)記出較大的連通域。
2.5 消除膜版內(nèi)白色區(qū)域
  對(duì)外接矩形內(nèi)各點(diǎn),判斷其連通標(biāo)記是否大于1,若是,則說(shuō)明該點(diǎn)是膜版內(nèi)部白色點(diǎn)(空洞點(diǎn)),則置為黑色。
2.6 多圖層疊加
  圖層疊加時(shí),對(duì)于膜版外接矩形內(nèi)各點(diǎn),如果是黑色點(diǎn),則用該點(diǎn)坐標(biāo)對(duì)應(yīng)的前景點(diǎn)顏色去替代背景上相應(yīng)點(diǎn)的顏色來(lái)完成圖像的復(fù)合疊加。相關(guān)代碼如下:
  for y:=Ymin to Ymax do
  for x:=Xmin to Xmax do
           //點(diǎn)(x,y)是否屬于模版區(qū)域?
  if ImgTempGood.Canvas.Pixels[x,y]=clBlack then
  ImgObject.Canvas.Pixels[x,y]:=ImgForgrd.Canvas.Pixels[x,y];
               //背景圖像上屬于膜版區(qū)域的點(diǎn)填充成前景顏色
3  運(yùn)行實(shí)例
  本算法采用Delphi7實(shí)現(xiàn),一個(gè)疊加的運(yùn)行實(shí)例如圖3所示。圖中,B、T0、F分別是背景、膜版的原始圖像及前景,圖T1是二值化后的膜版圖像,圖T2是去掉白色空洞后的膜版。從圖中可看到二值化后的膜版包含許多白色孤立點(diǎn)和白色區(qū)域,需要消除掉。圖O是最后疊加產(chǎn)生的合成結(jié)果。有關(guān)本疊加技術(shù)的擴(kuò)展使用討論如下:


  (1)上述方法是針對(duì)在背景上開一個(gè)裁減窗口設(shè)計(jì)的。如果想開多個(gè)不交叉的裁減窗口,同樣可為每個(gè)裁減窗口準(zhǔn)備一個(gè)膜版圖層,分別把前景、背景和每個(gè)膜版疊加。還可通過在膜版圖層移動(dòng)膜版的位置,實(shí)現(xiàn)前景被移動(dòng)過濾的效果。(2)當(dāng)多個(gè)裁減窗口有交叉部分,就要注意事先安排好各膜版對(duì)應(yīng)前景的遮擋關(guān)系,然后程序依照預(yù)定的前后順序進(jìn)行疊加。(3)本疊加技術(shù)可用于人物拍攝時(shí),在背景上給出藝術(shù)化外輪廓,其內(nèi)部區(qū)域供被拍攝者來(lái)拍照。也可用于電視節(jié)目的制作,屏幕上留出專門形狀的區(qū)域來(lái)播放其他文字或視頻圖像。還可用于游戲制作程序,屏幕上限制某區(qū)域,供顯示游戲中人物或動(dòng)畫。
4  結(jié)  論
  本文采用多圖層方法,在背景和前景之間增加一個(gè)膜版圖層來(lái)過濾前景實(shí)現(xiàn)圖像復(fù)合,利用區(qū)域連通性原理消除膜版內(nèi)部白色孤立區(qū)域,產(chǎn)生黑色膜版。這些技術(shù)的運(yùn)用只是圖像疊加處理中的部分方法,起到拋磚引玉的效果。
參考文獻(xiàn)
1   賈云得.機(jī)器視覺.北京:科學(xué)出版社,2000
2   童曉陽(yáng),楊名利.人臉輪廓定位和歸一化的研究.系統(tǒng)仿真學(xué)報(bào),2005;17(3)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99成人精品| 亚洲黄色影片| 亚洲欧洲综合另类| 国模套图日韩精品一区二区| 国产精品美女久久久久久2018| 欧美日韩国产一区| 欧美理论在线| 欧美日韩日本国产亚洲在线| 欧美激情一区三区| 欧美裸体一区二区三区| 欧美日韩成人一区| 欧美日韩亚洲综合在线| 欧美激情一区二区三区全黄| 欧美国产日韩在线观看| 欧美国产极速在线| 欧美人在线观看| 欧美日韩国产一中文字不卡 | 亚洲欧美精品一区| 亚洲精品中文字幕有码专区| 亚洲黄色一区| 亚洲三级免费电影| 99re6这里只有精品| 在线视频免费在线观看一区二区| 一本色道久久综合| 亚洲综合色婷婷| 欧美在线啊v一区| 久久久久久九九九九| 狂野欧美一区| 欧美精品日韩三级| 国产精品久久久久久久久果冻传媒 | 亚洲免费福利视频| 亚洲一区二区三区四区五区午夜| 一本一本久久a久久精品综合妖精| 亚洲亚洲精品三区日韩精品在线视频| 亚洲字幕在线观看| 久久九九国产| 欧美韩日一区| 国产精品久久久久高潮| 国产一区二区激情| 亚洲国产小视频| 亚洲天堂男人| 欧美在线视频免费播放| 亚洲精品国精品久久99热| 一个色综合导航| 欧美亚洲三区| 你懂的视频一区二区| 欧美日精品一区视频| 国产精品中文字幕欧美| 精品1区2区3区4区| 亚洲九九爱视频| 午夜伦理片一区| 亚洲精品美女| 午夜精品久久久久久| 麻豆精品在线观看| 国产精品videossex久久发布| 国产手机视频一区二区| 最新热久久免费视频| 亚洲一区二区免费在线| 亚洲国产婷婷综合在线精品 | 在线不卡免费欧美| 99在线精品视频| 欧美中文在线视频| 一区二区国产在线观看| 久久精品中文字幕一区| 欧美日本久久| 国产夜色精品一区二区av| 亚洲日本成人网| 欧美一区二区三区在线视频| 日韩午夜黄色| 久久久精彩视频| 欧美性猛交视频| 亚洲国产激情| 羞羞答答国产精品www一本 | 亚洲免费人成在线视频观看| 蜜臀a∨国产成人精品 | 在线视频你懂得一区| 亚洲国产人成综合网站| 午夜精品亚洲| 欧美日韩国产精品自在自线| 国内精品伊人久久久久av一坑| 一区二区免费在线观看| 亚洲精品极品| 久久久久九九九九| 欧美午夜电影在线| 亚洲国产专区| 亚洲第一中文字幕| 欧美亚洲免费电影| 欧美日韩中文字幕在线| 亚洲高清在线观看| 久久国产欧美日韩精品| 欧美一区91| 国产精品久久久久久久久果冻传媒| 亚洲激情黄色| 亚洲福利免费| 久久精品视频va| 国产精品私拍pans大尺度在线 | 久久黄金**| 欧美有码在线观看视频| 国产精品久久久久999| 99国产麻豆精品| 一区二区三区欧美亚洲| 欧美激情五月| 伊人久久大香线蕉综合热线| 欧美资源在线| 久久久久久综合| 国产亚洲人成网站在线观看| 亚洲免费视频中文字幕| 亚洲与欧洲av电影| 欧美性做爰猛烈叫床潮| 99视频精品在线| 亚洲视频一二| 欧美午夜电影在线| 一区二区三区精品视频在线观看| 日韩一级黄色av| 欧美另类69精品久久久久9999| 亚洲国产精品传媒在线观看| 亚洲国产cao| 麻豆精品一区二区综合av | 亚洲激情电影在线| 亚洲免费观看视频| 欧美精品1区| 亚洲伦伦在线| 亚洲午夜女主播在线直播| 欧美午夜视频一区二区| 一区二区三区四区精品| 亚洲男人第一av网站| 国产精品久久久久久久久借妻 | 亚洲国产精品久久久久秋霞不卡| 亚洲人成人一区二区三区| 蜜臀91精品一区二区三区| 1769国产精品| 亚洲美女在线看| 欧美日韩国产首页在线观看| 99精品福利视频| 午夜精品一区二区三区电影天堂| 国产精品亚洲аv天堂网| 午夜视频久久久| 久久先锋资源| 91久久久久| 中文精品一区二区三区| 国产精品国产三级欧美二区| 亚洲一二三四区| 久久国产日本精品| 在线欧美电影| 亚洲视频成人| 国产区精品视频| 亚洲国产精品福利| 欧美精选午夜久久久乱码6080| 99精品福利视频| 欧美一站二站| 亚洲高清视频在线| 亚洲一区日韩在线| 国产一区二区久久久| 亚洲区第一页| 国产精品国产三级国产aⅴ入口| 亚久久调教视频| 免费看成人av| 亚洲素人一区二区| 久久精品视频在线免费观看| 亚洲激情视频| 欧美在线短视频| 在线播放豆国产99亚洲| 亚洲视频网站在线观看| 国产综合久久久久久鬼色| 日韩视频在线免费观看| 国产精品日韩在线观看| 91久久综合亚洲鲁鲁五月天| 欧美小视频在线观看| 欧美在线日韩精品| 欧美日韩999| 欧美一区二区黄| 欧美激情综合五月色丁香| 午夜精品成人在线| 欧美激情综合网| 午夜精彩国产免费不卡不顿大片| 欧美成人69av| 午夜亚洲福利| 欧美日韩国产91| 久久电影一区| 国产精品露脸自拍| 亚洲黄色在线看| 国产欧美va欧美va香蕉在| 99精品免费| 国内精品免费在线观看| 亚洲一区二区三区在线| 极品日韩av| 性欧美8khd高清极品| 亚洲精品激情| 美腿丝袜亚洲色图| 午夜精品久久久久久久| 欧美日韩一区二区三| 亚洲国产精品传媒在线观看| 国产精品免费久久久久久| 亚洲伦理自拍| 一区二区三区自拍| 欧美专区在线| 亚洲婷婷综合色高清在线| 欧美电影在线| 久久激情综合网| 国产乱人伦精品一区二区|