最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

OpenCV-Python實(shí)現(xiàn)人臉磨皮算法

 更新時(shí)間:2021年06月07日 15:36:38   作者:一天一篇Python庫(kù)  
人臉磨皮是最基礎(chǔ)的人臉美顏效果。本文介紹了OpenCV-Python實(shí)現(xiàn)人臉磨皮算法,主要包括圖像濾波,圖像融合和圖像銳化,感興趣的可以了解一下

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

因?yàn)槟テぶ?,臉部的雜質(zhì)基本上就沒有了,也可以說丟失了細(xì)節(jié)。那么肯定需要用到濾波函數(shù)。濾波的過程就是把圖像的每一個(gè)像素值輸入過濾器,得到平滑的圖像。

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

首先,均值濾波會(huì)因?yàn)槭怯弥車袼氐钠骄荡嬖袼刂?,肯定?huì)導(dǎo)致圖像過于模糊,所以排除掉。其次,高斯濾波與均值濾波原理類似,只是高斯濾波器的模板系數(shù)會(huì)隨著距離模板中心的增大而減小,雖然可以減弱圖像的模糊程度,但是圖像邊緣信息會(huì)丟失。

那么,只剩一個(gè)濾波了,也就是雙邊濾波器。因?yàn)樗瑫r(shí)綜合了高通濾波器和a-截尾均值過濾器的疊加效果,即可以保證圖像不是非常模糊,也可以保留圖像邊緣信息。

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

  • 圖像濾波
  • 圖像融合
  • 圖像銳化

因?yàn)?,不管上?種濾波如何,都會(huì)導(dǎo)致一定的模糊(只是相對(duì)來說誰更優(yōu)而已),所以需要對(duì)圖像進(jìn)行融合與銳化的操作。這樣,可以保留一些圖像的細(xì)節(jié),以增強(qiáng)圖像的真實(shí)感。

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

最后,圖像銳化使用的PIL庫(kù)進(jìn)行操作,使用它的ImageEnhance.Sharpness()函數(shù)自動(dòng)調(diào)節(jié)圖像的銳度與對(duì)比度。

實(shí)現(xiàn)人臉磨皮效果

既然我們已經(jīng)完全掌握了人臉磨皮的原理。下面,我們來直接實(shí)現(xiàn)人臉的磨皮效果,具體的代碼如下所示:

# 人臉磨皮
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")
    # 銳度調(diào)節(jié)
    enh_img = ImageEnhance.Sharpness(image)
    image_sharped = enh_img.enhance(1.5)
    # 對(duì)比度調(diào)節(jié)
    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")

運(yùn)行之后,效果如下:

磨皮效果

這段代碼的參數(shù)都是可以調(diào)整的,并不是一層不變的,感興趣的讀者可以自己調(diào)節(jié)參數(shù)試試效果,當(dāng)然人臉磨皮只是看起來皮膚光滑了。下面結(jié)合美白的效果,就可以實(shí)現(xiàn)相機(jī)的那種美顏。

到此這篇關(guān)于OpenCV-Python實(shí)現(xiàn)人臉磨皮算法的文章就介紹到這了,更多相關(guān)OpenCV 人臉磨皮內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python從入門到實(shí)踐之字典

    python從入門到實(shí)踐之字典

    這篇文章主要為大家介紹了python字典,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • DjangoRestFramework 使用 simpleJWT 登陸認(rèn)證完整記錄

    DjangoRestFramework 使用 simpleJWT 登陸認(rèn)證完整記錄

    Djangorestframework-simplejwt是Django REST Framework框架的一個(gè)jwt插件,使用 python http 工具進(jìn)行接口測(cè)試的方法文中給大家提到,重點(diǎn)給大家分享djangorestframework-simplejwt 使用記錄及登陸認(rèn)證的完成過程,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • Pytorch+PyG實(shí)現(xiàn)GIN過程示例詳解

    Pytorch+PyG實(shí)現(xiàn)GIN過程示例詳解

    這篇文章主要為大家介紹了Pytorch+PyG實(shí)現(xiàn)GIN過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Django rest framework jwt的使用方法詳解

    Django rest framework jwt的使用方法詳解

    這篇文章主要介紹了Django rest framework jwt的使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 六個(gè)Python編程最受用的內(nèi)置函數(shù)使用詳解

    六個(gè)Python編程最受用的內(nèi)置函數(shù)使用詳解

    在日常的python編程中使用這幾個(gè)函數(shù)來簡(jiǎn)化我們的編程工作,經(jīng)常使用能使編程效率大大地提高。本文為大家總結(jié)了六個(gè)Python編程最受用的內(nèi)置函數(shù),感興趣的可以了解一下
    2022-07-07
  • Python開根號(hào)的幾種方式詳解

    Python開根號(hào)的幾種方式詳解

    使用Python中的自帶庫(kù)math、自帶函數(shù)pow和自帶庫(kù)cmath來對(duì)數(shù)字進(jìn)行開根號(hào)運(yùn)算,這篇文章主要介紹了Python開根號(hào)的幾種方式,需要的朋友可以參考下
    2023-01-01
  • Python數(shù)學(xué)符號(hào)計(jì)算庫(kù)SymPy使用方法詳解

    Python數(shù)學(xué)符號(hào)計(jì)算庫(kù)SymPy使用方法詳解

    SymPy?是一個(gè)?Python?的數(shù)學(xué)符號(hào)計(jì)算庫(kù),提供了強(qiáng)大的工具來進(jìn)行符號(hào)數(shù)學(xué)運(yùn)算、代數(shù)操作、求解方程、微積分、矩陣運(yùn)算等,它廣泛應(yīng)用于數(shù)學(xué)教學(xué)、物理學(xué)、工程學(xué)、統(tǒng)計(jì)學(xué)和概率論等領(lǐng)域,本文將結(jié)合具體案例,詳細(xì)介紹?SymPy?的使用方法,需要的朋友可以參考下
    2024-08-08
  • Python學(xué)習(xí)筆記之變量與轉(zhuǎn)義符

    Python學(xué)習(xí)筆記之變量與轉(zhuǎn)義符

    這篇文章主要介紹了Python學(xué)習(xí)筆記之變量與轉(zhuǎn)義符,本文從零開始學(xué)習(xí)Python,知識(shí)點(diǎn)很細(xì),有共同目標(biāo)的小伙伴可以一起來學(xué)習(xí)
    2023-03-03
  • Python3中l(wèi)ambda表達(dá)式與函數(shù)式編程講解

    Python3中l(wèi)ambda表達(dá)式與函數(shù)式編程講解

    今天小編就為大家分享一篇關(guān)于Python3中l(wèi)ambda表達(dá)式與函數(shù)式編程講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • python flask中靜態(tài)文件的管理方法

    python flask中靜態(tài)文件的管理方法

    下面小編就為大家分享一篇python flask中靜態(tài)文件的管理方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評(píng)論

乡城县| 荣成市| 雅江县| 大英县| 刚察县| 离岛区| 巫溪县| 峨眉山市| 肃南| 措勤县| 东海县| 和田市| 长汀县| 丰都县| 晋中市| 炉霍县| 曲阳县| 吉林市| 津市市| 遵义市| 佛冈县| 丰城市| 象山县| 奉节县| 灵山县| 湛江市| 衡南县| 鹤山市| 于都县| 西峡县| 建瓯市| 禹城市| 滨海县| 临西县| 靖边县| 旬阳县| 庆安县| 东乌| 林芝县| 会宁县| 日土县|