本發(fā)明涉及一種模擬眼鏡試戴裝置,更具體的說是涉及一種基于邊緣檢測的眼鏡鏡片虛擬試戴裝置及方法。
背景技術(shù):
隨著生活水平的提高,人們對眼鏡產(chǎn)品的要求也從單一的視力保健朝著多樣化、時(shí)尚性、個(gè)性化轉(zhuǎn)變,開始更注重眼鏡的品牌、款式、顏色、材料等。然而,一些眼疾患者在眼鏡店挑選鏡架時(shí)難以看清自身的試戴效果,更不能預(yù)先看到各種鏡片顏色的試戴效果,在鏡架、鏡片的選擇上產(chǎn)生了一定的困難。
現(xiàn)有技術(shù)中以計(jì)算機(jī)為輔助工具,在原有業(yè)務(wù)邏輯的基礎(chǔ)上,利用數(shù)字圖像處理技術(shù),包括圖像合成、分割等關(guān)鍵技術(shù),實(shí)現(xiàn)眼鏡佩戴效果的預(yù)覽。開發(fā)實(shí)現(xiàn)的交互式虛擬眼鏡試戴網(wǎng)購系統(tǒng)具有方便、友好、直觀的特點(diǎn),創(chuàng)造了一種全新的眼鏡在線定制模式,顧客得到了極大的滿足。
這些虛擬眼鏡試戴系統(tǒng)采用圖像疊加技術(shù),通過幾何變換,將鏡架投到人像上繪制合成效果展現(xiàn)給用戶。但是,試戴過程并未對眼鏡中的重要組成部分-鏡片進(jìn)行色彩處理,特別是對鏡片顏色有多樣化需求的消費(fèi)者無法滿足其對染色鏡片效果的預(yù)覽需求,且在試戴的對眼睛的定位檢測也不夠精準(zhǔn),很容易出現(xiàn)試戴失敗的問題。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)存在的不足,本發(fā)明的目的在于提供一種在試戴過程中對鏡片進(jìn)行有效的色彩處理,可以有效的完成人們的眼鏡更好的一個(gè)模擬佩戴的基于邊緣檢測的眼鏡鏡片虛擬試戴裝置及方法。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了如下技術(shù)方案:一種基于邊緣檢測的眼鏡鏡片虛擬試戴裝置,包括:
數(shù)據(jù)庫(1),該數(shù)據(jù)庫(1)內(nèi)存放有用戶信息數(shù)據(jù)、鏡架信息數(shù)據(jù)、鏡片顏色數(shù)據(jù)和試戴效果數(shù)據(jù),用于供外部設(shè)備調(diào)用和處理;
數(shù)據(jù)處理器(2),該數(shù)據(jù)處理器(2)包括數(shù)據(jù)收集器(21)、圖像處理器(22)和鏈接生成器(23),所述數(shù)據(jù)收集器(21)、圖像處理器(22)、鏈接生成器(23)通過交互與數(shù)據(jù)庫(1)耦接,所述數(shù)據(jù)收集器(21)用于收集用戶信息數(shù)據(jù)、鏡架信息數(shù)據(jù)、鏡片顏色數(shù)據(jù)和試戴效果數(shù)據(jù)到數(shù)據(jù)庫(1)內(nèi),所述圖像處理器(22)調(diào)用數(shù)據(jù)庫(1)內(nèi)的用戶信息數(shù)據(jù)、鏡架信息數(shù)據(jù)和鏡片顏色數(shù)據(jù),通過用戶信息數(shù)據(jù)解析出頭像,對鏡架信息數(shù)據(jù)進(jìn)行邊緣檢測出鏡框圖像,之后利用鏡片顏色數(shù)據(jù)對鏡框內(nèi)部進(jìn)行染色,分別輸出調(diào)整后的眼鏡圖像和頭像;用戶交互終端(3),用于與用戶進(jìn)行人機(jī)交互采集用戶信息,該用戶交互終端(3)還耦接于數(shù)據(jù)處理器(2),通過數(shù)據(jù)收集器(21)、圖像處理器(22)和鏈接生成器(23)與數(shù)據(jù)庫(1)相連接,用于發(fā)送采集到人的頭像、用戶信息數(shù)據(jù)、鏡架信息數(shù)據(jù)、鏡片顏色數(shù)據(jù)和試戴效果數(shù)據(jù)到數(shù)據(jù)收集器(21)內(nèi),還接收圖像處理器(22)輸出的眼鏡圖像和頭像信息,并將眼鏡圖像與頭像相結(jié)合顯示出眼鏡試戴效果頭像。
作為本發(fā)明的進(jìn)一步改進(jìn),所述用戶交互終端包括:
UI模塊,用于與用戶進(jìn)行交互輸出用戶指令,采集用戶的頭像和用戶信息并輸出,并將用戶信息和試戴頭像圖像進(jìn)行顯示;
基本信息維護(hù)模塊,耦接于UI模塊,用于接收UI模塊輸出的用戶的頭像和用戶信息,并耦接于數(shù)據(jù)收集器,將用戶的頭像和用戶信息發(fā)送至數(shù)據(jù)收集器,其內(nèi)預(yù)設(shè)有定時(shí)采集裝置,該定時(shí)采集裝置隔一段時(shí)間發(fā)送信號至UI模塊,驅(qū)動(dòng)UI模塊采集用戶信息;
信息管理模塊,該信息管理模塊包括頭像信息管理模塊和鏡架信息管理模塊,所述頭像信息管理模塊和鏡架信息管理模塊均于UI模塊耦接,還與數(shù)據(jù)收集器耦接,用于接收UI模塊輸出的用戶指令,并根據(jù)用戶指令與數(shù)據(jù)收集器耦接,調(diào)整數(shù)據(jù)庫內(nèi)存放的用戶信息數(shù)據(jù)、鏡架信息數(shù)據(jù);
信息處理模塊,該信息處理模塊包括試戴信息處理模塊和試戴效果分享模塊,所述試戴信息處理模塊和試戴效果分享模塊均與UI模塊耦接,其中,試戴信息處理模塊接收UI模塊輸出的試戴指令,還與圖像處理器和數(shù)據(jù)收集器耦接,接收圖像處理器輸出的眼鏡圖像和頭像,將眼鏡圖像和頭像相結(jié)合顯示出用戶試戴著眼鏡的頭像圖像,并輸入試戴效果數(shù)據(jù)至數(shù)據(jù)庫內(nèi),試戴效果分享模塊接收UI模塊輸出的試戴效果分享指令,將數(shù)據(jù)庫內(nèi)的試戴效果通過鏈接生成器輸出到外部網(wǎng)絡(luò)。
本發(fā)明另一方面提供了一種使用上述裝置的虛擬試戴方法,包括如下步驟:
步驟一,通過用戶交互終端輸入頭像和鏡架圖片到數(shù)據(jù)庫內(nèi);
步驟二,通過數(shù)據(jù)處理器對輸入的頭像圖片進(jìn)行人臉識別,若識別成功則進(jìn)行下一步,識別失敗則返回步驟一重新輸入;
步驟三,通過數(shù)據(jù)處理器對經(jīng)過步驟二識別后的頭像圖片進(jìn)行瞳孔定位,定位頭像圖片中人臉的瞳孔位置;
步驟四,通過數(shù)據(jù)處理器對鏡架圖片進(jìn)行平移和縮放調(diào)整,調(diào)整至符合頭像圖片中人臉適合佩戴的大小和位置;
步驟五,通過數(shù)據(jù)處理器對經(jīng)過步驟四調(diào)整后的鏡架圖片識別其內(nèi)的鏡框邊緣,輸出二值鏡架圖像;
步驟六,依據(jù)步驟五中識別得出的二值鏡架圖像,通過數(shù)據(jù)處理器對鏡框內(nèi)進(jìn)行顏色填充,完成鏡片染色;
步驟七,將步驟六中染色完成的鏡架圖片與輸入的頭像圖片,利用用戶交互終端通過瞳孔位置結(jié)合佩戴,輸出佩戴效果圖像。
作為上述方法的進(jìn)一步改進(jìn),所述步驟五中的鏡框邊緣識別步驟如下:
51,設(shè)在鏡架圖片上的像素點(diǎn)i和像素點(diǎn)j;
52,依據(jù)下述公式計(jì)算像素點(diǎn)i和像素點(diǎn)j的水平邊緣的計(jì)算值Sx(i,j):Sx(i,j)=[RGB(i-1,j+1)+2*RGB(i,j+1)+RGB(i+1,j+1)]-[RGB(i-1,j-1)+2*RGB(i,j-1)+RGB(i+1,j-1)];
53,依據(jù)下述公式計(jì)算像素點(diǎn)i和像素點(diǎn)j的垂直邊緣的計(jì)算值Sy(i,j):Sy(i,j)=[RGB(i-1,j-1)+2*RGB(i-1,j)+RGB(i-1,j+1)]-[RGB(i+1,j-1)+2*RGB(i+1,j)+RGB(i+1,j+1)];
54,將計(jì)算得到的水平邊緣的計(jì)算值Sx(i,j)和垂直邊緣的計(jì)算值Sy(i,j)相加得到鏡框邊緣的計(jì)算值S(i,j):
S(i,j)=Sx(i,j)+Sy(i,j);
55,設(shè)定鏡框邊緣的計(jì)算值的閾值Y,當(dāng)S(i,j)的值大于Y時(shí),則像素點(diǎn)(i,j)為邊界點(diǎn),令其顏色值為白色,否則該點(diǎn)為黑色,當(dāng)S(i,j)的值小于Y時(shí),二值圖像中像素點(diǎn)(i,j)的值為白色,生成的鏡架圖像在該點(diǎn)的值為原圖像的RGB值,否則為白色。
作為上述方法的進(jìn)一步改進(jìn),所述Y的值為16。
作為上述方法的進(jìn)一步改進(jìn),所述步驟六中的顏色填充采用遍歷的掃描線方法進(jìn)行填充,利用掃描線掃描二值鏡架圖像,當(dāng)掃描線掃描的位置的二值圖像由白變黑時(shí),說明要進(jìn)入鏡片的不規(guī)則區(qū)域,開始填充鏡片色彩,當(dāng)該位置的二值圖像由黑變白時(shí),走出鏡片區(qū)域,停止填充鏡片色彩。
作為上述方法的進(jìn)一步改進(jìn),所述步驟六中的顏色填充中漸變色鏡片填充所采用的顏色算法如下:
61,設(shè)鏡框中最高點(diǎn)縱坐標(biāo)的值為y1,最低點(diǎn)值縱坐標(biāo)的值為y2;
62,根據(jù)以下公式計(jì)算像素點(diǎn)(i,j)的漸變率grdient:grdient=(j–y1)/(y2–y1);
63,計(jì)算像素點(diǎn)(i,j)的顏色值RGBij(r,g,b),計(jì)算步驟包括:
計(jì)算顏色值RGBij(r,g,b)中的r,r=backij.r*grdient+g.r*(1-grdient);
計(jì)算顏色值RGBij(r,g,b)中的g,g=backij.g*grdient+b.g*(1-grdient);
計(jì)算顏色值RGBij(r,g,b)中的b,b=backij.b*grdient+r.b*(1-grdient);其中,backij為背景圖片中像素點(diǎn)(i,j)RGB顏色值,r為紅色值,g為綠色值,b為藍(lán)色值。
作為上述方法的進(jìn)一步改進(jìn),所述步驟七中的結(jié)合佩戴步驟如下:
71,進(jìn)行圖片疊加處理,將頭像的人臉作為背景,將鏡架圖片作為前景,將兩者進(jìn)行疊加;
72,對經(jīng)過71步驟疊加完成的圖片進(jìn)行均勻混色處理,將透明度alpha值設(shè)為30%,當(dāng)頭像像素點(diǎn)(i,j)的顏色值為f(i,j).color時(shí),該像素的顏色合成結(jié)果值RGBij(r,g,b)中的r的值為:
r=f(i,j).COLOR.R+GColor.R*alpha;
g的值為:
g=f(i,j).COLOR.G+GColor.G*alpha;
b的值為:
b=f(i,j).COLOR.B+GColor.B*alpha;
其中,R為紅色值,G為綠色值,B為藍(lán)色值,GColor.R為眼鏡紅色取色值,GColor.G為眼鏡綠色取色值,GColor.B為眼鏡藍(lán)色取色值。
本發(fā)明的有益效果,通過數(shù)據(jù)庫的設(shè)置,就可以有效的存放用戶信息數(shù)據(jù)、鏡架信息數(shù)據(jù)、鏡片顏色數(shù)據(jù)和試戴效果數(shù)據(jù)用來供外部的設(shè)備進(jìn)行調(diào)用和處理計(jì)算了,而通過數(shù)據(jù)處理器的設(shè)置,就可以有效的調(diào)用數(shù)據(jù)庫內(nèi)的數(shù)據(jù),對調(diào)用的數(shù)據(jù)進(jìn)行有效的處理,利用圖像處理器處理出試戴時(shí)需要準(zhǔn)備的鏡框圖像和頭像,通過用戶交互終端的設(shè)置,便可以有效的將鏡框圖像和頭像相互結(jié)合,完成頭像帶著眼鏡的圖像了,因而完成了眼鏡的試戴,由于圖像處理器在處理鏡框圖像的過程中,在完成對鏡框圖像的邊緣檢測處理之后,又對鏡框內(nèi)部進(jìn)行染色調(diào)節(jié)的作用,因而相比現(xiàn)有技術(shù)中的試戴裝置,定位檢測更加的精準(zhǔn),且能夠很好的滿足對眼鏡染色的試戴需求,另一方面,通過步驟一的設(shè)置可以有效的采集到用戶信息數(shù)據(jù)和鏡架信息數(shù)據(jù),完成數(shù)據(jù)的準(zhǔn)備,而通過步驟二的設(shè)置可以有效的從鏡架信息數(shù)據(jù)中識別出人臉,為后期佩戴做準(zhǔn)備,而通過步驟三、步驟四、步驟五和步驟六的設(shè)置,可以有效的完成對鏡框圖像的識別和染色,最后利用步驟七將人臉圖像與鏡框圖像相結(jié)合,便可以完成對眼鏡的試戴,由于步驟六的染色作用,實(shí)現(xiàn)人臉試戴鏡框的時(shí)候,鏡框內(nèi)鏡片是具有顏色的,因而可以滿足現(xiàn)有技術(shù)中人們對染色鏡片效果的預(yù)覽需求,同時(shí)由于步驟三中實(shí)現(xiàn)了瞳孔定位,通過步驟五進(jìn)行的邊緣識別,因而在試戴的對眼睛的定位更加的準(zhǔn)確,更好的避免了試戴失敗的問題。
附圖說明
圖1為本發(fā)明的基于邊緣檢測的眼鏡鏡片虛擬試戴裝置的模塊圖;
圖2為本發(fā)明的虛擬試戴方法的步驟流程圖。
具體實(shí)施方式
下面將結(jié)合附圖所給出的實(shí)施例對本發(fā)明做進(jìn)一步的詳述。
參照圖1所示,本實(shí)施例的一種基于邊緣檢測的眼鏡鏡片虛擬試戴裝置,包括:數(shù)據(jù)庫(1),該數(shù)據(jù)庫(1)內(nèi)存放有用戶信息數(shù)據(jù)、鏡架信息數(shù)據(jù)、鏡片顏色數(shù)據(jù)和試戴效果數(shù)據(jù),用于供外部設(shè)備調(diào)用和處理;
數(shù)據(jù)處理器(2),該數(shù)據(jù)處理器(2)包括數(shù)據(jù)收集器(21)、圖像處理器(22)和鏈接生成器(23),所述數(shù)據(jù)收集器(21)、圖像處理器(22)、鏈接生成器(23)通過交互與數(shù)據(jù)庫(1)耦接,所述數(shù)據(jù)收集器(21)用于收集用戶信息數(shù)據(jù)、鏡架信息數(shù)據(jù)、鏡片顏色數(shù)據(jù)和試戴效果數(shù)據(jù)到數(shù)據(jù)庫(1)內(nèi),所述圖像處理器(22)調(diào)用數(shù)據(jù)庫(1)內(nèi)的用戶信息數(shù)據(jù)、鏡架信息數(shù)據(jù)和鏡片顏色數(shù)據(jù),通過用戶信息數(shù)據(jù)解析出頭像,對鏡架信息數(shù)據(jù)進(jìn)行邊緣檢測出鏡框圖像,之后利用鏡片顏色數(shù)據(jù)對鏡框內(nèi)部進(jìn)行染色,分別輸出調(diào)整后的眼鏡圖像和頭像;用戶交互終端(3),用于與用戶進(jìn)行人機(jī)交互采集用戶信息,該用戶交互終端(3)還耦接于數(shù)據(jù)處理器(2),通過數(shù)據(jù)收集器(21)、圖像處理器(22)和鏈接生成器(23)與數(shù)據(jù)庫(1)相連接,用于發(fā)送采集到人的頭像、用戶信息數(shù)據(jù)、鏡架信息數(shù)據(jù)、鏡片顏色數(shù)據(jù)和試戴效果數(shù)據(jù)到數(shù)據(jù)收集器(21)內(nèi),還接收圖像處理器(22)輸出的眼鏡圖像和頭像信息,并將眼鏡圖像與頭像相結(jié)合顯示出眼鏡試戴效果頭像,在使用本實(shí)施例的裝置試戴的過程中,首先利用用戶交互終端3與試戴人員進(jìn)行人機(jī)交互,采集試戴人員的用戶信息數(shù)據(jù),然后通過數(shù)據(jù)處理器2內(nèi)的鏈接生成器23和數(shù)據(jù)收集器21的配合作用,與外界的互聯(lián)網(wǎng)建立鏈接通信,采集外界互聯(lián)網(wǎng)的鏡架信息數(shù)據(jù)、鏡片顏色數(shù)據(jù),然后利用圖像處理器22處理出染色后的鏡框圖像以及完成瞳孔定位的人臉圖像,之后通過用戶交互終端3對鏡框圖像和人臉圖像進(jìn)行結(jié)合,完成對眼鏡的試戴,相比于現(xiàn)有技術(shù)中采用簡單處理的方式,能夠有效的滿足用戶對染色鏡片效果的預(yù)覽需求,而且是通過對鏡架信息數(shù)據(jù)實(shí)行邊緣檢測以后才獲得的鏡框圖像,因而后期用戶交互終端3可以實(shí)現(xiàn)更為精準(zhǔn)的定位試戴,并且通過鏈接生成器23的設(shè)置可以實(shí)現(xiàn)圖像處理器22與數(shù)據(jù)庫1和用戶交互終端3之間的通信,還可以實(shí)現(xiàn)將試戴效果數(shù)據(jù)分享到外部的互聯(lián)網(wǎng)上,進(jìn)而可以實(shí)現(xiàn)其他的用戶交互終端3的試戴效果分析的效果,增加了眼鏡購買過程中的互動(dòng)性。作為改進(jìn)的一種具體實(shí)施方式,所述用戶交互終端3包括:
UI模塊31,用于與用戶進(jìn)行交互輸出用戶指令,采集用戶的頭像和用戶信息并輸出,并將用戶信息和試戴頭像圖像進(jìn)行顯示;
基本信息維護(hù)模塊32,耦接于UI模塊31,用于接收UI模塊31輸出的用戶的頭像和用戶信息,并耦接于數(shù)據(jù)收集器21,將用戶的頭像和用戶信息發(fā)送至數(shù)據(jù)收集器21,其內(nèi)預(yù)設(shè)有定時(shí)采集裝置,該定時(shí)采集裝置隔一段時(shí)間發(fā)送信號至UI模塊31,驅(qū)動(dòng)UI模塊31采集用戶信息;
信息管理模塊33,該信息管理模塊33包括頭像信息管理模塊331和鏡架信息管理模塊332,所述頭像信息管理模塊331和鏡架信息管理模塊332均于UI模塊31耦接,還與數(shù)據(jù)收集器21耦接,用于接收UI模塊31輸出的用戶指令,并根據(jù)用戶指令與數(shù)據(jù)收集器21耦接,調(diào)整數(shù)據(jù)庫1內(nèi)存放的用戶信息數(shù)據(jù)、鏡架信息數(shù)據(jù);
信息處理模塊34,該信息處理模塊34包括試戴信息處理模塊341和試戴效果分享模塊342,所述試戴信息處理模塊341和試戴效果分享模塊342均與UI模塊31耦接,其中,試戴信息處理模塊341接收UI模塊31輸出的試戴指令,還與圖像處理器22和數(shù)據(jù)收集器21耦接,接收圖像處理器22輸出的眼鏡圖像和頭像,將眼鏡圖像和頭像相結(jié)合顯示出用戶試戴著眼鏡的頭像圖像,并輸入試戴效果數(shù)據(jù)至數(shù)據(jù)庫1內(nèi),試戴效果分享模塊342接收UI模塊31輸出的試戴效果分享指令,將數(shù)據(jù)庫1內(nèi)的試戴效果通過鏈接生成器23輸出到外部網(wǎng)絡(luò),在用戶交互終端3采集用戶信息數(shù)據(jù)的過程中,是通過UI模塊31顯示出填寫界面,然后讓用戶自行輸入的方式,而通過基本信息維護(hù)模塊32的設(shè)置可以定時(shí)的讓用戶輸入新的數(shù)據(jù),保證數(shù)據(jù)的實(shí)時(shí)性,避免數(shù)據(jù)過老導(dǎo)致的眼鏡試戴失敗的問題,而通過信息管理模塊33的設(shè)置,可以實(shí)現(xiàn)用戶對已經(jīng)上傳的頭像和鏡架款式信息進(jìn)行更改,使得眼鏡的試戴過程中更加的多變自由,最后通過信息處理模塊34的設(shè)置,可以完成試戴效果的出示以及試戴效果的分析過程,本實(shí)施例中的UI模塊31可以選用觸摸屏31等具有顯示和輸入功能的設(shè)備,而信息管理模塊33以及信息處理模塊34均通過CPU來完成。
本發(fā)明提供了另一種實(shí)施方式,一種虛擬試戴方法,包括如下步驟:
步驟一,通過用戶交互終端3輸入頭像和鏡架圖片到數(shù)據(jù)庫1內(nèi);
步驟二,通過數(shù)據(jù)處理器2對輸入的頭像圖片進(jìn)行人臉識別,若識別成功則進(jìn)行下一步,識別失敗則返回步驟一重新輸入;
步驟三,通過數(shù)據(jù)處理器2對經(jīng)過步驟二識別后的頭像圖片進(jìn)行瞳孔定位,定位頭像圖片中人臉的瞳孔位置;
步驟四,通過數(shù)據(jù)處理器2對鏡架圖片進(jìn)行平移和縮放調(diào)整,調(diào)整至符合頭像圖片中人臉適合佩戴的大小和位置;
步驟五,通過數(shù)據(jù)處理器2對經(jīng)過步驟四調(diào)整后的鏡架圖片識別其內(nèi)的鏡框邊緣,輸出二值鏡架圖像;
步驟六,依據(jù)步驟五中識別得出的二值鏡架圖像,通過數(shù)據(jù)處理器2對鏡框內(nèi)進(jìn)行顏色填充,完成鏡片染色;
步驟七,將步驟六中染色完成的鏡架圖片與輸入的頭像圖片,利用用戶交互終端3通過瞳孔位置結(jié)合佩戴,輸出佩戴效果圖像,在試戴眼鏡的過程中,依次進(jìn)行上述步驟,便可以利用步驟一采集數(shù)據(jù),利用步驟二完成對數(shù)據(jù)的識別,識別出人臉,而通過步驟三可以實(shí)現(xiàn)人臉的瞳孔定位,之后通過步驟四可以調(diào)整鏡框圖片的大小,使得鏡框大小與人臉相適配,而通過步驟五的設(shè)置可以實(shí)現(xiàn)鏡框的邊緣檢測,實(shí)現(xiàn)對鏡框的精準(zhǔn)定位,可以避免試戴失敗的問題,之后通過步驟六的設(shè)置可以在檢測出鏡框的情況下進(jìn)行顏色填充,因而可以實(shí)現(xiàn)準(zhǔn)確有效的顏色填充的效果,能夠有效的滿足用戶對染色鏡片效果的預(yù)覽需求,最后通過步驟七的設(shè)置,就可以有效的完成試戴。
作為本發(fā)明的試戴方法改進(jìn)的一種具體實(shí)施方式,所述步驟五中的鏡框邊緣識別步驟如下:
51,設(shè)在鏡架圖片上的像素點(diǎn)i和像素點(diǎn)j;
52,依據(jù)下述公式計(jì)算像素點(diǎn)i和像素點(diǎn)j的水平邊緣的計(jì)算值Sx(i,j):Sx(i,j)=[RGB(i-1,j+1)+2*RGB(i,j+1)+RGB(i+1,j+1)]-[RGB(i-1,j-1)+2*RGB(i,j-1)+RGB(i+1,j-1)];
53,依據(jù)下述公式計(jì)算像素點(diǎn)i和像素點(diǎn)j的垂直邊緣的計(jì)算值Sy(i,j):Sy(i,j)=[RGB(i-1,j-1)+2*RGB(i-1,j)+RGB(i-1,j+1)]-[RGB(i+1,j-1)+2*RGB(i+1,j)+RGB(i+1,j+1)];
54,將計(jì)算得到的水平邊緣的計(jì)算值Sx(i,j)和垂直邊緣的計(jì)算值Sy(i,j)相加得到鏡框邊緣的計(jì)算值S(i,j):
S(i,j)=Sx(i,j)+Sy(i,j);
55,設(shè)定鏡框邊緣的計(jì)算值的閾值Y,當(dāng)S(i,j)的值大于Y時(shí),則像素點(diǎn)(i,j)為邊界點(diǎn),令其顏色值為白色,否則該點(diǎn)為黑色,當(dāng)S(i,j)的值小于Y時(shí),二值圖像中像素點(diǎn)(i,j)的值為白色,生成的鏡架圖像在該點(diǎn)的值為原圖像的RGB值,否則為白色,通過計(jì)算出像素點(diǎn)的水平邊緣的計(jì)算值,可以完成對鏡框水平邊緣的檢測,而通過計(jì)算出像素點(diǎn)的垂直邊緣的計(jì)算值,可以完成對鏡框垂直邊緣的檢測,之后將兩者進(jìn)行相加的完成對整個(gè)鏡框的邊緣檢測,并且在檢測完成以后轉(zhuǎn)換成二值圖像,為后期的染色提供了很好的前提。
作為本發(fā)明的試戴方法改進(jìn)的一種具體實(shí)施方式,所述Y的值為16或可以根據(jù)環(huán)境需求自動(dòng)調(diào)整,Y為閾值,在這里設(shè)置成16,計(jì)算機(jī)解析圖形的時(shí)候,是通過采用十六進(jìn)制數(shù)據(jù)的方式來解析顯示的,因而在這里設(shè)置成16就能夠符合計(jì)算機(jī)圖形顯示的原理,為最佳數(shù)值。
作為本發(fā)明的試戴方法改進(jìn)的一種具體實(shí)施方式,所述步驟六中的顏色填充采用遍歷的掃描線方法進(jìn)行填充,利用掃描線掃描二值鏡架圖像,當(dāng)掃描線掃描的位置的二值圖像由白變黑時(shí),說明要進(jìn)入鏡片的不規(guī)則區(qū)域,開始填充鏡片色彩,當(dāng)該位置的二值圖像由黑變白時(shí),走出鏡片區(qū)域,停止填充鏡片色彩,采用掃描線填充的方式,可以實(shí)現(xiàn)完整填充,避免出現(xiàn)盲區(qū)未進(jìn)行填充的問題,而利用黑白分界的方式,可以有效的避免填充時(shí),填充區(qū)域過大或是區(qū)域過小的問題,保證了鏡框內(nèi)部鏡片的高精度填充。
作為本發(fā)明的試戴方法改進(jìn)的一種具體實(shí)施方式,所述步驟六中的顏色填充中漸變色鏡片填充所采用的顏色算法如下:
61,設(shè)鏡框中最高點(diǎn)縱坐標(biāo)的值為y1,最低點(diǎn)值縱坐標(biāo)的值為y2;
62,根據(jù)以下公式計(jì)算像素點(diǎn)i,j的漸變率grdient:grdient=(j–y1)/y2–y1;
63,計(jì)算像素點(diǎn)i,j的顏色值RGBij(r,g,b),計(jì)算步驟包括:
計(jì)算顏色值RGBij(r,g,b)中的r,r=backij.r*grdient+g.r*(1-grdient);
計(jì)算顏色值RGBij(r,g,b)中的g,g=backij.g*grdient+b.g*(1-grdient);
計(jì)算顏色值RGBij(r,g,b)中的b,b=backij.b*grdient+r.b*(1-grdient);其中,backij為背景圖片中像素點(diǎn)i,jRGB顏色值,r為紅色值,g為綠色值,b為藍(lán)色值,計(jì)算機(jī)組合基色是紅r、綠g和藍(lán)b,計(jì)算機(jī)顯示的圖像中每一個(gè)像素點(diǎn)的顏色均是通過三個(gè)基色組合形成,因而在這里通過計(jì)算三個(gè)基色的顏色值,便可以有效的確定每個(gè)像素點(diǎn)的顏色,且由于現(xiàn)有的有些眼鏡的顏色為漸變色的方式,因而在計(jì)算基色的顏色值的過程中結(jié)合計(jì)算得出的漸變率grdient計(jì)算,如此便可以有效的完成顏色的漸變填充,而通過鏡框的最高點(diǎn)縱坐標(biāo)的值y1,最低點(diǎn)值縱坐標(biāo)的值y2,便可以有效的計(jì)算出鏡框顏色的漸變率grdient,如此便可以實(shí)現(xiàn)鏡框內(nèi)鏡片的顏色漸變填充了。
作為本發(fā)明的試戴方法改進(jìn)的一種具體實(shí)施方式,所述步驟七中的結(jié)合佩戴步驟如下:
71,進(jìn)行圖片疊加處理,將頭像的人臉作為背景,將鏡架圖片作為前景,將兩者進(jìn)行疊加;
72,對經(jīng)過71步驟疊加完成的圖片進(jìn)行均勻混色處理,將透明度alpha值設(shè)為30%,當(dāng)頭像像素點(diǎn)(i,j)的顏色值為f(i,j).color時(shí),該像素的顏色合成結(jié)果值RGBij(r,g,b)中的r的值為:
r=f(i,j).COLOR.R+GColor.R*alpha;
g的值為:
g=f(i,j).COLOR.G+GColor.G*alpha;
b的值為:
b=f(i,j).COLOR.B+GColor.B*alpha;
其中,R為紅色值,G為綠色值,B為藍(lán)色值,GColor.R為眼鏡紅色取色值,GColor.G為眼鏡綠色取色值,GColor.B為眼鏡藍(lán)色取色值。通過對疊加完成的圖片進(jìn)行混色處理,便可以使得鏡框與人臉之間的結(jié)合更加的協(xié)調(diào),更加的貼近實(shí)際情況,使得試戴效果更加準(zhǔn)確明顯,用戶就能夠更好的通過試戴來選擇眼鏡了。
綜上所述,本發(fā)明的虛擬試戴裝置和方法,通過數(shù)據(jù)庫1就可以存放數(shù)據(jù),數(shù)據(jù)處理器2就可以有效的對數(shù)據(jù)庫1內(nèi)存放的數(shù)據(jù)進(jìn)行有效的處理,處理出帶有鏡片眼鏡的鏡架圖片以及頭像,之后通過用戶交互終端3的設(shè)置,就可以對處理后的圖像進(jìn)行結(jié)合,完成對眼鏡的虛擬試戴,滿足了人們對染色鏡片效果的預(yù)覽需求,以及對鏡框邊緣的準(zhǔn)確檢測識別了,避免了試戴失敗的問題。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,本發(fā)明的保護(hù)范圍并不僅局限于上述實(shí)施例,凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護(hù)范圍。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理前提下的若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。