本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)頁頁面布局監(jiān)測方法及裝置。
背景技術(shù):
互聯(lián)網(wǎng)時代網(wǎng)絡(luò)變?yōu)榱俗顬橹饕拿襟w,每天都有大量用戶在互聯(lián)網(wǎng)的各個網(wǎng)頁上進(jìn)行瀏覽,獲取海量的信息。因此,各網(wǎng)站網(wǎng)頁的質(zhì)量變成了衡量用戶體驗的重要指標(biāo)。網(wǎng)頁的質(zhì)量不僅包括UI設(shè)計,獲取信息的便捷性等等這些主觀的評價標(biāo)準(zhǔn),還包括網(wǎng)頁穩(wěn)定性等這些客觀的評價標(biāo)準(zhǔn),如果因為網(wǎng)頁代碼出現(xiàn)問題,導(dǎo)致在用戶端出現(xiàn)顯示錯誤等問題,會造成非常不好的用戶體驗?,F(xiàn)在網(wǎng)頁的更新速度很快,不能保證在每次更新過程中,不會因為人為疏忽等原因,致使網(wǎng)頁顯示各種錯誤。如果利用人工監(jiān)測這類問題,需要人工7x24小時的不斷對所有網(wǎng)頁進(jìn)行監(jiān)測,耗時耗力。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提供一種網(wǎng)頁頁面布局監(jiān)測方法及裝置,旨在解決現(xiàn)有技術(shù)中需要人工不斷對所有網(wǎng)頁進(jìn)行監(jiān)測,耗時耗力的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明提供的一種網(wǎng)頁頁面布局監(jiān)測方法,包括以下步驟:
提取正常網(wǎng)頁頁面的背景色,并利用所述背景色對所述正常網(wǎng)頁頁面進(jìn)行分割,生成具有感興趣區(qū)域的網(wǎng)頁模板;
當(dāng)目標(biāo)網(wǎng)頁頁面與所述正常網(wǎng)頁頁面的圖像尺寸不同時,根據(jù)所述網(wǎng)頁模板對所述目標(biāo)網(wǎng)頁頁面進(jìn)行正向和反向雙向比對,計算兩者之間感興趣區(qū)域內(nèi)的差異,以獲取所述目標(biāo)網(wǎng)頁頁面的狀態(tài);
當(dāng)所述目標(biāo)網(wǎng)頁頁面與所述正常網(wǎng)頁頁面圖像尺寸相同時,根據(jù)所述網(wǎng)頁模板對所述目標(biāo)網(wǎng)頁頁面進(jìn)行一對一正向比對,計算兩者之間感興趣區(qū)域內(nèi)的差異,以獲取所述目標(biāo)網(wǎng)頁的狀態(tài)。
優(yōu)選地,所述提取正常網(wǎng)頁頁面的背景色,并利用所述背景色對所述正常網(wǎng)頁頁面進(jìn)行分割,生成具有感興趣區(qū)域的網(wǎng)頁模板的步驟包括:
將輸入的所述正常網(wǎng)頁頁面的圖像轉(zhuǎn)化為灰度空間或者任意亮度色彩分離空間;
利用水平方向邊緣梯度算子和垂直方向邊緣梯度算子,同所述灰度空間或者任意亮度色彩分離空間進(jìn)行卷積,獲得水平邊緣圖Eh和垂直邊緣圖Ev;
對所述水平方向邊緣圖Eh的每一行進(jìn)行水平方向的投影,獲得水平方向的直方圖Hedge;
統(tǒng)計所述直方圖Hedge中圖像像素P(x,y)的顏色直方圖Hcolor;
獲得所述圖像的兩種背景顏色colorbg1、colorbg2;
利用所述背景顏色colorbg1按第一方向?qū)D像進(jìn)行分割;
對每一個分割后的區(qū)域,進(jìn)行第二方向的分割,并對每個第二方向分割后的區(qū)域,再次利用所述背景顏色colorbg1按第一方向?qū)D像進(jìn)行分割,得到若干個感興趣區(qū)域;其中,所述第一方向為水平方向,第二方向為垂直方向;或者,所述第一方向為垂直方向,第二方向為水平方向;
比較每個感興趣區(qū)域中的任意像素P(x,y)與背景顏色colorbg1,如果P(x,y)=colorbg1,將此處置為統(tǒng)計范圍,否則置為非統(tǒng)計范圍;將非感興趣區(qū)域中的像素位置置為非統(tǒng)計范圍,獲得最終的具有感興趣區(qū)域的網(wǎng)頁模板。
優(yōu)選地,所述提取正常網(wǎng)頁頁面的背景色,并利用所述背景色對所述正常網(wǎng)頁頁面進(jìn)行分割,生成具有感興趣區(qū)域的網(wǎng)頁模板的步驟還包括:
判斷所述正常網(wǎng)頁頁面圖像中文字部分的第一行像素P(x,y),是否均滿足P(x,y)=colorbg2,若是,則檢查下一行,否則記錄P(x,y)為第一開始位置;
當(dāng)下一行中的任意像素P(x,y),均滿足P(x,y)=colorbg2時,則記錄為第一結(jié)束位置;
重復(fù)上述步驟以獲取第二開始位置和第二結(jié)束位置,并在獲得所述第二開始位置和第二結(jié)束位置后停止尋找;
將第一開始位置至第一結(jié)束位置的所在行和第二開始位置至第二結(jié)束位置的所在行設(shè)置為感興趣區(qū)域。
優(yōu)選地,當(dāng)所述目標(biāo)網(wǎng)頁頁面與所述正常網(wǎng)頁頁面的圖像尺寸不同時,根據(jù)所述網(wǎng)頁模板對所述目標(biāo)網(wǎng)頁頁面進(jìn)行正向和反向雙向比對,計算兩者之間感興趣區(qū)域內(nèi)的差異,以獲取所述目標(biāo)網(wǎng)頁頁面的狀態(tài)的步驟包括:
如果所述目標(biāo)網(wǎng)頁頁面的高度小于正常網(wǎng)頁頁面高度,則計算所述目標(biāo)網(wǎng)頁的第一個感興趣區(qū)域位置處,所述目標(biāo)網(wǎng)頁頁面像素的顏色與所述網(wǎng)頁模板顏色colorbg1之間的差異;
以水平行為單位,從上至下計算每一行內(nèi)每個感興趣區(qū)域內(nèi),所述目標(biāo)網(wǎng)頁頁面像素顏色與模板顏色colorbg1之間的差異,并根據(jù)預(yù)置規(guī)則判斷問題類型;
在正向比對發(fā)現(xiàn)問題時終止正向比對,啟動反方向比對。
優(yōu)選地,所述當(dāng)所述目標(biāo)網(wǎng)頁頁面與正常網(wǎng)頁頁面圖像尺寸相同時,根據(jù)所述網(wǎng)頁模板對所述目標(biāo)網(wǎng)頁頁面進(jìn)行一對一正向比對,計算兩者之間興趣區(qū)域內(nèi)的差異,以獲取所述目標(biāo)網(wǎng)頁頁面的狀態(tài)的步驟包括:
以水平行為單位,計算每一行每個感興趣區(qū)域內(nèi),所述目標(biāo)網(wǎng)頁頁面像素的顏色與模板顏色colorbg1之間的差異,并根據(jù)預(yù)置規(guī)則判斷問題類型;
如果比對未發(fā)現(xiàn)問題,則對水平行中的每個感興趣區(qū)域進(jìn)行第二次比對,記錄每個感興趣區(qū)域內(nèi),所述目標(biāo)網(wǎng)頁頁面像素的顏色與模板顏色colorbg2之間的差異。
本發(fā)明還提供一種網(wǎng)頁頁面布局監(jiān)測裝置,所述網(wǎng)頁頁面布局監(jiān)測裝置包括:
正常網(wǎng)頁頁面模板生成模塊,用于提取正常網(wǎng)頁頁面的背景色,并利用所述背景色對所述正常網(wǎng)頁頁面進(jìn)行分割,生成具有感興趣區(qū)域的網(wǎng)頁模板;
非等同大小頁面比對模塊,用于當(dāng)目標(biāo)網(wǎng)頁頁面與所述正常網(wǎng)頁頁面的圖像尺寸不同時,根據(jù)所述網(wǎng)頁模板對所述目標(biāo)網(wǎng)頁頁面進(jìn)行正向和反向雙向比對,計算兩者之間感興趣區(qū)域內(nèi)的差異,以獲取所述目標(biāo)網(wǎng)頁頁面的狀態(tài);
等同大小頁面比對模塊,用于當(dāng)所述目標(biāo)網(wǎng)頁頁面與所述正常網(wǎng)頁頁面圖像尺寸相同時,根據(jù)所述網(wǎng)頁模板對所述目標(biāo)網(wǎng)頁頁面進(jìn)行一對一正向比對,計算兩者之間感興趣區(qū)域內(nèi)的差異,以獲取所述目標(biāo)網(wǎng)頁的狀態(tài)。
優(yōu)選地,所述正常網(wǎng)頁頁面模板生成模塊包括:
轉(zhuǎn)換單元,用于將輸入的所述正常網(wǎng)頁頁面的圖像轉(zhuǎn)化為灰度空間或者任意亮度色彩分離空間;
運(yùn)算單元,用于利用水平方向邊緣梯度算子和垂直方向邊緣梯度算子,同所述灰度空間或者任意亮度色彩分離空間進(jìn)行卷積,獲得水平邊緣圖Eh和垂直邊緣圖Ev;
直方圖獲取單元,用于對所述水平方向邊緣圖Eh的每一行進(jìn)行水平方向的投影,獲得水平方向的直方圖Hedge;
統(tǒng)計單元,用于統(tǒng)計所述直方圖Hedge中圖像像素P(x,y)的顏色直方圖Hcolor;
背景顏色獲取單元,用于獲得所述圖像的兩種背景顏色colorbg1、colorbg2;
切割單元,用于利用所述背景顏色colorbg1按第一方向?qū)D像進(jìn)行分割;
感興趣區(qū)域獲取單元,用于對每一個分割后的區(qū)域,進(jìn)行第二方向的分割,并對每個第二方向分割后的區(qū)域,再次利用所述背景顏色colorbg1按第一方向?qū)D像進(jìn)行分割,得到若干個感興趣區(qū)域;其中,所述第一方向為水平方向,第二方向為垂直方向;或者,所述第一方向為垂直方向,第二方向為水平方向
模板值設(shè)置單元,用于比較每個感興趣區(qū)域中的任意像素P(x,y)與背景顏色colorbg1,如果P(x,y)=colorbg1,將此處置為統(tǒng)計范圍,否則置為非統(tǒng)計范圍;將非感興趣區(qū)域中的像素位置置為非統(tǒng)計范圍,獲得最終的具有感興趣區(qū)域的網(wǎng)頁模板
優(yōu)選地,所述正常網(wǎng)頁頁面模板生成模塊還包括:
文字標(biāo)題判斷單元,用于判斷所述正常網(wǎng)頁頁面圖像中文字部分的第一行像素P(x,y),是否均滿足P(x,y)=colorbg2,若是,則檢查下一行,否則記錄P(x,y)為第一開始位置;
當(dāng)下一行中的任意像素P(x,y),均滿足P(x,y)=colorbg2,時,則記錄為第一結(jié)束位置;
重復(fù)上述步驟以獲取第二開始位置和第二結(jié)束位置,并在獲得第二開始位置和第二結(jié)束位置后停止尋找;
將第一開始位置至第一結(jié)束位置的所在行和第二開始位置至第二結(jié)束位置的所在行設(shè)置為感興趣區(qū)域。
優(yōu)選地,所述非等同大小頁面比對模塊用于:
如果所述目標(biāo)網(wǎng)頁頁面的高度小于正常網(wǎng)頁頁面高度,則計算所述目標(biāo)網(wǎng)頁的第一個感興趣區(qū)域位置處,所述目標(biāo)網(wǎng)頁頁面像素的顏色與所述網(wǎng)頁模板顏色colorbg1之間的差異;
以水平行為單位,從上至下計算每一行內(nèi)每個感興趣區(qū)域內(nèi),所述目標(biāo)網(wǎng)頁頁面像素顏色與模板顏色colorbg1之間的差異,并根據(jù)預(yù)置規(guī)則判斷問題類型;
在正向比對發(fā)現(xiàn)問題時終止正向比對,啟動反方向比對。
優(yōu)選地,所述等同大小頁面比對模塊用于:
以水平行為單位,計算每一行每個感興趣區(qū)域內(nèi),所述目標(biāo)網(wǎng)頁頁面像素的顏色與模板顏色colorbg1之間的差異,并根據(jù)預(yù)置規(guī)則判斷問題類型;
如果比對未發(fā)現(xiàn)問題,則對水平行中的每個感興趣區(qū)域進(jìn)行第二次比對,記錄每個感興趣區(qū)域內(nèi),所述目標(biāo)網(wǎng)頁頁面像素的顏色與模板顏色colorbg2之間的差異。
本發(fā)明提出的網(wǎng)頁頁面布局監(jiān)測方法,可以僅依據(jù)正常網(wǎng)頁圖像自動生成該網(wǎng)頁的模板,不需要人為提供額外信息,增強(qiáng)算法的通用性和自動化程度,不需要人工干預(yù)可以自動分析圖像生成模板,可以對各種類型網(wǎng)頁進(jìn)行處理??梢源嫒斯すぷ鳎瑢崿F(xiàn)7x24小時的自動對網(wǎng)頁進(jìn)行監(jiān)測,節(jié)省大量人力物力。
附圖說明
圖1為本發(fā)明網(wǎng)頁頁面布局監(jiān)測方法一實施例的流程示意圖;
圖2為本發(fā)明網(wǎng)頁頁面布局監(jiān)測方法中生成具有感興趣區(qū)域的網(wǎng)頁模板的步驟流程示意圖;
圖3為本發(fā)明中水平方向直方圖的樣式及效果示意圖;
圖4為本發(fā)明感興趣區(qū)域的網(wǎng)頁模板和正常網(wǎng)頁頁面的樣例示意圖;
圖5為本發(fā)明網(wǎng)頁頁面布局監(jiān)測方法一實施例中非等同大小頁面比對的流程示意圖;
圖6為本發(fā)明網(wǎng)頁頁面布局監(jiān)測方法一實施例中非等同大小頁面比對的過程示意圖;
圖7為本發(fā)明網(wǎng)頁頁面布局監(jiān)測方法一實施例中等同大小頁面比對的流程示意圖;
圖8為本發(fā)明網(wǎng)頁頁面布局監(jiān)測裝置一實施例的模塊結(jié)構(gòu)示意圖;
圖9為本發(fā)明網(wǎng)頁頁面布局監(jiān)測裝置一實施例中正常網(wǎng)頁頁面模板生成模塊的結(jié)構(gòu)示意圖。
本發(fā)明目的的實現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實施例,參照附圖做進(jìn)一步說明。
具體實施方式
應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種網(wǎng)頁頁面布局監(jiān)測方法,參照圖1,在一實施例中,該網(wǎng)頁頁面布局監(jiān)測方法包括:
步驟S10,提取正常網(wǎng)頁頁面的背景色,并利用所述背景色對所述正常網(wǎng)頁頁面進(jìn)行分割,生成具有感興趣區(qū)域的網(wǎng)頁模板;
本發(fā)明實施例中,利用所述背景色對正常網(wǎng)頁頁面進(jìn)行分割可以理解為對正常網(wǎng)頁頁面進(jìn)行截圖,感興趣區(qū)域指的是要比對的目標(biāo)區(qū)域,感興趣區(qū)域可以為圖像區(qū)或者文字區(qū),可以為多個。
步驟S20,當(dāng)目標(biāo)網(wǎng)頁頁面與所述正常網(wǎng)頁頁面的圖像尺寸不同時,根據(jù)所述網(wǎng)頁模板對所述目標(biāo)網(wǎng)頁頁面進(jìn)行正向和反向雙向比對,計算兩者之間感興趣區(qū)域內(nèi)的差異,以獲取所述目標(biāo)網(wǎng)頁頁面的狀態(tài)。
監(jiān)測的目的在于指出網(wǎng)頁的問題和問題所在的位置,本發(fā)明實施例中,生成網(wǎng)頁模板后,將目標(biāo)網(wǎng)頁頁面的各個區(qū)域與網(wǎng)頁模板的感興趣區(qū)域進(jìn)行比對,根據(jù)比對結(jié)果可將目標(biāo)網(wǎng)頁頁面分類為:正常、樣式錯亂、通欄缺失、通欄內(nèi)容缺失、圖片缺失、圖片未加載和文字缺失七類問題,并指出發(fā)生問題在目標(biāo)網(wǎng)頁中的位置。
步驟S30,當(dāng)所述目標(biāo)網(wǎng)頁頁面與所述正常網(wǎng)頁頁面圖像尺寸相同時,根據(jù)所述網(wǎng)頁模板對所述目標(biāo)網(wǎng)頁頁面進(jìn)行一對一正向比對,計算兩者之間感興趣區(qū)域內(nèi)的差異,以獲取所述目標(biāo)網(wǎng)頁的狀態(tài)。
本發(fā)明提出的網(wǎng)頁頁面布局監(jiān)測方法,可以僅依據(jù)正常網(wǎng)頁圖像自動生成該網(wǎng)頁的模板,不需要人為提供額外信息,增強(qiáng)算法的通用性和自動化程度,不需要人工干預(yù)可以自動分析圖像生成模板,可以對各種類型網(wǎng)頁進(jìn)行處理。可以代替人工工作,實現(xiàn)7x24的自動對網(wǎng)頁進(jìn)行監(jiān)測,節(jié)省大量人力物力。
參照圖2,本發(fā)明一較佳實施例中,前述步驟S10可包括:
步驟S11,將輸入的所述正常網(wǎng)頁頁面的圖像轉(zhuǎn)化為灰度空間或者任意亮度色彩分離空間;
具體的,可將輸入圖像由RGB色彩空間轉(zhuǎn)化為灰度/或者任意亮度色彩分離空間(如YUV,HSV,HSL,LAB),對于灰度空間換公式為:Gray=R*0.299+G*0.587+B*0.114;對于亮度色彩分離空間,以HSL舉例,亮度L(Lightness)的轉(zhuǎn)化公式為:L=(max(R,G,B)+min(R,G,B))/2。
步驟S12,利用水平方向邊緣梯度算子和垂直方向邊緣梯度算子,同所述灰度空間或者任意亮度色彩分離空間進(jìn)行卷積,獲得水平邊緣圖Eh和垂直邊緣圖Ev;
利用水平方向邊緣梯度算子和垂直方向邊緣梯度算子,同所述灰度空間或者任意亮度色彩分離空間進(jìn)行卷積,獲得水平邊緣圖Eh和垂直邊緣圖Ev;水平方向和垂直方向的邊緣梯度算子以Sobel算子為例,其他算子同樣適用。
步驟S13,對所述水平方向邊緣圖Eh的每一行進(jìn)行水平方向的投影,獲得水平方向的直方圖Hedge;
為了排除垂直方向的邊緣的影響,只統(tǒng)計水平邊緣個數(shù),即對于圖像上的任一點(diǎn)(x,y),只統(tǒng)計Eh(x,y)>Th1&&Ev(x,y)<Th2的邊緣。
步驟S14,統(tǒng)計所述直方圖Hedge中圖像像素P(x,y)的顏色直方圖Hcolor;
統(tǒng)計圖像中的像素P(x,y)的顏色直方圖Hcolor,當(dāng)且僅當(dāng)P(x,y)的水平邊緣直方圖中Hedge[y]==0時,該像素才會被納入顏色直方圖的Hcolor統(tǒng)計。本發(fā)明實施例中,直方圖的樣式及效果請參照圖3。
步驟S15,獲得所述圖像的兩種背景顏色colorbg1、colorbg2;
獲得圖像的兩種主要背景顏色colorbg1,colorbg2,方法為尋找使得Hcolor中達(dá)到最大的位作為colorbg1,使得Hcolor中達(dá)到第二大的位作為colorbg2,這兩種背景主顏色的物理意義是整體頁面的背景色,以及圖片周圍的frame的背景色。
步驟S16,利用所述背景顏色colorbg1按第一方向?qū)D像進(jìn)行分割;
本發(fā)明中,第一方向可以為水平方向,也可以為垂直方向,第二方向可以為垂直方向,也可以為垂直方向,以下將以第一方向為水平方向,第二方向為垂直方向為例,詳細(xì)說明本發(fā)明技術(shù)方案。例如,利用背景主顏色colorbg1對圖像進(jìn)行水平切割,如果下一行的所有像素P(x,y)均等于colorbg1,但是本行不符合條件,將這個位置作為分割開始位置。如果每一行的所有像素P(x,y)均等于colorbg1,但是下一行不符合條件,將這個位置作為分割結(jié)束位置,通過步驟S16獲得圖像水平預(yù)分割位置。將圖像分割獲得若干水平分割后的區(qū)域。
步驟S17,對每一個分割后的區(qū)域,進(jìn)行第二方向的分割,并對每個第二方向分割后的區(qū)域,再次利用所述背景顏色colorbg1按第一方向?qū)D像進(jìn)行分割,得到若干個感興趣區(qū)域;其中,所述第一方向為水平方向,第二方向為垂直方向;或者,所述第一方向為垂直方向,第二方向為水平方向;
例如,對于每一個水平分割后的區(qū)域,進(jìn)行垂直方向的分割,如果下一列的所有像素P(x,y)均等于colorbg1,但是本列不符合條件,將這個位置作為分割開始位置。如果每一列的所有像素P(x,y)均等于colorbg1,但是下一列不符合條件,將這個位置作為分割結(jié)束位置,通過步驟7可以獲得每個水平分割區(qū)域的垂直預(yù)分割位置。將水平分割區(qū)域進(jìn)行分割,獲得若干垂直分割后的區(qū)域。
步驟S18,比較每個感興趣區(qū)域中的任意像素P(x,y)與背景顏色colorbg1,如果P(x,y)=colorbg1,將此處置為統(tǒng)計范圍,否則置為非統(tǒng)計范圍;將非感興趣區(qū)域中的像素位置置為非統(tǒng)計范圍,獲得最終的具有感興趣區(qū)域的網(wǎng)頁模板
通過比較每個感興趣區(qū)域中的任意像素P(x,y)與colorbg1,如果P(x,y)=colorbg1,將此處置為統(tǒng)計范圍(具體可以通過將該像素的模板值設(shè)置為0實現(xiàn)),否則置為非統(tǒng)計范圍(具體可以通過將該像素的模板值設(shè)置為255實現(xiàn));對于非感興趣區(qū)域中的像素位置,置為非統(tǒng)計范圍,獲得最終的具有感興趣區(qū)域的網(wǎng)頁模板。
在一實施例中,前述步驟S10中還可包括:
判斷所述正常網(wǎng)頁頁面圖像中文字部分的第一行像素P(x,y),是否均滿足P(x,y)=colorbg2,若是,則檢查下一行,否則記錄P(x,y)為第一開始位置;
當(dāng)下一行中的任意像素P(x,y),均滿足P(x,y)=colorbg2時,則記錄為第一結(jié)束位置;重復(fù)上述步驟以獲取第二開始位置和第二結(jié)束位置,并在獲得所述第二開始位置和第二結(jié)束位置后停止尋找,將第一開始位置至第一結(jié)束位置的所在行和第二開始位置至第二結(jié)束位置的所在行設(shè)置為感興趣區(qū)域,即找到的位置為文字標(biāo)題出現(xiàn)位置。
對于上述步驟得到的感興趣區(qū)域,從底部開始尋找文字出現(xiàn)區(qū)域,即對于從底部起的每行像素,如果其中任意像素P(x,y),均有P(x,y)=colorbg2,則檢查下一行,否則記錄第一開始位置,向上尋找到一行中的任意像素P(x,y),均有P(x,y)=colorbg2記為第一結(jié)束位置。用同樣方法,找到第二開始位置和第二結(jié)束位置后,停止尋找,找到的位置為文字標(biāo)題出現(xiàn)位置。本發(fā)明實施例中,頁面模板和正常網(wǎng)頁頁面的樣例請參照圖4。
參照圖5,在一較佳實施例中,前述步驟S20包括:
步驟S21,如果所述目標(biāo)網(wǎng)頁頁面的高度小于正常網(wǎng)頁頁面高度,則計算所述目標(biāo)網(wǎng)頁的第一個感興趣區(qū)域位置處,所述目標(biāo)網(wǎng)頁頁面像素的顏色與所述網(wǎng)頁模板顏色colorbg1之間的差異;
本發(fā)明實施例中,如果輸入的目標(biāo)網(wǎng)頁頁面的高度大于正常網(wǎng)頁頁面高度或者兩者寬度不相等,輸出樣式錯亂,算法結(jié)束。如果輸入目標(biāo)網(wǎng)頁頁面的高度小于正常網(wǎng)頁頁面高度,計算網(wǎng)頁第一個感興趣區(qū)域(網(wǎng)頁中的標(biāo)題欄)位置處目標(biāo)網(wǎng)頁頁面像素顏色同模板顏色colorbg1之間的差異。差異的定義方式為:感興趣區(qū)域內(nèi)目標(biāo)網(wǎng)頁頁面像素P(x,y)=colorbg1的個數(shù)。如果差異大于一定閾值,輸出錯誤方式樣式錯亂,以及這個區(qū)域的坐標(biāo),算法結(jié)束,否則轉(zhuǎn)步驟S22。
步驟S22,以水平行為單位,從上至下計算每一行內(nèi)每個感興趣區(qū)域內(nèi),所述目標(biāo)網(wǎng)頁頁面像素顏色與模板顏色colorbg1之間的差異,并根據(jù)預(yù)置規(guī)則判斷問題類型;
本發(fā)明實施例中,問題可以為:
(1)diff>Thhigh,記錄區(qū)域位置,記錄出現(xiàn)通欄內(nèi)容缺失問題。
(2)diff>Thmedian,記錄區(qū)域位置,記錄出現(xiàn)圖像缺失問題。
(3)diff>Thlow,記錄出現(xiàn)該問題的區(qū)域的個數(shù)。
步驟S23,在正向比對發(fā)現(xiàn)問題時終止正向比對,啟動反方向比對;
每一行區(qū)域比對完畢后,如果這一行的全部區(qū)域都出現(xiàn)上述(1)中的問題,認(rèn)定為通欄缺失,終止正向比對,進(jìn)行反方向比對,繼續(xù)尋找其他問題,否則轉(zhuǎn)步驟S22,直至全部行比對完畢。反向比對時,從模板的最后一行的感興趣區(qū)域開始向上進(jìn)行比對,計算每行中每個感興趣區(qū)域內(nèi),目標(biāo)網(wǎng)頁頁面像素顏色同模板顏色colorbg1之間的差異,計算法方法同步驟S22,并根據(jù)規(guī)則判斷出現(xiàn)何種問題。每一行區(qū)域比對完畢后,如果全部區(qū)域出現(xiàn)上述(1)中的問題,認(rèn)定為通欄缺失,終止反向比對,輸出所有錯誤問題,否則轉(zhuǎn)步驟S23,繼續(xù)比對每一行。如果比對后的每一行中均出現(xiàn)(3)中的問題,輸出樣式錯亂。最后輸出所有出錯的情況。本發(fā)明實施例中,比對及出錯情況的輸出過程可參見圖6所示。
參見圖7所示,在一實施例中,前述步驟S30可包括:
步驟S31,以水平行為單位,計算每一行每個感興趣區(qū)域內(nèi),所述目標(biāo)網(wǎng)頁頁面像素的顏色與模板顏色colorbg1之間的差異,并根據(jù)預(yù)置規(guī)則判斷問題類型;
例如,以水平行為單位,計算每一行每個感興趣區(qū)域內(nèi),目標(biāo)網(wǎng)頁頁面像素顏色同模板顏色colorbg1之間的差異,并根據(jù)規(guī)則判斷出現(xiàn)何種問題:
(1)diff>Thhigh,記錄區(qū)域位置,記錄出現(xiàn)通欄內(nèi)容缺失問題。
(2)diff>Thmedian,記錄區(qū)域位置,記錄出現(xiàn)圖像缺失問題。
(3)diff>Thlow,記錄出現(xiàn)該問題的區(qū)域的個數(shù)。
如果有一行中全部出現(xiàn)(1)描述的問題,記錄錯誤問題為通欄缺失。如果沒有比對完全部感興趣區(qū)域,繼續(xù)進(jìn)行步驟S31,直至全部比對完畢。如果比對完畢后,全部行中的全部感興趣區(qū)域都出現(xiàn)1-(3)中的問題,則輸出樣式錯亂,輸出每個錯誤位置,否則轉(zhuǎn)步驟S32。
步驟S32,如果比對未發(fā)現(xiàn)問題,則對水平行中的每個感興趣區(qū)域進(jìn)行第二次比對,記錄每個感興趣區(qū)域內(nèi),所述目標(biāo)網(wǎng)頁頁面像素的顏色與模板顏色colorbg2之間的差異。
如果上述比對沒有發(fā)現(xiàn)任何問題,對于水平行中的每個感興趣區(qū)域進(jìn)行第二次比對,記錄每個感興趣區(qū)域內(nèi),目標(biāo)網(wǎng)頁頁面像素顏色同模板顏色colorbg2之間的差異diff,如果diff>Thhigh,記錄區(qū)域位置,記錄出現(xiàn)圖片未加載問題。對于記錄的文字標(biāo)題出現(xiàn)位置,記錄每個文字標(biāo)題出現(xiàn)位置,目標(biāo)網(wǎng)頁頁面像素顏色同模板顏色colorbg2之間的差異diff,如果diff>Thhigh,記錄區(qū)域位置,記錄出現(xiàn)文字標(biāo)題缺失問題。如果沒有發(fā)現(xiàn)任何問題,則輸出網(wǎng)頁為正常網(wǎng)頁,算法結(jié)束。
本發(fā)明還提供一種網(wǎng)頁頁面布局監(jiān)測裝置,用于實現(xiàn)上述方法。本發(fā)明網(wǎng)頁頁面布局監(jiān)測裝置采用計算機(jī)程序?qū)崿F(xiàn),其實施過程具體請參照前述圖1至7所示實施例,各模塊的功能及原理可對應(yīng)前述實施例中的各個步驟,在此不作一一詳述。參照圖8所示,在一實施例中,所述網(wǎng)頁頁面布局監(jiān)測裝置包括:
正常網(wǎng)頁頁面模板生成模塊10,用于提取正常網(wǎng)頁頁面的背景色,并利用所述背景色對所述正常網(wǎng)頁頁面進(jìn)行分割,生成具有感興趣區(qū)域的網(wǎng)頁模板;
非等同大小頁面比對模塊20,用于當(dāng)目標(biāo)網(wǎng)頁頁面與所述正常網(wǎng)頁頁面的圖像尺寸不同時,根據(jù)所述網(wǎng)頁模板對所述目標(biāo)網(wǎng)頁頁面進(jìn)行正向和反向雙向比對,計算兩者之間感興趣區(qū)域內(nèi)的差異,以獲取所述目標(biāo)網(wǎng)頁頁面的狀態(tài);
等同大小頁面比對模塊30,用于當(dāng)所述目標(biāo)網(wǎng)頁頁面與所述正常網(wǎng)頁頁面圖像尺寸相同時,根據(jù)所述網(wǎng)頁模板對所述目標(biāo)網(wǎng)頁頁面進(jìn)行一對一正向比對,計算兩者之間感興趣區(qū)域內(nèi)的差異,以獲取所述目標(biāo)網(wǎng)頁的狀態(tài)。
參見圖9,在一實施例中,正常網(wǎng)頁頁面模板生成模塊10包括:
轉(zhuǎn)換單元11,用于將輸入的所述正常網(wǎng)頁頁面的圖像轉(zhuǎn)化為灰度空間或者任意亮度色彩分離空間;
運(yùn)算單元12,用于利用水平方向邊緣梯度算子和垂直方向邊緣梯度算子,同所述灰度空間或者任意亮度色彩分離空間進(jìn)行卷積,獲得水平邊緣圖Eh和垂直邊緣圖Ev;
直方圖獲取單元13,用于對所述水平方向邊緣圖Eh的每一行進(jìn)行水平方向的投影,獲得水平方向的直方圖Hedge;
統(tǒng)計單元14,用于統(tǒng)計所述直方圖Hedge中圖像像素P(x,y)的顏色直方圖Hcolor;
背景顏色獲取單元15,用于獲得所述圖像的兩種背景顏色colorbg1、colorbg2;
切割單元16,用于利用所述背景顏色colorbg1按第一方向?qū)D像進(jìn)行分割;
感興趣區(qū)域獲取單元17,用于對每一個分割后的區(qū)域,進(jìn)行第二方向的分割,并對每個第二方向分割后的區(qū)域,再次利用所述背景顏色colorbg1按第一方向?qū)D像進(jìn)行分割,得到若干個感興趣區(qū)域;其中,所述第一方向為水平方向,第二方向為垂直方向;或者,所述第一方向為垂直方向,第二方向為水平方向
模板值設(shè)置單元18,用于比較每個感興趣區(qū)域中的任意像素P(x,y)與背景顏色colorbg1,如果P(x,y)=colorbg1,將此處置為統(tǒng)計范圍,否則置為非統(tǒng)計范圍;將非感興趣區(qū)域中的像素位置置為非統(tǒng)計范圍,獲得最終的具有感興趣區(qū)域的網(wǎng)頁模板
在一實施例中,前述正常網(wǎng)頁頁面模板生成模塊10還可包括:
文字標(biāo)題判斷單元19,用于文字標(biāo)題判斷單元,用于判斷所述正常網(wǎng)頁頁面圖像中文字部分的第一行像素P(x,y),是否均滿足P(x,y)=colorbg2,若是,則檢查下一行,否則記錄P(x,y)為第一開始位置;
當(dāng)下一行中的任意像素P(x,y),均滿足P(x,y)=colorbg2,時,則記錄為第一結(jié)束位置;
重復(fù)上述步驟以獲取第二開始位置和第二結(jié)束位置,并在獲得第二開始位置和第二結(jié)束位置后停止尋找;
將第一開始位置至第一結(jié)束位置的所在行和第二開始位置至第二結(jié)束位置的所在行設(shè)置為感興趣區(qū)域。
在一實施例中,非等同大小頁面比對模塊20用于:
如果所述目標(biāo)網(wǎng)頁頁面的高度小于正常網(wǎng)頁頁面高度,則計算所述目標(biāo)網(wǎng)頁的第一個感興趣區(qū)域位置處,所述目標(biāo)網(wǎng)頁頁面像素的顏色與所述網(wǎng)頁模板顏色colorbg1之間的差異;
以水平行為單位,從上至下計算每一行內(nèi)每個感興趣區(qū)域內(nèi),所述目標(biāo)網(wǎng)頁頁面像素顏色與模板顏色colorbg1之間的差異,并根據(jù)預(yù)置規(guī)則判斷問題類型;
在正向比對發(fā)現(xiàn)問題時終止正向比對,啟動反方向比對。
在一實施例中,等同大小頁面比對模塊30用于:
以水平行為單位,計算每一行每個感興趣區(qū)域內(nèi),所述目標(biāo)網(wǎng)頁頁面像素的顏色與模板顏色colorbg1之間的差異,并根據(jù)預(yù)置規(guī)則判斷問題類型;
如果比對未發(fā)現(xiàn)問題,則對水平行中的每個感興趣區(qū)域進(jìn)行第二次比對,記錄每個感興趣區(qū)域內(nèi),所述目標(biāo)網(wǎng)頁頁面像素的顏色與模板顏色colorbg2之間的差異。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。