本發明涉及信息技術領域,尤其涉及一種圖像處理方法及裝置、電子設備及存儲介質。
背景技術:
圖像處理包括:對已現有的圖像中的部分區域進行變形處理,得到圖像美化處理等。例如,常見的圖像處理可包括:人臉美化處理,在人臉美化處理的過程中,可能會涉及到目標器官的變形。現有的人臉美化處理,通常都涉及大量的計算量,復雜度高、導致響應時延大,處理效率低或者處理后的圖像質量差等問題。
技術實現要素:
有鑒于此,本發明實施例期望提供一種圖像處理方法及裝置、電子設備及存儲介質,解決圖像處理得到的圖像質量差和/或圖像處理過程中計算量大、復雜度高的問題。
為達到上述目的,本發明的技術方案是這樣實現的:
本發明實施例第一方面提供一種圖像處理方法,包括:
獲取原始圖像;
基于原始圖像中待變形的第一目標對象的特征點,確定變形區域,其中,所述特征點,用于體現所述第一目標對象的輪廓和/或紋理特征;
從所述變形區域選擇多個像素點作為定變形約束源點;
基于變形約束源點及變形強度,確定目標點,其中,所述目標點為所述第一目標對象變形后形成的變形圖像的像素點,所述目標點的像素參數等于所述變形約束原點的像素參數;
基于所述變形區域內各像素的原始像素參數、所述目標點,確定所述變形區域內每一個像素變形后的像素參數,從而獲得變形區域圖像;
將所述變形區域圖像融合到所述原始圖像的所述變形區域內,獲得變形后的圖像。
基于上述方案,所述基于原始圖像中待變形的第一目標對象的特征點,確定變形區域,包括:
獲取所述第一目標對象的多個所述特征點;
根據多個所述特征點在所述原始圖像中的坐標參數,選擇出所述第一目標對象的中間特征點,作為所述變形區域的中心點,其中,所述中間特征點,為多個所述特征點中位于最中間位置的所述特征點;
獲取變形尺寸參數;
基于所述變形尺寸參數及所述中心點,確定所述變形區域。
基于上述方案,所述獲取變形尺寸參數,包括:
根據所述第一目標對象的邊緣特征點及所述中心特征點,確定出第一變形半徑,其中,所述邊緣特征點,為多個所述特征點中位于邊緣位置的所述特征點;
根據所述第一變形半徑及第一調整參數,確定第二變形半徑;
所述基于所述變形尺寸參數及所述中心點,確定所述變形區域,包括:
基于所述第二變形半徑及所述中心點,確定所述變形區域。
基于上述方案,所述方法還包括:
根據所述第一目標對象所在的第二目標對象的特征點,確定出第一變形強度;
根據所述第一變形強度及第二調整參數,確定第二變形強度;
所述基于變形約束源點及變形強度,確定目標點,包括:
基于所述變形約束點及所述第二變形強度,確定目標點。
基于上述方案,所述第二目標對象為人臉;所述第二目標對象為鼻子。
基于上述方案,所述方法還包括:
獲取所述變形區域的外接矩形;
按照所述外接矩形截取所述原始圖像,截取圖像;
基于所述變形區域轉換所述截取圖像,獲得掩膜圖,其中,所述掩膜圖位于變形區域內的像素點的像素值為第一取值,所述變形區域外的像素點的像素值為第二取值;
所述基于所述變形區域內各像素的原始像素參數、所述目標點,確定所述變形區域內每一個像素變形后的像素參數,從而獲得變形區域圖像,包括:
基于所述掩膜圖,所述截取圖像的原始像素參數及所述目標點,獲得所述變形區域圖像。
基于上述方案,所述方法還包括:
對所述掩膜圖進行模糊處理,獲得所述截取圖像的漸變圖;
所述將所述變形區域圖像融合到所述原始圖像的所述變形區域內,獲得變形后的圖像,包括:
基于所述漸變圖,獲取融合權重參數;
基于所述融合參數,融合所述原始圖像和所述變形區域圖像。
基于上述方案,所述基于所述掩膜圖,所述截取圖像的原始像素參數及所述目標點,獲得所述變形區域圖像,包括:
基于所述掩膜圖,確定所述截取圖像待處理像素;
基于所述待處理像素的原始像素參數及所述目標點,獲取所述變形區域圖像。
本發明實施例第二方面提供一種圖像處理裝置,包括:
第一獲取單元,用于獲取原始圖像;
第一確定單元,用于基于原始圖像中待變形的第一目標對象的特征點,確定變形區域,其中,所述特征點,用于體現所述第一目標對象的輪廓和/或紋理特征;
選擇單元,用于從所述變形區域選擇多個像素點作為定變形約束源點;
第二確定單元,用于基于變形約束源點及變形強度,確定目標點,其中,所述目標點為所述第一目標對象變形后形成的變形圖像的像素點,所述目標點的像素參數等于所述變形約束原點的像素參數;
形成單元,用于基于所述變形區域內各像素的原始像素參數、所述目標點,確定所述變形區域內每一個像素變形后的像素參數,從而獲得變形區域圖像;
融合單元,用于將所述變形區域圖像融合到所述原始圖像的所述變形區域內,獲得變形后的圖像。
基于上述方案,所述第一確定單元,用于獲取所述第一目標對象的多個所述特征點;根據多個所述特征點在所述原始圖像中的坐標參數,選擇出所述第一目標對象的中間特征點,作為所述變形區域的中心點,其中,所述中間特征點,為多個所述特征點中位于最中間位置的所述特征點;獲取變形尺寸參數;基于所述變形尺寸參數及所述中心點,確定所述變形區域。
基于上述方案,所述第一確定單元,用于根據所述第一目標對象的邊緣特征點及所述中心特征點,確定出第一變形半徑,其中,所述邊緣特征點,為多個所述特征點中位于邊緣位置的所述特征點;根據所述第一變形半徑及第一調整參數,確定第二變形半徑;基于所述第二變形半徑及所述中心點,確定所述變形區域。
基于上述方案,所述裝置還包括:
第三確定單元,用于根據所述第一目標對象所在的第二目標對象的特征點,確定出第一變形強度;根據所述第一變形強度及第二調整參數,確定第二變形強度;
所述第二確定單元,具體用于基于所述變形約束點及所述第二變形強度,確定目標點。
基于上述方案,所述第二目標對象為人臉;所述第二目標對象為鼻子。
基于上述方案,所述裝置還包括:
第二獲取單元,用于獲取所述變形區域的外接矩形;
截取單元,用于按照所述外接矩形截取所述原始圖像,截取圖像;
轉換單元,用于基于所述變形區域轉換所述截取圖像,獲得掩膜圖,其中,所述掩膜圖位于變形區域內的像素點的像素值為第一取值,所述變形區域外的像素點的像素值為第二取值;
所述形成單元,用于基于所述掩膜圖,所述截取圖像的原始像素參數及所述目標點,獲得所述變形區域圖像。
基于上述方案,所述裝置還包括:
模糊處理單元,用于對所述掩膜圖進行模糊處理,獲得所述截取圖像的漸變圖;
所述融合單元,用于基于所述漸變圖,獲取融合權重參數;基于所述融合參數,融合所述原始圖像和所述變形區域圖像。
基于上述方案,所述形成單元,具體用于基于所述掩膜圖,確定所述截取圖像待處理像素;基于所述待處理像素的原始像素參數及所述目標點,獲取所述變形區域圖像。
本發明實施例第三方面提供一種電子設備,包括:
存儲器,用于存儲計算機程序;
處理器,與所述存儲器連接,用于通過執行所述計算機程序,實現前述任意一項提供的圖像處理方法。
本發明實施例第四方面提供一種計算機存儲介質,所述計算機存儲介質存儲有計算機程序,所述計算機程序被處理器執行后,能夠實現前述任意一項提供的圖像處理方法。
本發明實施例提供的圖像處理方法及裝置、電子設備及存儲介質,在本實施例中進行圖像處理時,首先會獲取圖像中需要進行變形處理的第一目標對象的特征點,基于其他該特征點確定變形范圍,可以精確確定出包括第一目標對象的變形區域,然后采用變形約束源點和目標點之間的對應關系,進行變形區域內的變形,獲得變形后的圖像,融合到原始圖像中,相對于不能精確定位變形區域的圖像處理,可以獲得更好的圖像效果;且處理過程中保持了無需變形部分的原樣,且計算復雜度低,圖像處理裝置的消耗少的特點。
附圖說明
圖1為本發明實施例提供的第一種圖像處理方法的流程示意圖;
圖2為本發明實施例提供的如何確定變形區域的流程示意圖;
圖3為本發明實施例提供的一種鼻子的特征點的示意圖;
圖4為本發明實施例提供的一種基于用戶輸入變形區域的變化示意圖;
圖5為本發明實施例提供的一種圖像處理方法的顯示示意圖;
圖6為圖5所示的圖像進行瘦鼻之后的顯示示意圖;
圖7為本發明實施例提供的一種圖像處理裝置的結構示意圖;
圖8為本發明實施例提供的一種電子設備的結構示意圖;
圖9為本發明實施例提供的另一種圖像處理方法的流程示意圖;
圖10為本發明實施例提供的圖像之間的演變示意圖。
具體實施方式
以下結合說明書附圖及具體實施例對本發明的技術方案做進一步的詳細闡述。
如圖1所示,本實施例提供一種圖像處理方法,包括:
步驟s110:獲取原始圖像;
步驟s120:基于原始圖像中待變形的第一目標對象的特征點,確定變形區域,其中,所述特征點,用于體現所述第一目標對象的輪廓和/或紋理特征;
步驟s130:從所述變形區域選擇多個像素點作為定變形約束源點;
步驟s140:基于變形約束源點及變形強度,確定目標點,其中,所述目標點為所述第一目標對象變形后形成的變形圖像的像素點,所述目標點的像素參數等于所述變形約束原點的像素參數;
步驟s150:基于所述變形區域內各像素的原始像素參數、所述目標點,確定所述變形區域內每一個像素變形后的像素參數,從而獲得變形區域圖像;
步驟s160:將所述變形區域圖像融合到所述原始圖像的所述變形區域內,獲得變形后的圖像。
本實施例提供的圖像處理方法,可應用于各種圖像處理設備中,例如,手機、平板電腦或可穿戴式設備等各種運行圖像處理應用的電子設備。
在步驟s110中獲取原始圖像,可包括:通過攝像頭采集得到原始圖像,或,從通信接口從其他電子設備接收所述原始圖像,或者,從圖像處理設備的本地存儲介質中提取所述原始圖像。在本實施例中所述原始圖像包括:每一個像素點的像素參數。這里的每一個像素點的像素參數可包括:色彩值和透明度值;所述色彩值可包括:紅色(r)、綠(g)、藍(b)等三原色的色彩值,每一個像素的透明度等參數。
在步驟s120中進行待變形的第一目標對象的特征點,獲得變形區域。這里的第一目標對象的特征點,可為采用各種特征點提取方法,獲得表征第一目標對象的輪廓和/或紋理的像素點。例如,可以采用fast特征提取算法提取的第一目標對象的特征點。所述fast可為featuresfromacceleratedsegmenttest的縮寫,但是不局限于該算法。在一些實施例中所述特征點,為其灰度值與其周圍的灰度值的差異在預設范圍內的像素點。
所述第一目標對象的特征點,包括:表征第一目標對象的邊緣位置的特征點,和中間位置的特征點,在本實施例中至少可以基于邊緣位置的特征點,確定出所述變形區域的邊緣,在一些實施例中,所述變形區域至少需要包括所述第一目標對象的所有特征點。
一方面,本實施例中在確定變形區域時,將獲取第一目標對象的特征點,基于特征點的分布位置或像素坐標,來確定所述變形區域,這樣的話,相對于現有技術中隨機截取或基于用戶圈定的截取,能夠在第一目標對象處于不同的姿態或形態下,都能夠獲得精確的變形區域,相對于隨機截取或人操作的不精確性而言,可以精確確定變形區域,從而實現在不同姿態的圖像都能夠獲得較好的圖像處理效果。
另一方面,在本實施例中是基于第一目標對象的特征點確定變形區域的,即便因為拍攝角度等導致第一目標對象在原始圖像中呈現不同姿態,也可以自適應的提取出包括第一目標對象的圖形區域作為所述形變區域,從而提升了形變的穩定性和精確性。
在一些實施例中,在步驟s130可用于基于變形區域,確定變形約束源點。在一些實施例中,可以根據所述變形區域的面積,確定所述變形約束源點的個數及位置。總之本實施例中所述變形區域可為:所述原始圖像中僅包括第一目標對象的圖像區域。例如,所述第一目標對象為鼻子,則所述變形區域可為:包括整個鼻子的圖形區域,且僅包括鼻子的圖形區域。例如,所述第一目標對象為眼睛,則所述變形區域可為:所述原始圖像中僅包括眼睛的圖形區域。
例如,所述變形區域為圓形變形區域,可以按照預設角度,等角度的從變形區域的周邊上選擇出所述變形約束源點。當變形區域的面積大于第一面積或變形半徑大于第一半徑時,則采用第一預設角度等角度的取變形約束源點;當變形區域的面積不大于第一面積或變形半徑不大于第一半徑時,則采用第二預設角度等角度的取所述變形約束源點。所述第一預設角度小于所述第二預設角度。當然,所述圓形變形區域還可為橢圓區域。
在步驟s150中還會基于變形約束源點及變形強度,確定目標點,進行目標對象的變形。這樣的話,基于特征點定位變形區域,再結合變形約束源點和目標點的坐標,實現算法簡單,計算復雜度低的特點,從而本實施例提供的圖像處理方法,具有實現簡便的特點。
在本實施例中所述變形強度可為表征對第一目標對象變形后產生的形變程度的參數,所述變形強度可包括:縮放所述第一目標對象的縮放比例。所述變形強度還可包括:縮放所述第一目標對象的放大值或縮小值等。所述變形強度還可包括:第一目標對象中部分輪廓弧度的弧度調整值等。總之,所述變形強度對應的具體參數有很多種,不局限于上述任意一種。
當所述變形強度可為縮放比例,例如,所述第一目標對象為鼻子,可為縮放所述鼻子的縮放比例,所述第一目標對象為人臉,則可為縮放所述人臉的縮放比例。
在本實施例中所述目標點為所述變形約束源點的像素參數,在變形之后所對應的像素點。這里的像素參數可包括色彩值和透明度值等。
在步驟s150中基于原始像素參數、目標點重新確定變形區域內每一個像素的像素參數,從而獲得變形之后的變形區域的圖像。變形之后的變形區域的圖像,在本實施例中稱之為變形區域圖像。
在步驟s150中將僅對變形區域進行變形,這樣的話,得到變形區域圖像之后在融合到原始圖像的變形區域對應的位置,顯然避免了對原始圖像中變形區域以外的其他區域進行圖形處理,從而可以維持原始圖像中不該形變的原始呈現,從而對第一目標對象以外的其他圖形對象進行保護。
在步驟s160中會基于原始圖像和變形區域圖像,進行原始圖像和變形區域圖像的融合,獲得變形后的圖像。在本實施中所述步驟s160可包括:將所述變形區域圖像替換掉原始圖像中變形區域的圖像,就可以直接獲得變形后的圖像。但是在本實施例中為了避免進行變形區域的變形區域圖像替換之后,出現替換導致替換邊界處的過于銳利的問題,在本實施例中在融合所述原始圖像和變形區域圖像時,在將所述變形區域圖像替換掉原始圖像的變形區域之后,進行邊緣模糊處理,使得邊緣區域的過度平緩,進一步提升變形圖像的圖像質量。
可選地,如圖2所示,所述s120可包括:
步驟s121:獲取所述第一目標對象的多個所述特征點;
步驟s122:根據多個所述特征點在所述原始圖像中的坐標參數,選擇出所述第一目標對象的中間特征點,作為所述變形區域的中心點,其中,所述中間特征點,為多個所述特征點中位于最中間位置的所述特征點;
步驟s123:獲取變形尺寸參數;
步驟s124:基于所述變形尺寸參數及所述中心點,確定所述變形區域。
在本實施例中獲取所述特征點,包括:獲取第一目標對象的各個特征點在原始圖像中的像素坐標;獲取了每一個像素坐標之后,就可以根據每一個像素坐標的坐標,選擇出位于這些特征點中間位置的特征點,該特征點稱之為中間特征點。在本實施例中會將該中間特征點,作為本實施例中變形區域的中心點。例如,變形區域為圓形區域,則該中間特征點的像素坐標將作為所述圓形區域的圓形,若所述變形區域為矩形區域,則該中間特征點的像素坐標將作為該矩形區域的中心點。若所述變形區域為橢圓區域,則該中間特征帶你為像素坐標作為該橢圓區域的中間點。
在圖3中,第一目標對象為人臉的鼻子,可見鼻子的特征點,可用于描述人臉圖像中鼻子的輪廓;在圖3中鼻子的特征點包括:位于鼻子邊緣的邊緣特征點,及位于鼻子中間位置的中間特征點。一般情況下邊緣特征點包圍中間特征點。在圖3所示的虛線圓圈可為以中間特征點形成的圓形變形區域。
在本實施例中所述變形區域的預設形狀是與所述第一目標對象相對應的。若當前所述第一目標對象為鼻子或眼睛等,所述變形區域的預設形狀為圓形;若所述第一目標對象為人臉或唇部,則所述變形區域的預設形狀為橢圓等。當然以上僅是舉例,具體實現時不局限于這些情況。
在本實施例中所述變形強度可為電子設備根據預設規則確定的,例如,對人臉中的某一個器官進行變形時,該預設規則可能是基于人類的審美設置的變形規則確定的。
這里的變形尺寸參數,實質上可為描述變形區域的參數,例如,圓形變形區域的半徑,矩形變形區域的邊長,矩形變形區域的頂點像素的像素坐標,橢圓變形區域的長軸和短軸的取值等。
在步驟s120中在確定出變形尺寸參數之后,基于中心點,顯然就能精確定出變形區域,從而獲得精確度高的所述變形區域。
可選地,所述步驟s123可包括:
根據所述第一目標對象的邊緣特征點及所述中心特征點,確定出第一變形半徑,其中,所述邊緣特征點,為多個所述特征點中位于邊緣位置的所述特征點;
根據所述第一變形半徑及第一調整參數,確定第二變形半徑;
所述步驟s124可包括:
基于所述第二變形半徑及所述中心點,確定所述變形區域。
在本實施例中所述第一調整參數,可為基于用戶指示輸入的。
如圖4所示,在確定出所述中心點和所述第一變形參數之后,在電子設備顯示的原始圖像上疊加顯示第一變形半徑對應的基準變形區域,并顯示調整空間,在圖4中顯示的是調整條,所述調整條包括調整導軌及位于導軌上的滑塊,用戶可以通過觸摸或鼠標操作,使得所述滑塊在所述導軌上移動,電子設備根據所述滑塊的移動參數,確定第一調整參數或第二參數。例如,基于滑塊的移動量及移動方向的至少其中之一,確定第一變形參數的縮放比例。具體如,所述移動量用于確定縮放增量,所述移動方向用于確定縮放增量的符號。當移動方向為第一方向時,第一調整參數a=1+b,當移動方向為第一方向時,a=1-b;所述第一方向和第二方向相反,所述滑塊的原始位置位于所述導軌的中間位置。所述b為縮放增量。當然以上僅是距離,具體實現時,所述第一調整參數還可以是基于用戶移動所述基準變形區域的邊緣的移動操作形成的,例如,用戶點擊基準變形區域的邊緣,并在屏幕上推動所述邊緣,當推動停止時,則可以基于推動量確定出所述第一調整參數,從而確定出所述第二變形半徑。
在圖4中調整條為第二調整控件,可用于調整變形強度。在圖4中還顯示有第一調整控件,用于調整變形區域的范圍。
在圖4的右圖中,滑塊位于導軌的最左邊,圖4的左圖中顯示的虛線圓表示的為基于第一變形半徑確定的變形區域,在圖4的右圖中滑塊移動到導軌的偏中間位置,可理解為變形強度增加了。在圖4的第一調整控件包括:多個子控件,當不同給的子控件被選中之后,對對應了不同的第一調整參數,在圖4中的左圖的第一調整控件的第四個子控件被選中,對應的變形區域為圖4的左圖中的虛線圓,在圖4的右圖中的第一調整控件得到第五個子控件被選中,得到的基于第二變形半徑確定的變形區域。顯然左圖中的變形區域的面積小于右圖中變形區域的面積。
在一些實施例中,所述方法還包括:
根據所述第一目標對象所在的第二目標對象的特征點,確定出第一變形強度;
根據所述第一變形強度及第二調整參數,確定第二變形強度;
所述步驟s140可包括:
基于所述變形約束點及所述第二變形強度,確定目標點。
在一些實施例中所述變形強度可為用于直接指定的,在本實施例中首先會根據預設規則由電子設備推薦一個變形強度,該變形強度可為第一強度,然后基于用戶自己的個性需求,在第一變形強度的基礎上調整得到第二變形強度。
這里的第二調整參數可為采用各種方式確定的調整參數。
例如,若當前方案用于進行鼻子縮小,則所述變形強度可用于確定鼻子縮小的比例,縮小后的鼻子的面積等。
故在本實施例中基于變形強度,確定變形約束源點對應的目標點的。
例如,所述第二目標對象為人臉;所述第一目標對象為鼻子。例如第二目標為人臉,則基于大眾審美,多大的人臉對應多大的鼻子是比較為美觀的,電子設備可以根據預設比例關系,給出一個推薦的變形強度,即所述第一變形強度。然后有些用戶可能有自己的需求,則指示需要多大的強度,則本實施例中基于第二調整參數調整第一變形強度,獲得第二變形強度。
在一些實施例中,可以基于人臉和鼻子之間的預設比例關系,確定出最佳變形強度及推薦范圍;通常所述最佳變形強度為所述推薦范圍的中間值;所述最佳變形強度即為所述第一變形強度的一種,然后所述第二調整參數,在所述推薦范圍內調整所述第二變形參數,以免用戶在不熟悉或操作不當的情況,導致鼻子的縮放過大或過小,反而形成了不符合人類審美的照片。
在進行照片趣味化時,也同樣適用于第一變形強度可為趣味化變形的推薦強度和推薦范圍,第二調整參數是是的推薦強度在推薦范圍內變化,從而確保變形后的圖像有足夠的變形量,從而形成有趣味的圖像。
在具體實現時,若所述第二目標對象為人臉,則所述第二目標對象可為人臉內任意一個器官,即所述第一目標對象不限于鼻子、還可以是眼鏡、唇部或額頭等臉部的器官或局部。
可選地,所述方法還包括:
獲取所述變形區域的外接矩形;
按照所述外接矩形截取所述原始圖像,截取圖像;
基于所述變形區域轉換所述截取圖像,獲得掩膜圖,其中,所述掩膜圖位于變形區域內的像素點的像素值為第一取值,所述變形區域外的像素點的像素值為第二取值;
所述步驟s150可,包括:
基于所述掩膜圖,所述截取圖像的原始像素參數及所述目標點,獲得所述變形區域圖像。
如圖10所示,對原始圖像(imga)進行摳圖處理,截取出imga的變形區域所在的圖像,形成所述截取圖像(imgi)。
為了保持原始圖像中變形區域以外的部分維持不變,在本實施例中通過截取圖像的獲取,僅對截取圖像進行后續處理,形成替換原始圖像中變形區域的變形區域圖像。
如圖10所示,在本實施例中所述掩膜圖(imgm)可為二值化的圖像。所述掩膜圖中的像素的灰度值僅包括:第一取值和第二取值。在本實施例中所述掩膜圖的變形區域內的像素的灰度值可為255,變形區域外的像素的灰度值可為0。這樣電子設備得到掩膜圖之后,就可以知道需要對截取圖像的哪些像素進行像素參數的轉換了。
當然所述第一取值和所述第二取值不同即可,不局限于255和0,具體還可為0和1等。
可選地,所述方法還包括:對所述掩膜圖進行模糊處理,獲得所述截取圖像的漸變圖;
所述步驟s160可包括:基于所述漸變圖,獲取融合權重參數;
基于所述融合參數,融合所述原始圖像和所述變形區域圖像。
在本實施例中還獲得一個漸變圖;該漸變圖是基于掩膜圖來的。例如,將掩膜圖的變形區域內像素的灰度值均設置為255,變形區域外的像素的灰度值均設置為0,這樣掩膜圖中變形區域邊緣處的像素灰度值變化距離,在本實施例中通過模糊處理,使得變形區域邊緣處的像素的灰度值漸變化。使得邊緣位置處的像素的灰度值從變形區域外的0向255逐步漸進等。
在本實施例中根據漸變圖中每一個像素的灰度值確定一個權重參數。例如,當前漸變圖中像素坐標為(a,b)像素的灰度值為c,則該c用于變形區域圖像與原始圖像融合時,像素坐標為(a,b)像素與原始圖像中對應像素的融合的權值參數。該權值參數可包括:第一權值參數和第二權值參數,第一權值參數為原始圖像中對應像素的原始像素參數在融合參數中影響度值;第二權值參數可為變形區域圖像對應像素的像素參數在融合參數中的影響度值。融合后的圖像的對應像素的像素參數為原始圖像的像素參數值與第一權值參數的乘積,加上變形圖像區域中對應像素的像素參數與第二權值參數的乘積。當然,這里僅是舉例,但是不限于該舉例。
可選地,所述基于所述掩膜圖,所述截取圖像的原始像素參數及所述目標點,獲得所述變形區域圖像,包括:
基于所述掩膜圖,確定所述截取圖像待處理像素;
基于所述待處理像素的原始像素參數及所述目標點,獲取所述變形區域圖像。
在本實施例中掩膜圖,不僅用于前述的權值參數的確定,同時還用于進行像素參數轉換的像素點的圈定,顯然一副掩膜圖實現了兩種功能,實現了數據的復用,簡化了設備的處理流程。
圖5所示為人臉圖像瘦鼻之前的示意圖,在圖5中鼻子所在位置的虛線表示瘦鼻之后的鼻子的輪廓,而鼻子所在位置的實線表示瘦鼻之前的鼻子的輪廓。
圖6所示為人臉圖像瘦鼻之后的示意圖。
如圖7所示,本實施例提供一種圖像處理裝置,包括:
第一獲取單元110,用于獲取原始圖像;
第一確定單元120,用于基于原始圖像中待變形的第一目標對象的特征點,確定變形區域,其中,所述特征點,用于體現所述第一目標對象的輪廓和/或紋理特征;
選擇單元130,用于從所述變形區域選擇多個像素點作為定變形約束源點;
第二確定單元140,用于基于變形約束源點及變形強度,確定目標點,其中,所述目標點為所述第一目標對象變形后形成的變形圖像的像素點,所述目標點的像素參數等于所述變形約束原點的像素參數;
形成單元150,用于基于所述變形區域內各像素的原始像素參數、所述目標點,確定所述變形區域內每一個像素變形后的像素參數,從而獲得變形區域圖像;
融合單元160,用于將所述變形區域圖像融合到所述原始圖像的所述變形區域內,獲得變形后的圖像。
本實施例提供的圖像處理裝置,可應用于各種圖像處理設備中,所述第一獲取單元110可包括:通信接口,可用于從外設接收所述原始圖像。所述第一獲取單元110也可包括:攝像頭,可用于自動采集所述原始圖像。
所述第一確定單元120、選擇單元130、第二確定單元140、形成單元150及融合單元160都可以對應于處理器或處理電路。所述處理器可為中央處理器、微處理器、數字信號處理器、應用處理器或可編程陣列。所述處理電路可包括:專用集成電路。
所述處理器或處理電路通過計算機程序等可執行代碼的執行,實現上述功能。
可選地,所述第一確定單元120,用于獲取所述第一目標對象的多個所述特征點;根據多個所述特征點在所述原始圖像中的坐標參數,選擇出所述第一目標對象的中間特征點,作為所述變形區域的中心點,其中,所述中間特征點,為多個所述特征點中位于最中間位置的所述特征點;獲取變形尺寸參數;基于所述變形尺寸參數及所述中心點,確定所述變形區域。
在本實施例中首先獲取第一目標對象的多個特征點,這里的特征點位于邊緣位置的邊緣特征點和位于第一目標對象中間區域的中間特征點。在本實施例總基于特征點的分布,確定出所述變形區域。在本實施例中利用中間特征點作為變形區域的中心點,然后基于邊緣特征點形成變形尺寸參數,從而形成至少包圍全部所述特征點的變形區域。
可選地,所述第一確定單元120,用于根據所述第一目標對象的邊緣特征點及所述中心特征點,確定出第一變形半徑,其中,所述邊緣特征點,為多個所述特征點中位于邊緣位置的所述特征點;根據所述第一變形半徑及第一調整參數,確定第二變形半徑;基于所述第二變形半徑及所述中心點,確定所述變形區域。
在本實施例中所述第一調整參數,可為基于用戶輸入確定的,這樣方便用戶自行控制所述第一目標對象對應的變形區域,從而滿足用戶的個性需求。
可選地,所述裝置還包括:
第三確定單元,用于根據所述第一目標對象所在的第二目標對象的特征點,確定出第一變形強度;根據所述第一變形強度及第二調整參數,確定第二變形強度;
所述第二確定單元140,具體用于基于所述變形約束點及所述第二變形強度,確定目標點。
在本實施例中所述第三確定單元,可同樣對應于處理器或處理電路,這里的處理器或處理電路,同樣可以通過代碼的執行,實現所述第二變形強度的獲取。
第二確定單元140,具體是基于第二變形強度確定出目標點。
可選地,所述第二目標對象為人臉;所述第二目標對象為鼻子。
在一些實施例中,所述裝置還包括:
第二獲取單元,用于獲取所述變形區域的外接矩形;
截取單元,用于按照所述外接矩形截取所述原始圖像,截取圖像;
轉換單元,用于基于所述變形區域轉換所述截取圖像,獲得掩膜圖,其中,所述掩膜圖位于變形區域內的像素點的像素值為第一取值,所述變形區域外的像素點的像素值為第二取值;
所述形成單元150,用于基于所述掩膜圖,所述截取圖像的原始像素參數及所述目標點,獲得所述變形區域圖像。
在本實施例中第二獲取單元、截取單元及轉換單元,都可對應于處理器或處理電路,可通過對應代碼的執行簡便實現上述功能。
所述形成單元150基于掩膜圖,形成確定出變形區域,在對應變形區域內的像素重新逐像素的確定像素參數,從而獲得變形后的變形區域圖像。
可選地,所述裝置還包括:
模糊處理單元,用于對所述掩膜圖進行模糊處理,獲得所述截取圖像的漸變圖;
所述融合單元160,用于基于所述漸變圖,獲取融合權重參數;基于所述融合參數,融合所述原始圖像和所述變形區域圖像。
所述模糊處理單元同樣可對應于處理器或處理電路,所述處理器或處理電路,通過代碼執行實現新的變形后的圖像的生成。
進一步地,所述形成單元150,具體用于基于所述掩膜圖,確定所述截取圖像待處理像素;基于所述待處理像素的原始像素參數及所述目標點,獲取所述變形區域圖像。
如圖8所示,本實施例還提供一種電子設備,其特征在于,包括:
存儲器210,用于存儲計算機程序;
處理器220,與所述存儲器210連接,用于通過執行所述計算機程序,實現前述任意一個實施例提供的圖像處理方法。
存儲器210可包括:各種類型的存儲介質,該存儲介質可為非瞬間存儲介質,如只讀存儲介質等,當然所述存儲器還可包括:閃存等。
所述處理器220可包括:中央處理器、微處理器、數字信號處理器、應用處理器或可編程陣列等。
處理器220和存儲器210之間通過總線230連接,該總線230可為集成電路(iic)總線,還可以是外設互連標準(pci)總線。該總線可用于存儲器和處理器之間的信息交互。
在一些實施例中,所述電子設備還包括:顯示器240,該顯示器240用于顯示圖像信息和/或文本信息,方便顯示原始圖像、截取圖像、變形區域圖像及融合后的變形圖像等。
在一些實施例中如圖所示,所述電子設備還包括:通信接口250,該通信接口250可用于與其他電子設備進行信息交互。
本實施例提供一種計算機存儲介質,所述計算機存儲介質存儲有計算機程序,所述計算機程序被處理器執行后,能夠現前述任意一個實施例提供的圖像處理方法。
以下結合上述任意實施例提供一個具體的方案:
本示例提供一種圖像處理方法,包括:輸入人臉圖像imga;輸出結果圖像imgr。
第一步:從imaga中進行人臉特征定位,獲得人臉特征點,這里的人臉特征點fi,用于表征imaga中人臉的輪廓信息和/或人臉中各個器官的位置信息等。例如,所述fi包括m個,所述m可能等于80,其中,第56個,即i=56為鼻子的特征點,即fi(i=56,…,64)。本示例中使用了人臉識別算法得到的鼻子部位相關定位點共9個點,以分別是i5=56-64。
第二步:獲取變形半徑參數為r及變形強度參數為m。
第三步:確定變形區域,可包括:根據輸入圖像定位點信息fi(i=64),變形半徑r,計算得到瘦鼻對應矩形區域rect(x,y,w,h),對應區域圖像imgi。其中,坐標(x,y)表示的矩形區域的一個頂點位置,w表示的矩形寬度,h表示的是矩形的高度。在本示例中坐標(x,y)可為矩形區域的左頂點的坐標。
矩形區域對應于imaa中的像素區域計算方式如下:
r0=r*ratio(1),ratio(1)為測試經驗值常數,例如1.3,ratio(1)為第一調整參數,可為經驗值,也可以是基于用戶輸入確定的值;
x=fi.x-r0;y=fi.y-r0;w=2.0*r0;h=2.0*r0;所述fi.x為第i個鼻子特征點的橫坐標;fi.y為第i個鼻子特征點的縱坐標。
第四步:對變形區域進行變形,可包括:
基于fi位置信息處理得到瘦鼻變形區域掩膜(mask)圖imgm,處理方法如下:
創建圖像imgm,單通道,長寬同rect(w,h),設置所有像素值的像素參數設置為0。以fi(i=64)為圓心,半徑為r0,在imgm上繪制圓形,設置圓形區域內像素的像素參數為255。這里的像素參數至少包括:表征灰度值。
上述r0=r*c0,c0為固定參數值,根據測試經驗值取出,例如0.9;
處理結果為變形區域mask圖:imgm,單通道,任意位置(x,y)對應像素值g,定義g>0:變形區域;g=0:非變形區域。
根據變形半徑參數r及特征點fi(i=64)計算得到變形約束源點sj(j=0,1,2,…7),目標點dj(j=0,1,2,…7),以dj(dx,dy),fi(i=64)(fx,fy),si(sx,sy)為例。dx表示的目標點的橫坐標;dy表示的目標點的縱坐標;fx表示的特征點的橫坐標,fy為特征點縱坐標。
以下以計算第j個像素點的轉換為例,提供計算方式:
sx=fx+r1*cos(ai),sy=fy+r1*sin(aj);
dx=fx+r2*cos(ai),dy=fy+r2*sin(aj);
r1計算公式:r1=r*c1,c1為固定參數值根據測試經驗值得出,例如0.8;
r2計算公式:r2=r*(1.0-m*ratio(2)),ratio(2)為經驗值常數,例如0.6,m為輸入的變形強度參數。
aj等角度選取變形約束原點的角度值,具體可為0度,45度,90度,…315度,以45度遞增對應取出8個角度值。
根據輸入圖像(imgi),sj,fi(i=64),dj,imgm,基于變形算法計算得到變形結果圖imgr0。
第五步:進行變形圖像和原始圖像的融合,包括:
對imgm做模糊處理,結果表示為漸變圖(imgalpha),以imgalpha圖像為權重參數,融合imgr0到輸入圖imga,得到結果圖imgr,計算結果過程如下:
定義輸入圖像位置(x,y)對應像素取值imgalpha(g),imga(r,g,b),imgr(r,g,b),imgr0(r,g,b),計算公式如下:
r(r,g,b)=a(r,g,b)*(255-g)+r0(r,g,b)*(g);
r表示的為像素對應的紅色的色彩值,取值范圍可為0到255;g表示的為像素對應的綠色的色彩值,取值范圍可為0到255;b表示的為為像素對應的藍色的色彩值,取值范圍可為0到255;g表示的像素的灰度值,取值范圍同樣可為0到255。
如圖9所示,本示例提供的圖像處理方法包括:
步驟s1:輸入圖imga,鼻子特征點fi(i=64),變形半徑r及變形強度mag;
步驟s2:以fi(i=64)為圓心,r*ratio(1)為半徑,間隔45度夾角,一次取8個點作為變形約束源點sj(j=0,……,7);
步驟s3:基于變形約束原點,變形強度mag,計算出變形的目標點dj(j=0,……,7);
步驟s4:計算出變形矩形區域rect(x,y,w,h),從imaga復制rect(x,y,w,h)圖像作為imgi,作為變形輸入;
步驟s5:基于rect(x,y,w,h)及imgi,計算出瘦鼻變形mask圖:imgm;
步驟s6:基于imgm,計算出單通道灰度圖imgalpha,用于合并變形輸出結果;
步驟s7:輸入sj,dj,imgi,imgm,應用變形算法得到輸出圖imgr0;
步驟s8:基于imgalpha,融合imgr0與imga,輸出結果圖imagr;
步驟s9:輸出結果圖imgr。
圖10所示為在圖像處理過程中,圖像之間的演變關系圖;首先,從原始圖像imga中截取獲得imgi,對imgi進行處理,得到掩膜圖imgm;對掩膜圖imgm進行處理得到漸變圖imgalpha;基于imgi和imgm得到縮鼻后的imgr0;將imga、imgalpha及imgr0進行融合,得到imgr。
在本申請所提供的幾個實施例中,應該理解到,所揭露的設備和方法,可以通過其它的方式實現。以上所描述的設備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,如:多個單元或組件可以結合,或可以集成到另一個系統,或一些特征可以忽略,或不執行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過一些接口,設備或單元的間接耦合或通信連接,可以是電性的、機械的或其它形式的。
上述作為分離部件說明的單元可以是、或也可以不是物理上分開的,作為單元顯示的部件可以是、或也可以不是物理單元,即可以位于一個地方,也可以分布到多個網絡單元上;可以根據實際的需要選擇其中的部分或全部單元來實現本實施例方案的目的。
另外,在本發明各實施例中的各功能單元可以全部集成在一個處理模塊中,也可以是各單元分別單獨作為一個單元,也可以兩個或兩個以上單元集成在一個單元中;上述集成的單元既可以采用硬件的形式實現,也可以采用硬件加軟件功能單元的形式實現。
本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:移動存儲設備、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述,僅為本發明的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以所述權利要求的保護范圍為準。