。
[0086] 根據(jù)元素的特征抽取出的條件提取出匹配評估條件,并對每個條件進(jìn)行定義,其 中元素的鄰居判斷方法與聚類中的鄰居判斷方法相同,各個條件的定義如表2所示。
[0087] 表2兩個元素的匹配評估條件表
[0088]
[0090] 元素的類型:通過對網(wǎng)頁元素的統(tǒng)計發(fā)現(xiàn),一般從主觀上認(rèn)為可W匹配得上的元 素在很多情況下均具有相似的類型,將常見且具有重構(gòu)可能的HTML設(shè)計中的類型提取出 來按相似度聚類得到了表3,其中,如果兩個元素類型是特殊類則必須相同才能匹配。同一 聚類中的類型是相似的,不同聚類中的類型在類型匹配評估時匹配度很低。
[0091] 表3元素的類型聚類表
[0092]
[oow] 在考慮兩個元素是否可進(jìn)行顏色傳遞時,需要考慮兩個元素的大小差距。在比較 兩個元素的大小時,一方面比較兩個元素的長寬是否相近;另一方面,在其他條件得分均較 高而元素長寬大小差距較大時,比較兩個元素的長寬比例是否相近,具體比較公式為:
[0094]
陽0巧]其中,wi化h',hei曲t'指的是目標(biāo)網(wǎng)頁的元素寬度和長度,wi化h。,hei曲t。指的 是參考網(wǎng)頁的元素寬度和長度;元素的大小是決定是否進(jìn)行顏色傳遞的主要因素。
[0096] 聚類算法還需要比較元素的HTML結(jié)構(gòu),元素的HTML結(jié)構(gòu)一方面指的是元素所在 D0M樹中節(jié)點(diǎn)的位置W及D0M樹的結(jié)構(gòu),在計算兩個元素的匹配度時候,如果兩個元素的 D0M樹結(jié)構(gòu)越類似,兩者在結(jié)構(gòu)上的得分越高;另一方面,元素的HTML結(jié)構(gòu)也指元素父節(jié)點(diǎn) 的類型如<div〉,<li>等。進(jìn)行匹配評估時,W兩個元素的D0M結(jié)構(gòu)匹配評估為主。
[0097] 在考慮影響元素分類的條件時,元素的位置關(guān)系是不可忽略的因素。元素的位置 可W通過其在頁面中W左上角為基點(diǎn)W右、下為正方向的坐標(biāo)軸中的絕對坐標(biāo)值確定,也 可W通過元素與標(biāo)志性元素如頁頭,大標(biāo)題等元素的相對位置來確定。如果兩個元素在各 自的頁面中具有相近的位置,則兩者的匹配程度較高,具體的比較方式為:
[0098]
[0099] 通過上述的匹配評估步驟后,可W得出從目標(biāo)網(wǎng)頁到源網(wǎng)頁的顏色傳遞匹配元素 對,將匹配好的元素信息存入數(shù)據(jù)庫中,供后面的顏色傳遞算法使用。整個評估步驟為:首 先比較兩個待評估元素的類型是否屬于同類。之后從大小比例,位置,HTML結(jié)構(gòu)W及鄰居 等四個方面對兩個元素的相似度進(jìn)行匹配評估,具體流程如圖4所示。
[0100] 在對目標(biāo)網(wǎng)頁和源網(wǎng)頁的元素進(jìn)行匹配評估后,將匹配的結(jié)果存入數(shù)據(jù)庫中,供 后續(xù)顏色傳遞調(diào)用。 陽101] 在將兩個網(wǎng)頁的元素進(jìn)行完匹配評估后,即可對網(wǎng)頁進(jìn)行顏色傳遞。由于本文采 用的顏色傳遞方法是直接針對圖片進(jìn)行操作,故而需要先獲取兩個網(wǎng)頁的截圖。之后根據(jù) 匹配信息對截圖的對應(yīng)區(qū)域進(jìn)行提取,將提取后的圖片進(jìn)行顏色傳遞。 陽102] 顏色傳遞算法的選擇主要考慮W下幾個因素: 陽103] 選擇顏色傳遞算法首先考慮的是時間復(fù)雜度,由于基于顏色傳遞的網(wǎng)頁重構(gòu)方法 是輕量級的方法,對資源的依賴不宜過大,而且由于在網(wǎng)頁重構(gòu)的過程中還有顏色校正的 步驟,因此對于運(yùn)算速度快而且可W產(chǎn)生較能接受的傳遞結(jié)果的顏色傳遞算法,相比運(yùn)算 速度慢而結(jié)果好的算法而言更適合于網(wǎng)頁重構(gòu)方法。
[0104] 在顏色傳遞時,如果兩個圖片的色彩差距相當(dāng)大時,可能產(chǎn)生傳遞結(jié)果的色彩與 實(shí)際欲傳遞結(jié)果的色彩相差很大的情況,雖然可W在校正步驟中解決失真的情況,但是校 正步驟耗時長,計算代價大,應(yīng)盡可能減少校正步驟,因此在選擇顏色傳遞算法時,如果對 網(wǎng)頁傳遞產(chǎn)生較大色彩失真的算法不應(yīng)采納。 陽105] 如果待傳遞的兩個圖片結(jié)構(gòu)差距很大時,容易產(chǎn)生圖片噪聲,圖片噪聲主要表現(xiàn) 在結(jié)果圖出現(xiàn)紋理上的模糊、多出不期望的色彩、結(jié)果圖結(jié)構(gòu)改變等,因此采用的顏色傳遞 算法應(yīng)盡量減少噪聲的產(chǎn)生。 陽106] 有的顏色傳遞算法雖然能夠產(chǎn)生較好的傳遞結(jié)果,但是一般運(yùn)類算法要求較多次 的迭代W及輸入?yún)?shù),從用戶使用的角度而言,應(yīng)盡可能地簡化顏色傳遞的步驟。
[0107] 通過對比圖片失真情況和圖像噪聲的大小,采用基于顏色統(tǒng)計的顏色傳遞算法, 因?yàn)樗容^適合于網(wǎng)頁元素分塊截圖間的顏色傳遞,而且匹配好了的網(wǎng)頁元素具有結(jié)構(gòu)相 似,色彩分布簡單的特點(diǎn),用該算法可W得到較好的傳遞效果而且操作時間快。
[0108] 雖然顏色傳遞可W對整幅網(wǎng)頁的截圖產(chǎn)生一個傳遞結(jié)果,但是從實(shí)際操作來看, 直接W整幅圖片為單位來進(jìn)行顏色傳遞的話產(chǎn)生出的效果并不好。但是從實(shí)際的網(wǎng)頁設(shè)計 中發(fā)現(xiàn),除了W背景圖片作為圖片色彩表現(xiàn)的情況外,一般的單個網(wǎng)頁元素Wbackground 形式來表現(xiàn)的話其色彩是單一的,因此考慮將網(wǎng)頁截圖按照單個元素為單位進(jìn)行顏色傳 遞。通過實(shí)際操作發(fā)現(xiàn),運(yùn)樣的傳遞方式效果較好。
[0109] 進(jìn)一步地,對顏色傳遞結(jié)果進(jìn)行校正的步驟,包括:
[0110] 檢查結(jié)果元素中是否含有特殊元素,若含有,檢查結(jié)果元素對應(yīng)的參考網(wǎng)頁的匹 配元素中是否含有同類特殊元素的定義,若有,覆蓋結(jié)果元素,否則用目標(biāo)網(wǎng)頁中的定義覆 蓋結(jié)果元素; 陽111] 若不含有特殊元素,則從結(jié)果元素中進(jìn)行多次色彩隨機(jī)抽樣,取抽樣結(jié)果均值 avgRes;
[0112] 從匹配元素中取得對應(yīng)元素的CSS色彩定義,記為standard;
[0113] 對比av曲es與standard的偏差,若偏差大于5%,用standard覆蓋傳遞結(jié)果,否 則保留原結(jié)果。
[0114] 具體實(shí)施中,在通過了兩個網(wǎng)頁截圖間的顏色傳遞后,將傳遞結(jié)果傳輸?shù)骄W(wǎng)頁重 構(gòu)模塊中,網(wǎng)頁重構(gòu)模塊的功能主要包括對顏色傳遞結(jié)果的校正與根據(jù)校正結(jié)果的網(wǎng)頁重 構(gòu)。在重構(gòu)的時候主要需要注意兩個問題:首先,特殊HTML元素不參與顏色傳遞,直接借鑒 參考網(wǎng)頁的元素定義;其次,被覆蓋的元素變色后應(yīng)該還原??紤]到顏色傳遞結(jié)果本身的誤 差W及網(wǎng)頁本身包含的特殊元素,需要對顏色傳遞結(jié)果進(jìn)行校對。校正步驟主要包括傳遞 結(jié)果的校正和特殊元素的校正。校正過程如圖5所示。
[0115] 針對傳遞結(jié)果,首先從參考網(wǎng)頁獲取對應(yīng)匹配元素的CSS色彩定義作為標(biāo)準(zhǔn),之 后對傳遞結(jié)果中的元素色彩進(jìn)行多次隨機(jī)取樣,將取樣平均值與標(biāo)準(zhǔn)值進(jìn)行對比,如果誤 差值在5%W內(nèi)則認(rèn)為傳遞結(jié)果正確,否則將標(biāo)準(zhǔn)值作為最終結(jié)果值。其次是對于特殊元素 的校正,首先查看傳遞結(jié)果中的元素是否含有特殊元素,如果含有特殊元素的話,查看匹配 元素中有關(guān)該類特殊元素的定義,若匹配元素中沒有該類特殊元素的定義,則保留原始的 特殊元素定義,既不做顏色傳遞的修改也不用參考網(wǎng)頁的元素定義覆蓋;若匹配元素中有 該類元素的定義,則采用匹配元素中的定義作為最終結(jié)果。
[0116] 由于網(wǎng)頁元素的設(shè)計通常具有只會對一個元素定義一種背景色的特性,對于每個 傳遞后的網(wǎng)頁元素只需要獲取到修改后的色彩結(jié)果對原始的色彩定義進(jìn)行覆蓋即可,而不 用擔(dān)屯、會出現(xiàn)多個色彩同時覆蓋到一個元素的情況,因此對于結(jié)果圖而言,只需要對相應(yīng) 的元素區(qū)域進(jìn)行抽樣取色即為待重構(gòu)成為的色彩。
[0117] 考慮到網(wǎng)頁設(shè)計中可能出現(xiàn)元素重疊導(dǎo)致在顏色傳遞時出現(xiàn)傳遞錯誤的問題,對 于每個元素的色彩需要通過隨機(jī)取樣的方式抽取五份色彩,找出其中頻率較大的色彩,并 與同一聚類中的其他元素找出的色彩對比,取頻率最高的作為運(yùn)個聚類中所有元素的重構(gòu) 色彩。運(yùn)是因?yàn)橐环矫嬗锌赡芤驗(yàn)樵刂丿B導(dǎo)致原來的元素出現(xiàn)了多種色彩導(dǎo)致單次取樣 的結(jié)果不準(zhǔn),另一方面原始的元素本身有可能包含其他色彩如字體的顏色等,也