本申請涉及圖像處理技術(shù)領(lǐng)域,尤其涉及嘴唇渲染顏色的方法、裝置及電子設(shè)備。
背景技術(shù):
選擇口紅的色號是選購口紅時(shí)很重要的一個(gè)環(huán)節(jié),一般是通過試色挑選顏色,目前常用的試色方式是將口紅涂在手上或嘴唇上。涂在手上試色的方式雖然簡單,但是無法準(zhǔn)確判斷口紅涂在嘴唇上的效果;而涂在嘴唇上的方式,介于衛(wèi)生等問題,通常是由導(dǎo)購人員使用工具為客戶涂抹上色,整個(gè)過程十分繁瑣,且需要一對一的服務(wù)。而不管是哪種方式,都需要有口紅可以用來試,所以通常需要客戶到實(shí)體柜臺進(jìn)行試色,試完后還需要卸掉口紅??梢妭鹘y(tǒng)的試色方式都不方便。
而對圖像的嘴唇部位進(jìn)行顏色替換的方式,使得唇部看起來是一個(gè)平整的顏色,不能顯示人真實(shí)涂抹口紅時(shí)的狀態(tài),試色效果不佳。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本申請?zhí)峁┮环N嘴唇渲染顏色的方法、裝置及電子設(shè)備。
具體地,本申請是通過如下技術(shù)方案實(shí)現(xiàn)的:
一種嘴唇渲染顏色的方法,包括以下步驟:
對圖像進(jìn)行識別確定嘴唇渲染區(qū)域;
根據(jù)色號信息對嘴唇渲染區(qū)域上色生成著色嘴唇圖層;
從圖像中提取嘴唇渲染區(qū)域?qū)?yīng)的初始嘴唇圖層,對初始嘴唇圖層灰度化后調(diào)整色階得到高光嘴唇圖層,將高光嘴唇圖層與圖像所在圖層進(jìn)行變亮混合得到變亮混合圖層;
根據(jù)預(yù)設(shè)算法將變亮混合圖層與著色嘴唇圖層進(jìn)行疊加混合,得到嘴唇渲染顏色后的效果圖。
一個(gè)實(shí)施例中,所述根據(jù)預(yù)設(shè)算法將變亮混合圖層與著色嘴唇圖層進(jìn)行疊加混合,得到嘴唇渲染顏色后的效果圖的步驟包括:
獲取著色嘴唇圖層的像素值小于預(yù)設(shè)閾值的淺像素位置信息,將變亮混合圖層中與淺像素位置對應(yīng)的像素值作為第一像素;
將著色圖層中大于或等于預(yù)設(shè)閾值的像素值與高光嘴唇圖層中對應(yīng)的像素值根據(jù)預(yù)設(shè)算法進(jìn)行疊加混合得到第二像素;
將第一像素與第二像素渲染到圖像上得到效果圖。
一個(gè)實(shí)施例中,所述根據(jù)色號信息對嘴唇渲染區(qū)域上色生成著色嘴唇圖層的步驟包括:
將嘴唇渲染區(qū)域各像素的像素值與色號信息中的像素值相乘得到著色嘴唇圖層。
一個(gè)實(shí)施例中,所述對圖像進(jìn)行識別確定嘴唇渲染區(qū)域的步驟包括:
對圖像進(jìn)行人臉檢測以識別人臉圖像,從人臉圖像中提取嘴唇特征點(diǎn);
對嘴唇特征點(diǎn)進(jìn)行三角化處理得到嘴唇輪廓區(qū)域;
以嘴唇輪廓區(qū)域內(nèi)為白色、嘴唇輪廓區(qū)域外為黑色,對嘴唇輪廓區(qū)域進(jìn)行模糊處理,生成嘴唇渲染區(qū)域。
一個(gè)實(shí)施例中,所述對嘴唇特征點(diǎn)進(jìn)行三角化處理得到嘴唇輪廓區(qū)域的步驟包括:
根據(jù)嘴唇特征點(diǎn)中內(nèi)圈點(diǎn)的分布狀態(tài)判斷嘴唇是否處于張開狀態(tài);
當(dāng)嘴唇不處于張開狀態(tài)時(shí),對嘴唇特征點(diǎn)中的外圈點(diǎn)進(jìn)行三角化處理得到嘴唇輪廓區(qū)域;
當(dāng)嘴唇處于張開狀態(tài)時(shí),以外圈點(diǎn)和內(nèi)圈點(diǎn)組合的方式進(jìn)行三角化處理得到嘴唇輪廓區(qū)域。
本申請還公開了一種嘴唇渲染顏色的裝置,包括:
區(qū)域模塊,用于對圖像進(jìn)行識別確定嘴唇渲染區(qū)域;
渲染模塊,用于根據(jù)色號信息對嘴唇渲染區(qū)域上色生成著色嘴唇圖層;及
從圖像中提取嘴唇渲染區(qū)域?qū)?yīng)的初始嘴唇圖層,對初始嘴唇圖層灰度化后調(diào)整色階得到高光嘴唇圖層,將高光嘴唇圖層與圖像所在圖層進(jìn)行變亮混合得到變亮混合圖層;及
根據(jù)預(yù)設(shè)算法將變亮混合圖層與著色嘴唇圖層進(jìn)行疊加混合,得到嘴唇渲染顏色后的效果圖。
一個(gè)實(shí)施例中,所述渲染模塊包括:
取色單元,用于獲取著色嘴唇圖層的像素值小于預(yù)設(shè)閾值的淺像素位置信息,將變亮混合圖層中與淺像素位置對應(yīng)的像素值作為第一像素;
混色單元,用于將著色圖層中大于或等于預(yù)設(shè)閾值的像素值與高光嘴唇圖層中對應(yīng)的像素值根據(jù)預(yù)設(shè)算法進(jìn)行疊加混合得到第二像素;
渲染單元,用于將第一像素與第二像素渲染到圖像上得到效果圖。
一個(gè)實(shí)施例中,所述渲染模塊,還用于將嘴唇渲染區(qū)域各像素的像素值與色號信息中的像素值相乘得到著色嘴唇圖層。
一個(gè)實(shí)施例中,所述區(qū)域模塊包括:
取點(diǎn)單元,用于對圖像進(jìn)行人臉檢測以識別人臉圖像,從人臉圖像中提取嘴唇特征點(diǎn);
區(qū)域單元,用于對嘴唇特征點(diǎn)進(jìn)行三角化處理得到嘴唇輪廓區(qū)域;
模糊單元,用于以嘴唇輪廓區(qū)域內(nèi)為白色、嘴唇輪廓區(qū)域外為黑色,對嘴唇輪廓區(qū)域進(jìn)行模糊處理,生成嘴唇渲染區(qū)域;
所述區(qū)域單元,還用于根據(jù)嘴唇特征點(diǎn)中內(nèi)圈點(diǎn)的分布狀態(tài)判斷嘴唇是否處于張開狀態(tài);及
當(dāng)嘴唇不處于張開狀態(tài)時(shí),對嘴唇特征點(diǎn)中的外圈點(diǎn)進(jìn)行三角化處理得到嘴唇輪廓區(qū)域;及
當(dāng)嘴唇處于張開狀態(tài)時(shí),以外圈點(diǎn)和內(nèi)圈點(diǎn)組合的方式進(jìn)行三角化處理得到嘴唇輪廓區(qū)域。
本申請還公開了一種電子設(shè)備,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
對圖像進(jìn)行識別確定嘴唇渲染區(qū)域;
根據(jù)色號信息對嘴唇渲染區(qū)域上色生成著色嘴唇圖層;
從圖像中提取嘴唇渲染區(qū)域?qū)?yīng)的初始嘴唇圖層,對初始嘴唇圖層灰度化后調(diào)整色階得到高光嘴唇圖層,將高光嘴唇圖層與圖像所在圖層進(jìn)行變亮混合得到變亮混合圖層;
根據(jù)預(yù)設(shè)算法將變亮混合圖層與著色嘴唇圖層進(jìn)行疊加混合,得到嘴唇渲染顏色后的效果圖。
本發(fā)明根據(jù)色號信號對圖像中的嘴唇區(qū)域進(jìn)行顏色渲染,并對初始嘴唇圖層灰度化后調(diào)整色階得到高光嘴唇圖層,將高光圖層與圖像所在圖層進(jìn)行變亮混合得到變亮混合圖層,以模擬涂抹口紅后局部有反光的高光效果,根據(jù)預(yù)設(shè)算法將變亮混合圖層與著色嘴唇圖層進(jìn)行疊加混合,得到嘴唇渲染顏色后的效果圖,生成的效果圖不僅能夠顯現(xiàn)嘴唇中的紋理,還能夠模擬出人在真實(shí)場景下涂上口紅后具有的光澤,無需涂抹口紅即可體驗(yàn)真實(shí)的試色效果。
附圖說明
圖1是本申請一示例性實(shí)施例示出的一種嘴唇渲染顏色的方法的流程圖;
圖2是本申請一示例性實(shí)施例示出的對圖像進(jìn)行識別確定嘴唇渲染區(qū)域的細(xì)化流程圖;
圖3是從人臉圖像中提取特征點(diǎn)的示意圖;
圖4a是對嘴唇處于張開狀態(tài)時(shí)的特征點(diǎn)進(jìn)行三角化處理的示意圖;
圖4b是對嘴唇處于閉合狀態(tài)時(shí)的特征點(diǎn)進(jìn)行三角化處理的示意圖;
圖4c是本申請嘴唇渲染區(qū)域的效果圖;
圖4d是本申請生成的著色嘴唇圖層的效果圖;
圖5是本申請一示例性實(shí)施例示出的將變亮混合圖層與著色嘴唇圖層進(jìn)行疊加混合的細(xì)化流程圖;
圖6是本申請一示例性實(shí)施例示出的對嘴唇特征點(diǎn)進(jìn)行三角化處理得到嘴唇輪廓區(qū)域的細(xì)化流程圖;
圖7是本申請一示例性實(shí)施例示出的一種嘴唇渲染顏色的裝置的邏輯框圖;
圖8是本申請一示例性實(shí)施例示出的渲染模塊的細(xì)化邏輯框圖;
圖9是本申請一示例性實(shí)施例示出的區(qū)域模塊的細(xì)化邏輯框圖;
圖10是本申請一示例性實(shí)施例示出電子裝置效果圖。
具體實(shí)施方式
這里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。
應(yīng)當(dāng)理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。
圖1是本申請一示例性實(shí)施例示出的一種嘴唇渲染顏色的方法的流程圖;如圖1所示,該方法可以包括步驟s110至s140:
步驟s110:對圖像進(jìn)行識別確定嘴唇渲染區(qū)域;
在接收到圖像時(shí),可以對圖像進(jìn)行人臉檢測,以確定圖像中是否存在人臉并定位人臉位置,再從人臉中識別出嘴唇,以嘴唇所在區(qū)域作為嘴唇渲染區(qū)域;其中,可以通過神經(jīng)網(wǎng)絡(luò)、色彩識別、區(qū)域分割、關(guān)鍵點(diǎn)檢測等多種方式從圖像中識別出人臉嘴唇,本申請一實(shí)施例提供的確定嘴唇渲染區(qū)域的方式如圖2所示,所述對圖像進(jìn)行識別確定嘴唇渲染區(qū)域的步驟包括:
步驟s211:對圖像進(jìn)行人臉檢測以識別人臉圖像,從人臉圖像中提取嘴唇特征點(diǎn);
步驟s212:對嘴唇特征點(diǎn)進(jìn)行三角化處理得到嘴唇輪廓區(qū)域;
步驟s213:以嘴唇輪廓區(qū)域內(nèi)為白色、嘴唇輪廓區(qū)域外為黑色,對嘴唇輪廓區(qū)域進(jìn)行模糊處理,生成嘴唇渲染區(qū)域。
人臉對應(yīng)的特征點(diǎn)如圖3所示,由于本申請僅對嘴唇部分進(jìn)行渲染處理,因此,可以僅提取人臉嘴唇301對應(yīng)的框302中的特征點(diǎn),特征點(diǎn)的數(shù)量可以有任意多個(gè),本申請對特征點(diǎn)的數(shù)量不做限定,為了便于描述,接下來以20個(gè)特征點(diǎn)為例進(jìn)行說明,如圖4a所示,外圈點(diǎn)12個(gè)、內(nèi)圈點(diǎn)8個(gè),可以采用外圈點(diǎn)順次相連組成大多邊形、內(nèi)圈點(diǎn)順次相連組成小多邊形,2個(gè)多邊形嵌套,以大多邊形與小多邊形間的多邊形圈為嘴唇輪廓區(qū)域;為了便于程序描述,本實(shí)施例以外圈點(diǎn)和/或內(nèi)圈點(diǎn)的特征點(diǎn)組成的三角形表示嘴唇輪廓區(qū)域。從圖4a、圖4b中可以看出,由特征點(diǎn)連線描繪出的嘴唇輪廓區(qū)域邊緣銳利,沒有真實(shí)唇形平滑,且嘴唇(口紅)與皮膚的顏色在交界處是漸變過渡的,為了能夠更貼近真實(shí)嘴唇的形狀及上色效果,本申請一實(shí)施例通過對嘴唇輪廓區(qū)域邊緣進(jìn)行平滑和/或模糊處理,以嘴唇輪廓區(qū)域內(nèi)為白色、嘴唇輪廓區(qū)域外為黑色,對嘴唇輪廓區(qū)域進(jìn)行模糊處理,生成嘴唇渲染區(qū)域,如圖4c所示。模糊處理的方法有多種,例如,高斯算子、拉普拉斯高斯算子等,以本申請一實(shí)施例采用高斯算子為例,以a像素及其左右各4個(gè)像素共9個(gè)像素為一組,以這9個(gè)像素的rgb值進(jìn)行高斯算子加權(quán)運(yùn)算(橫向運(yùn)算),得到該a像素的rgb值,再以該a像素及其上下各4個(gè)像素共9個(gè)像素為一組,以這9個(gè)像素的rgb值進(jìn)行高斯算子加權(quán)運(yùn)算(豎向運(yùn)算),得到該a像素的rgb值。嘴唇輪廓區(qū)域邊緣的像素均作為a像素,采用gpu(graphicsprocessingunit,圖形處理器)同時(shí)進(jìn)行上述運(yùn)算,處理速度快,當(dāng)然,為了增強(qiáng)效果,也可以再重復(fù)進(jìn)行上述運(yùn)算(一次橫向運(yùn)算+一次豎向運(yùn)算為一次運(yùn)算)。從而嘴唇渲染區(qū)域從中間向邊緣以漸變色過渡,對嘴唇渲染區(qū)域上色時(shí),能更加自然的貼近真實(shí)涂抹口紅的效果,從而嘴唇渲染區(qū)域從圖像中摳取的初始嘴唇圖層能更加貼近真實(shí)嘴唇。
步驟s120:根據(jù)色號信息對嘴唇渲染區(qū)域上色生成著色嘴唇圖層;
色號信息包括顏色的名稱、對應(yīng)的rgb值等,色號信息可以是根據(jù)用戶的指令生成的,也可以是系統(tǒng)根據(jù)歷史數(shù)據(jù)、用戶膚色等信息自動(dòng)生成的,當(dāng)然,不同廠商對同一名稱顏色的口紅使用的rgb值也可能不同,例如,不同品牌的珊瑚色口紅的顏色對應(yīng)的rgb值就可能不同,所以,顏色的名稱可以包含品牌、色號等信息,以方便用戶使用,可以在系統(tǒng)中將顏色的名稱與rgb值對應(yīng),以根據(jù)rgb值對嘴唇渲染區(qū)域上色生成著色嘴唇圖層,如圖4d所示。對嘴唇渲染區(qū)域上色的方式有多種,可以逐一像素進(jìn)行處理,也可以按區(qū)域進(jìn)行處理,為了提高上色的速度,本申請一實(shí)施例所述根據(jù)色號信息對嘴唇渲染區(qū)域上色生成著色嘴唇圖層的步驟包括:
將嘴唇渲染區(qū)域各像素的像素值與色號信息中的像素值相乘得到著色嘴唇圖層。
例如,選擇珊瑚色對嘴唇渲染區(qū)域上色,即將珊瑚色的rgb值與嘴唇渲染區(qū)域的rgb值混合,例如,黑色的rgb值分別為0、0、0,白色的rgb值分別為255、255、255,珊瑚色的rgb值分別為255、127、80,由于r、g、b各值的取值范圍是0-255,為了便于計(jì)算,將rgb值轉(zhuǎn)化成0-1間的數(shù),例如,黑色的rgb值為0、0、0,白色的rgb值分別為1、1、1,珊瑚色的rgb值分別為1、0.498、0.314,進(jìn)行混合時(shí)將像素的rgb值與珊瑚色的rgb值相乘即可,例如,為白色上珊瑚色后的rgb值分別為1、0.498、0.314,為黑色上珊瑚色后的rgb值為0、0、0,區(qū)域整體渲染的處理方式可以大大提高上色速度。
步驟s130:從圖像中提取嘴唇渲染區(qū)域?qū)?yīng)的初始嘴唇圖層,對初始嘴唇圖層灰度化后調(diào)整色階得到高光嘴唇圖層,將高光嘴唇圖層與圖像所在圖層進(jìn)行變亮混合得到變亮混合圖層;
人的嘴唇會(huì)對光有反射(反光),當(dāng)涂了口紅、唇油等在嘴唇上形成釉層后反光(高光)會(huì)更明顯,僅在圖像中對嘴唇渲染區(qū)域上色不能達(dá)到形成高光的效果,對此,本申請?zhí)岢鰹樽齑皆黾痈吖獾姆桨?,?dāng)然,可以采用自動(dòng)匹配高光等方式,為了增強(qiáng)高光真實(shí)感,本申請一實(shí)施例采用將嘴唇原本反光效果增強(qiáng)的方式生成高光;從圖像中提取嘴唇渲染區(qū)域?qū)?yīng)的初始嘴唇圖層,對初始嘴唇圖層灰度化后調(diào)整色階得到高光嘴唇圖層,本實(shí)施例采用的灰度化是指使像素的r值=g值=b值,可以根據(jù)r值、g值或者b值進(jìn)行灰度化,也可以根據(jù)某一比例對rgb整體進(jìn)行灰度化,本申請對此不作限制,灰度化后調(diào)整色階(包括gamma矯正)以增強(qiáng)明暗對比,例如,將灰度化后像素的rgb值映射到50-150的區(qū)間內(nèi),再還原到0-255,使原本rgb值在0-50范圍內(nèi)的像素最終變成0,原本rgb值在150-255范圍內(nèi)的像素最終變成255,rgb值在50-150的像素也增強(qiáng)了明暗對比,使暗的像素更暗、亮的像素更亮,從而形成高光的效果。以對初始嘴唇圖層中4個(gè)像素進(jìn)行灰度化后調(diào)整色階為例,若rgb值為(40,40,70)、(70,40,70)、(140,70,140)、(200,140,200),根據(jù)將rgb值按照(0.3,0.59,0.11)進(jìn)行灰度化后為(43,43,43)、(52,52,52)、(99,99,99)、(165,165,165),將上述rgb值映射到50-150的區(qū)間并結(jié)合gamma矯正:(43-50)÷(150-50)=-0.07(小于0時(shí)取0),(52-50)÷(150-50)=0.02,(99-50)÷(150-50)=0.49,(165-50)÷(150-50)=1.15(大于1時(shí)取1),計(jì)算結(jié)果為(0,0,0)、(0.02,0.02,0.02)、(0.49,0.49,0.49)、(1,1,1);還原到0-255:0→0,0.02→5,0.49→125,1→255,即調(diào)整色階后的rgb值為(0,0,0)、(5,5,5)、(125,125,125)、(255,255,255)。將高光嘴唇圖層與圖像所在圖層進(jìn)行變亮混合得到變亮混合圖層,為原嘴唇圖層增添高光效果。
步驟s140:根據(jù)預(yù)設(shè)算法將變亮混合圖層與著色嘴唇圖層進(jìn)行疊加混合,得到嘴唇渲染顏色后的效果圖。
實(shí)際涂抹口紅后,還是能看到嘴唇上的紋理,口紅效果也與唇色有一定關(guān)系,為此,本申請采用預(yù)設(shè)算法將變亮混合圖層與著色嘴唇圖層進(jìn)行疊加混合,使得效果圖中能看到真實(shí)涂沫口紅后應(yīng)有的光澤及紋理。
根據(jù)預(yù)設(shè)算法將變亮混合圖層與著色嘴唇圖層進(jìn)行疊加混合的方式有多種,例如,如公式(1)所示的預(yù)設(shè)算法,
其中,a表示著色嘴唇圖層中像素的rgb值,b表示著變亮混合圖層中像素的rgb值。然而,由圖4d可知,著色嘴唇圖層中除嘴唇部分外,其它區(qū)域?yàn)楹谏?,而黑色的rgb值分別為0、0、0,白色的rgb值分別為255、255、255(使用公式(1)時(shí)是將rgb值轉(zhuǎn)化成0-1間的數(shù)進(jìn)行計(jì)算的,r值、g值、b值獨(dú)立計(jì)算),顯然,采用公式(1)進(jìn)行疊加混合將使圖像中嘴唇以外區(qū)域的像素值也發(fā)生改變,對此,如圖5所示,本申請一實(shí)施例提出的根據(jù)預(yù)設(shè)算法將變亮混合圖層與著色嘴唇圖層進(jìn)行疊加混合,得到嘴唇渲染顏色后的效果圖的步驟包括:
步驟s541:獲取著色嘴唇圖層的像素值小于預(yù)設(shè)閾值的淺像素位置信息,將變亮混合圖層中與淺像素位置對應(yīng)的像素值作為第一像素;
步驟s542:將著色圖層中大于或等于預(yù)設(shè)閾值的像素值與高光嘴唇圖層中對應(yīng)的像素值根據(jù)預(yù)設(shè)算法進(jìn)行疊加混合得到第二像素;
步驟s543:將第一像素與第二像素渲染到圖像上得到效果圖。
上述步驟s541及步驟s542可以理解為如公式(2)所示的預(yù)設(shè)算法,
其中,a表示著色嘴唇圖層中像素的rgb值,b表示著變亮混合圖層中像素的rgb值。公式(2)中的0.5即為與著色嘴唇圖層的像素值進(jìn)行對比的預(yù)設(shè)閾值,預(yù)設(shè)閾值可以任意設(shè)定,例如為0.5或0.8等,本申請對此不作限定,可以理解的,公式(2)中也可以采用其它類型的混合公式。由于黑色的rgb值分別為0、0、0,顯然,圖4d中除嘴唇部分外的黑色區(qū)域?qū)@示變亮混合圖層中的區(qū)域,當(dāng)然,也可以對嘴唇部分以外的區(qū)域采用其它方式進(jìn)行美膚或增加化妝效果;嘴唇部分根據(jù)公式(2)進(jìn)行計(jì)算,其中部分像素值為變亮混合圖層中對應(yīng)位置的像素值,部分像素值為著色嘴唇圖層與變亮混合圖層中像素的混合結(jié)果,從而,最終的效果圖中能夠顯示口紅效果、真實(shí)涂沫口紅后應(yīng)有的光澤及紋理。
進(jìn)一步地,由于人的嘴唇有張開和閉合等狀態(tài),針對不同狀態(tài)本申請?zhí)岢隽瞬煌奶幚矸绞剑鐖D6所示,所述對嘴唇特征點(diǎn)進(jìn)行三角化處理得到嘴唇輪廓區(qū)域的步驟包括:
步驟s611:根據(jù)嘴唇特征點(diǎn)中內(nèi)圈點(diǎn)的分布狀態(tài)判斷嘴唇是否處于張開狀態(tài);
步驟s612:當(dāng)嘴唇不處于張開狀態(tài)時(shí),對嘴唇特征點(diǎn)中的外圈點(diǎn)進(jìn)行三角化處理得到嘴唇輪廓區(qū)域;
步驟s613:當(dāng)嘴唇處于張開狀態(tài)時(shí),以外圈點(diǎn)和內(nèi)圈點(diǎn)組合的方式進(jìn)行三角化處理得到嘴唇輪廓區(qū)域。
判斷嘴唇是否處于張開狀態(tài)的方式有多種,例如,通過比較像素rgb值區(qū)分嘴唇、牙齒等以判斷嘴唇是否處于張開狀態(tài),然而目前的判斷方式計(jì)算方法都較復(fù)雜,本申請?zhí)岢龈鶕?jù)內(nèi)圈各特征點(diǎn)的位置關(guān)系判斷嘴唇是否處于張開狀態(tài),嘴唇處于張開狀態(tài)或閉合狀態(tài)時(shí),內(nèi)圈各特征點(diǎn)間距的變化較明顯,如圖4a、圖4b所示,可以根據(jù)特征點(diǎn)414、415、416、418、419、420的分布狀態(tài)判斷嘴唇是否處于張開狀態(tài),例如,計(jì)算特征點(diǎn)414、415、416縱坐標(biāo)的第一平均值,特征點(diǎn)418、419、420縱坐標(biāo)的第二平均值,比較第一平均值與第二平均值的差值是否小于預(yù)設(shè)閾值(例如,為2像素、5像素等);當(dāng)然,也可以分別計(jì)算特征點(diǎn)414與420、415與419、416與418縱坐標(biāo)的差值是否小于預(yù)設(shè)閾值,大于預(yù)設(shè)閾值可以判斷嘴唇處于張開狀態(tài)(如圖4a所示),否則可以判斷嘴唇處于閉合狀態(tài)(如圖4b所示)。進(jìn)一步地,針對嘴唇處于張開狀態(tài)或閉合狀態(tài)可以采用不同的三角化處理方式,如圖4a所示,當(dāng)嘴唇處于張開狀態(tài)時(shí),以外圈點(diǎn)和內(nèi)圈點(diǎn)組合的方式進(jìn)行三角化處理得到嘴唇輪廓區(qū)域,例如,以特征點(diǎn)401、402、413組成一個(gè)三角形,再以402、413、414組成下一個(gè)三角形,依次循環(huán)到所有的特征點(diǎn),三角形組成閉合區(qū)域且不重疊,得到嘴唇輪廓區(qū)域。若在嘴唇閉合狀態(tài)仍以外圈點(diǎn)和內(nèi)圈點(diǎn)組合的方式進(jìn)行三角化處理,因內(nèi)圈點(diǎn)位置交錯(cuò)可能出現(xiàn)部分區(qū)域重疊的三角形,而以三角形為區(qū)域?qū)ψ齑捷喞獏^(qū)域上色時(shí),將導(dǎo)致重疊的部分重復(fù)上色、顏色變深。為此,如圖4b所示,當(dāng)嘴唇不處于張開狀態(tài)時(shí),對嘴唇特征點(diǎn)中的外圈點(diǎn)進(jìn)行三角化處理得到嘴唇輪廓區(qū)域,例如,以特征點(diǎn)401、402、412組成一個(gè)三角形,再以402、412、403組成下一個(gè)三角形,依次循環(huán)到所有的外圈點(diǎn),三角形組成閉合區(qū)域且不重疊,得到嘴唇輪廓區(qū)域。從而,通過上述對嘴唇閉合狀態(tài)的區(qū)分處理,不僅可以提高獲取嘴唇輪廓區(qū)域的效率,還可以保證上色效果。
與前述嘴唇渲染顏色的方法的實(shí)施例相對應(yīng),本申請還提供了嘴唇渲染顏色的裝置的實(shí)施例。
請參考圖7,圖7是本申請一示例性實(shí)施例示出的一種嘴唇渲染顏色的裝置700的邏輯框圖;如圖7所示,該嘴唇渲染顏色的裝置700可以包括區(qū)域模塊710及渲染模塊720:
區(qū)域模塊710,用于對圖像進(jìn)行識別確定嘴唇渲染區(qū)域;
渲染模塊720,用于根據(jù)色號信息對嘴唇渲染區(qū)域上色生成著色嘴唇圖層;及
從圖像中提取嘴唇渲染區(qū)域?qū)?yīng)的初始嘴唇圖層,對初始嘴唇圖層灰度化后調(diào)整色階得到高光嘴唇圖層,將高光嘴唇圖層與圖像所在圖層進(jìn)行變亮混合得到變亮混合圖層;及
根據(jù)預(yù)設(shè)算法將變亮混合圖層與著色嘴唇圖層進(jìn)行疊加混合,得到嘴唇渲染顏色后的效果圖。
如圖8所示,所述渲染模塊720包括:
取色單元721,用于獲取著色嘴唇圖層的像素值小于預(yù)設(shè)閾值的淺像素位置信息,將變亮混合圖層中與淺像素位置對應(yīng)的像素值作為第一像素;
混色單元722,用于將著色圖層中大于或等于預(yù)設(shè)閾值的像素值與高光嘴唇圖層中對應(yīng)的像素值根據(jù)預(yù)設(shè)算法進(jìn)行疊加混合得到第二像素;
渲染單元723,用于將第一像素與第二像素渲染到圖像上得到效果圖。
進(jìn)一步的,所述渲染模塊720,還用于將嘴唇渲染區(qū)域各像素的像素值與色號信息中的像素值相乘得到著色嘴唇圖層。
如圖9所示,所述區(qū)域模塊710包括:
取點(diǎn)單元711,用于對圖像進(jìn)行人臉檢測以識別人臉圖像,從人臉圖像中提取嘴唇特征點(diǎn);
區(qū)域單元712,用于對嘴唇特征點(diǎn)進(jìn)行三角化處理得到嘴唇輪廓區(qū)域;
模糊單元713,用于以嘴唇輪廓區(qū)域內(nèi)為白色、嘴唇輪廓區(qū)域外為黑色,對嘴唇輪廓區(qū)域進(jìn)行模糊處理,生成嘴唇渲染區(qū)域;
所述區(qū)域單元712,還用于根據(jù)嘴唇特征點(diǎn)中內(nèi)圈點(diǎn)的分布狀態(tài)判斷嘴唇是否處于張開狀態(tài);及
當(dāng)嘴唇不處于張開狀態(tài)時(shí),對嘴唇特征點(diǎn)中的外圈點(diǎn)進(jìn)行三角化處理得到嘴唇輪廓區(qū)域;及
當(dāng)嘴唇處于張開狀態(tài)時(shí),以外圈點(diǎn)和內(nèi)圈點(diǎn)組合的方式進(jìn)行三角化處理得到嘴唇輪廓區(qū)域。
與前述嘴唇渲染顏色的方法的實(shí)施例相對應(yīng),本申請還提供了一種電子設(shè)備,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
對圖像進(jìn)行識別確定嘴唇渲染區(qū)域;
根據(jù)色號信息對嘴唇渲染區(qū)域上色生成著色嘴唇圖層;
從圖像中提取嘴唇渲染區(qū)域?qū)?yīng)的初始嘴唇圖層,對初始嘴唇圖層灰度化后調(diào)整色階得到高光嘴唇圖層,將高光嘴唇圖層與圖像所在圖層進(jìn)行變亮混合得到變亮混合圖層;
根據(jù)預(yù)設(shè)算法將變亮混合圖層與著色嘴唇圖層進(jìn)行疊加混合,得到嘴唇渲染顏色后的效果圖。
如圖10所示,本申請的電子設(shè)備可以是安裝有嘴唇渲染顏色功能應(yīng)用軟件的電子設(shè)備100,通過在電子設(shè)備100中安裝該應(yīng)用軟件即可對圖像中的嘴唇渲染顏色,該圖像可以是通過攝像頭101獲取的,也可以是電子設(shè)備100中存儲的,或者通過其它途徑獲取的圖像。
上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。
對于裝置實(shí)施例而言,由于其基本對應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
以上所述僅為本申請的較佳實(shí)施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請保護(hù)的范圍之內(nèi)。