天天看點

直播美顔SDK祛痘功能是怎麼實作的?

近期,很多同學跟小編提問起“祛痘”相關的知識,今天小編為大家講解一下。在正常情況下,直播美顔SDK中會采用兩種祛痘方式,一種是高度磨皮的形式,去掉痘痘跟周圍不同的像素點,再做一個局部平均的操作;第二種方式是圖像修複,從效果來看第二種圖像修複技術做祛痘的效果會好一點,下文小編将為大家深入講解一下這種祛痘算法。

直播美顔SDK祛痘功能是怎麼實作的?

一、圖像修複算法簡介

圖像修複算是圖像複原中一個非常重要的關鍵點,廣泛應用于被破壞的邊緣區域,也就是邊緣顔色複制、混合到損壞圖像中進行修複的一個過程,常用的OpenCV中內建了小尺度修複的技術,多數用于待修補區域的邊緣資訊,還會用比較精細的方式估計等照度線的方向,以實作較好的修複效果。

二、圖像修複的實作原理

圖像的修複可以了解為對像素點的調整,那麼修複一個像素點需要做到哪些方面呢?首先要區分待修複區域、正常區域,需要修複待修複目标的像素就要提前近似于暗處一個新的像素值來代替舊的像素值。具體修複算法小編在這裡就不過多講述了,因為篇幅較長,講起來比較麻煩,如果您感興趣的話後期我可以單獨出一篇文章講一下這個算法。

直播美顔SDK祛痘功能是怎麼實作的?

三、如何通過圖像修複算法實作祛痘

根據上述算法的原理,提前選擇要修複的區域,然後對指定區域進行修複,這裡常用的算法為Python,它調用了模拟美顔相機中手動祛痘的操作,以此擷取標明的坐标,可以是圓形、也可以是三角形,對目标内的圖像修複即可。總體來講,兩種祛痘方式都有自己的優點,當然也有不足之處,二者修複後的圖像對比來看差別不大,肉眼幾乎不可見。

四、祛痘算法可以應用到哪些場景?