中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenCV-Python如何實現人臉磨皮算法

發布時間:2021-06-08 09:28:32 來源:億速云 閱讀:346 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關OpenCV-Python如何實現人臉磨皮算法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

人臉磨皮是最基礎的人臉美顏效果。主要分為祛斑,祛痘,淡化黑眼圈等步驟。通過前面的學習相信大家一眼都看得出來我們需要干什么才能識別人臉磨皮效果。

因為磨皮之后,臉部的雜質基本上就沒有了,也可以說丟失了細節。那么肯定需要用到濾波函數。濾波的過程就是把圖像的每一個像素值輸入過濾器,得到平滑的圖像。

而我們常用的濾波有均值濾波,高斯濾波以及雙邊濾波三種,到底選用那種濾波呢?

首先,均值濾波會因為是用周圍像素的平均值代替原像素值,肯定會導致圖像過于模糊,所以排除掉。其次,高斯濾波與均值濾波原理類似,只是高斯濾波器的模板系數會隨著距離模板中心的增大而減小,雖然可以減弱圖像的模糊程度,但是圖像邊緣信息會丟失。

那么,只剩一個濾波了,也就是雙邊濾波器。因為它同時綜合了高通濾波器和a-截尾均值過濾器的疊加效果,即可以保證圖像不是非常模糊,也可以保留圖像邊緣信息。

而人臉磨皮原理的步驟分為如下3個步驟:

  • 圖像濾波

  • 圖像融合

  • 圖像銳化

因為,不管上面3種濾波如何,都會導致一定的模糊(只是相對來說誰更優而已),所以需要對圖像進行融合與銳化的操作。這樣,可以保留一些圖像的細節,以增強圖像的真實感。

其中,圖像融合使用的函數就是cv2.addWeighted()圖像加權函數。融合的是原圖與雙通濾波后的圖像。

最后,圖像銳化使用的PIL庫進行操作,使用它的ImageEnhance.Sharpness()函數自動調節圖像的銳度與對比度。

實現人臉磨皮效果

既然我們已經完全掌握了人臉磨皮的原理。下面,我們來直接實現人臉的磨皮效果,具體的代碼如下所示:

# 人臉磨皮
def facial_dermabrasion_effect(fileName):
    img = cv2.imread(fileName)
    blur_img = cv2.bilateralFilter(img, 31, 75, 75)
    #圖像融合
    result_img = cv2.addWeighted(img, 0.3, blur_img, 0.7, 0)
    cv2.imwrite("58_1.jpg", result_img)

    image = Image.open("58_1.jpg")
    # 銳度調節
    enh_img = ImageEnhance.Sharpness(image)
    image_sharped = enh_img.enhance(1.5)
    # 對比度調節
    con_img = ImageEnhance.Contrast(image_sharped)
    image_con = con_img.enhance(1.15)
    image_con.save("58_2.jpg")

    img1 = cv2.imread("58.jpg")
    img2 = cv2.imread("58_2.jpg")
    cv2.imshow("1", img1)
    cv2.imshow("2", img2)
    cv2.waitKey()
    cv2.destroyAllWindows()


if __name__ == "__main__":
    facial_dermabrasion_effect("58.jpg")

運行之后,效果如下:

OpenCV-Python如何實現人臉磨皮算法

這段代碼的參數都是可以調整的,并不是一層不變的,感興趣的讀者可以自己調節參數試試效果,當然人臉磨皮只是看起來皮膚光滑了。下面結合美白的效果,就可以實現相機的那種美顏。

關于“OpenCV-Python如何實現人臉磨皮算法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

类乌齐县| 观塘区| 灌南县| 宜都市| 孝感市| 辽阳县| 丰台区| 卫辉市| 定边县| 云梦县| 康定县| 石嘴山市| 上蔡县| 稻城县| 天镇县| 嘉祥县| 望城县| 镇远县| 巴楚县| 尼勒克县| 顺平县| 岱山县| 天津市| 固安县| 九龙城区| 晋中市| 城固县| 柳州市| 博兴县| 石景山区| 舟曲县| 衡南县| 锡林郭勒盟| 宣化县| 溆浦县| 凤城市| 平顶山市| 阿克| 依安县| 竹溪县| 大邑县|