Python Opencv實(shí)現(xiàn)最強(qiáng)美顏濾鏡效果
前言
繼老干媽、辣條之后,中國美顏軟件在海外一夜成名,把所有人都幻化成了粉紅小甜心。
人類學(xué)者克里斯特爾·阿比丁博士認(rèn)為,這是一種亞洲風(fēng)情的文化擴(kuò)散。
哈嘍!哈嘍,我是木子!
“亞洲四大邪術(shù)”之一的中國美顏術(shù)絕非浪得虛名——

根據(jù)小編的第八定律,99% 的人拍了照在發(fā)朋友圈之前,都會(huì)給自己P一P。
并且都信奉著一個(gè)真理:美顏過后的自己,才是真正的自己。?
最初,大家修改的范圍也僅僅是磨個(gè)皮,讓自己白兩度。
但這終究無法滿足,他們?nèi)諠u增長的對(duì)美的渴望。?
于是,瘦臉+大眼又成了必備步驟。于是越來越多的項(xiàng)目都成為了大家的必備........
還有少數(shù)天選之人,將各類技術(shù)融會(huì)貫通,修容之技出神入化。我們通常稱他們?yōu)?mdash;—百萬P圖大神。這些人的作品膜拜就好,至于怎么 P 的,咱也不知道,咱也不敢問。
今天小編就來寫一版Python代碼美顏給大家!

環(huán)境安裝
本文是由Opencv寫的小程序。
涉及運(yùn)行環(huán)境:Python3.7、Pycharm社區(qū)版、opencv模塊。
pip install +模塊名 或pip install -i https://pypi.douban.com/simple/ opencv-python
效果展示
第一組隨機(jī)
原圖——

效果圖——

看起來,有點(diǎn)……
其實(shí),兩位小姐姐美顏后還是可以的……
(廣大朋友們以后找對(duì)象就不要看照片了吧網(wǎng)戀也需要謹(jǐn)慎啊)
設(shè)置的美顏程度是40,搞成100的話有點(diǎn)虛…………
不管怎么說,美顏后看起來比美顏前好看多了~~~
第二組隨機(jī)

這小姐姐顏值還是挺高的哈,美顏前后也就差不多~
源碼展示
from tkinter import *
import cv2 # pip install opencv-python
from tkinter import messagebox
import os
def fix_photo():
content = entry.get()
con = content.strip()
name = con.split(r'.')[0].split(r'/')[-1]
if con == "":
messagebox.showinfo("提示","請(qǐng)輸入正確的照片的路徑!")
else:
try:
image = cv2.imread(con)
value = 40
# value是美顏程度,值越大程度越大,值越小程度越小
image_dst = cv2.bilateralFilter(image, value, value * 2, value / 2)
# 把美顏后的效果生成一張照片
path = 'photos_after_beauty'
if not os.path.exists(path):
os.mkdir(path)
cv2.imwrite(path + '/' + "%s.jpg" % (name), image_dst)
messagebox.showinfo("提示", "圖片已經(jīng)美顏成功!")
except EXCEPTION as error:
pass
# 自動(dòng)清空輸入框內(nèi)容
entry.delete(0,END)
window = Tk()
window.title("Python美顏工具1.0")
window.geometry("300x100+200+200")
window.resizable(0,0)
label = Label(window,text="圖片地址:",font=("仿宋",12))
label.grid(row=0,column=0)
entry = Entry(window,width="28")
# entry不能和grid連寫,否則會(huì)報(bào)錯(cuò)
entry.grid(row=0,column=1)
label2 = Label(window,text="").grid(row=1,column=0)
label3 = Label(window,text="").grid(row=2,column=0)
button1 = Button(window,text="開始美顏",font=("仿宋",12),command=fix_photo)
button1.grid(row=3,column=0)
button2 = Button(window,text="退出軟件",font=("仿宋",12),command=window.quit)
button2.grid(row=3,column=1,sticky="e")
window.mainloop()額外的小知識(shí)補(bǔ)充:
美顏的小知識(shí)上面已經(jīng)說過就不說啦!這里小編簡(jiǎn)單說一下cv2的加載圖片+圖片模糊!
加載圖片:
import cv2 # pip install opencv-python
# 1、加載一張目標(biāo)圖片
image = cv2.imread("qingchundou.jpeg")
# 2、創(chuàng)建一個(gè)窗口,用來展示圖片
cv2.namedWindow("window")
# 3、定義一個(gè)函數(shù):實(shí)時(shí)鼠標(biāo)狀態(tài)的點(diǎn)擊
def draw(event,x,y,flags,param):
if event == cv2.EVENT_LBUTTONDOWN:
print('鼠標(biāo)->按下')
elif event == cv2.EVENT_MOUSEMOVE:
print('鼠標(biāo)->滑動(dòng)')
elif event == cv2.EVENT_LBUTTONUP:
print('鼠標(biāo)->抬起')
# 4、監(jiān)聽鼠標(biāo)事件的回調(diào)
cv2.setMouseCallback('window',draw)
# 5、展示窗口
cv2.imshow('window',image)
# bug閃退,窗口無線等待,等著用戶來操作
cv2.waitKey()
# 6、銷毀窗口,優(yōu)化
cv2.destroyAllWindows()這時(shí)候,就會(huì)有一個(gè)窗口加載圖片。
圖片模糊處理:
import cv2 # pip install opencv-python
image = cv2.imread('qingchundou.jpeg')
# 圖片模糊,第一個(gè)參數(shù):模糊的對(duì)象,第二個(gè)參數(shù):模糊程度的大小,值越大,程度越大
image_dst = cv2.blur(image,(15,15))
cv2.namedWindow("window")
cv2.imshow('window',image_dst)
cv2.waitKey()
cv2.destroyAllWindows()總結(jié)
opencv是一個(gè)很強(qiáng)大的庫,支持多個(gè)編程語言!大家有興趣的可以試一試!
以上就是Python Opencv實(shí)現(xiàn)最強(qiáng)美顏濾鏡效果的詳細(xì)內(nèi)容,更多關(guān)于Python Opencv濾鏡的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python自動(dòng)保存百度盤資源到百度盤中的實(shí)例代碼
這篇文章主要介紹了python自動(dòng)保存百度盤資源到百度盤中的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
Numpy中關(guān)于arctan和arctan2的區(qū)別
這篇文章主要介紹了Numpy中關(guān)于arctan和arctan2的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
python3實(shí)現(xiàn)隨機(jī)數(shù)
這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)隨機(jī)數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
python2和python3在處理字符串上的區(qū)別詳解
這篇文章主要介紹了python2和python3在處理字符串上的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
python+playwright微軟自動(dòng)化工具的使用
這篇文章主要介紹了python+playwright微軟自動(dòng)化工具的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02

