重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
在前一篇文章 Android OpenGLES 實時美顏(磨皮)的優化 ,我們已經介紹了關于實時美顏(磨皮)的一些優化點。但在實際的優化測試中發現,當處理器發熱之后,就無法保證預覽幀率了,主要還是高斯模糊處理的數據量比較大導致。因此,我們需要尋找新的磨皮方法。
專注于為中小企業提供成都網站制作、網站設計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業振安免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了超過千家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
目前市面上關于磨皮方法有好多種,使用PS磨皮經常用到的方法包括高反差保留、高低頻、中性灰以及雙線性等。其中中性灰和雙線性的效率一般,因此,我們從高反差保留、高低頻這兩種方法中選擇。這里選擇使用高反差保留法做磨皮處理,PS中的高反差保留法進行磨皮,隨手一搜便能找到很多文章,比如:
接下來,我們嘗試著實現文章中講到的過程。
關于高斯模糊的優化,可以參考本人的文章:
OpenGLES濾鏡開發匯總 —— 高斯模糊實現以及優化
對于人像進行高斯模糊,我們設計一個11x11的高斯算子對圖像進行高斯模糊,shader如下:
vertex shader :
fragment shader:
經過以上的shader進行高斯模糊處理之后,我們得到這樣一張高斯模糊圖像:
在PS的高反差保留磨皮方法中,高反差保留磨皮混合采用的是強光模式,計算公式為:color = 2 * color1 * color2。因此,我們設計出這樣一個高通濾波器,其shader如下:
fragment shader:
經過高通濾波器之后,我們得到這樣一個紋理圖像:
可以看到,經過三通道強光混合處理后,痘印、邊沿等地方都清晰起來了。強光的程度,一般是3的倍數,這里取24倍。
到這一步,其實我們已經得到了需要過濾顏色值,但在這一張圖中,也把邊沿的顏色差值包含進來了。我們接下來需要過濾掉邊沿的顏色差值。這樣在后續的處理中,我們可以保留邊沿的細節不被模糊掉。因此接下來,我們需要將經過高通濾波得到的紋理,再做一次高斯模糊。不過這一次不能11 x11 這么大的高斯算子,我們選擇一個 5 x 5 大小的高斯算子。高斯模糊的shader 如下:
vertex shader:
fragment shader:
將高通濾波器得到的紋理,經過高斯模糊處理后,得到這樣一張紋理:
對比高通濾波器處理后的紋理,邊沿細節變得模糊了,而且,需要過濾的顏色差值仍舊保留著。到這一步,我們就得到了做磨皮處理的前置紋理。接下來就是高反差保留磨皮的最后也是最重要的一步。
經過前面的處理,我們得到一張輸入圖片的高斯模糊紋理,以及一張高反差保留的高斯模糊紋理。我們使用這兩張紋理,通過比較藍色通道,計算出需要磨皮的實際強度值,與原圖進行混合處理,然后輸出最終的紋理。shader如下所示:
經過上面的處理之后,我們就得到磨皮處理的結果如下:
可以看到,經過高反差保留磨皮后的結果,磨皮效果還不錯,而且720P磨皮處理時,在高通驍龍625處理器上,經過高反差保留磨皮之后,預覽幀率能夠保持在30FPS左右。我們可以看到,邊沿細節還是不夠明顯,所以,我們可以使用USM銳化增強邊沿細節部分。這篇文章就不講解USM銳化的實現了。
詳細實現過程,可以參考本人的開源相機項目:
CainCamera
CainCamera的FilterLibrary中有經過優化后的實時美顏(磨皮)實現。
現在手機不僅可以打電話、發短信,還可以語音通話、視頻通話,你有沒有發現跟別人視頻通話的時候,視頻中的別人都美美噠,那是因為人家開啟了視頻通話的美顏功能,接下來以努比亞手機為例,給大家分享一下如何開啟手機的視頻通話美顏功能。
工具/原料
手機
方法/步驟
1/7 分步閱讀
打開手機,解鎖手機,進入手機桌面后,在手機桌面應用中點擊設置,進入手機的設置頁面。
2/7
進入手機設置頁面后,在系統和應用板塊中點擊應用設置,進入手機的應用設置頁面。
3/7
進入手機的應用設置頁面后,點擊相機一欄,進入手機相機應用的相機設置頁面。
4/7
進入相機設置頁面后,找到視頻通話美顏,點擊視頻通話美顏一欄后方的灰色開關按鈕。
5/7
待視頻通話美顏后方的灰色開關按鈕變為綠色,視頻通話美顏就開啟了,這樣跟別人視頻通話時,視頻中的我們也會變得美美噠。
6/7
我們還可以在手機桌面的相機中設置該功能,打開手機相機,點擊相機頁面右上角的設置。
7/7
在相機設置頁面點擊更多設置,進入相機更多功能設置頁面,點擊視頻通話美顏后方的開關按鈕即可。
不久前一個朋友給我推薦過一款 Android 的短視頻美顏SDK,體驗下來效果很不錯,是云豹網絡科技開發的。
[img]1、華為nova4手機
HUAWEI nova4系列在麒麟970芯片的獨立NPU的支持下,升級到第四代“AI微塑美顏”的全新算法。還將美顏算法延展到視頻領域,它將支持微信視頻美顏,可依據用戶喜好程度調節美顏級別。
2、Flyme 7
Flyme 7能夠智能識別性別、年齡、膚質、膚色和面部特征,3D精準定位五官特征,還針對視頻通話場景,如微信視頻通話,進行了美顏優化,讓用戶在視頻通話過程中也可以實時美顏。
3、iQOO
iqoo不僅在拍照的時候支持HDR、萌拍和AI智能場景拍照功能,還可以在微信視頻通話的時候使用美顏功能。
4、榮耀20S
榮耀20S在智能手機前、后置鏡頭均支持視頻美顏功能,另外還支持超廣角功能,滿足不同手機用戶的視頻拍攝需求。
5、SUGAR F11
糖果F11把美顏拍照作為主打功能,1300w+800w的后置雙攝,可輸出5000萬像素的高清圖片,除了美顏拍照,SUGAR F11支持視頻通話美顏以及人像唯美虛化等功能。
final void setErrorCallback(Camera.ErrorCallback cb):Camera發送錯誤的時候回調,可以在其中進行錯誤的后續處理。
final void setPreviedCallback(Camera.PreviewCallback cb):Camera預覽界面發生變化的時候回調,可以在其中獲取到Camera捕獲到的幀圖像。
FEATURE_CAMERA:設備是否有攝像頭。
FEATURE_CAMERA_ANY:設備至少有一個攝像頭。
FEATURE_CAMERA_AUTOFOCUS:設備支持的攝像頭是否支持自動對焦
FEATURE_CAMERA_FLASH:設備是否配備閃光燈。
FEATURE_CAMERA_FRONT:設備是否有一個前置攝像頭。