Python實(shí)現(xiàn)照片卡通化
前言
之前看到一個(gè)有意思的開(kāi)源項(xiàng)目,主要是可以將一張照片變成卡通漫畫的風(fēng)格。下面給大家放幾張官方給出的部分效果圖。


看到這個(gè)效果圖,還是非常經(jīng)驗(yàn)的。下面我會(huì)分享一下這個(gè)項(xiàng)目,并且選擇一些我自己找的圖片試驗(yàn)一下。
項(xiàng)目Github地址:github地址?
環(huán)境部署
先使用git將項(xiàng)目下載下來(lái)。看一下項(xiàng)目結(jié)構(gòu)。

我們看一下需要的環(huán)境。

非常簡(jiǎn)單,只要pytorch就可以了。如果有不太會(huì)安裝的,可以參考:機(jī)器學(xué)習(xí)基礎(chǔ)環(huán)境部署?
項(xiàng)目使用
看一下readme怎么說(shuō)明的。

直接使用命令,或者代碼執(zhí)行都可以,我們先看看如果命令操作的話都有哪些參數(shù)支持。
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument(
'--checkpoint',
type=str,
default='./weights/paprika.pt',
)
parser.add_argument(
'--input_dir',
type=str,
default='./samples/inputs',
)
parser.add_argument(
'--output_dir',
type=str,
default='./samples/results',
)
parser.add_argument(
'--device',
type=str,
default='cuda:0',
)
parser.add_argument(
'--upsample_align',
type=bool,
default=False,
help="Align corners in decoder upsampling layers"
)
parser.add_argument(
'--x32',
action="store_true",
help="Resize images to multiple of 32"
)
args = parser.parse_args()
test(args)
可以通過(guò)項(xiàng)目結(jié)構(gòu)看到,作者提供了4個(gè)模型文件可供選擇,可以用--checkpoint參數(shù)切換。需要提供圖片的輸入文件夾,修改--input_dir參數(shù)即可,經(jīng)過(guò)我自己的幾次驗(yàn)證,發(fā)現(xiàn)有的模型適合風(fēng)景類型的圖片,有的適合人像,下面我分成兩部使用一下。
景色類圖像使用
先看一下我準(zhǔn)備的圖片,三張風(fēng)景的照片。



我使用個(gè)人認(rèn)為比較好用的模型是paprika.pt。下面是執(zhí)行過(guò)程。

看看效果



?哦,第一張圖的漫畫效果有所欠缺,但是后面兩張還是不錯(cuò)的。沒(méi)有細(xì)品一波算法,猜測(cè)一下,可能是顏色區(qū)域較多,對(duì)比度越明顯,可能漫畫后的效果會(huì)更好。
人像類圖像使用
最主要的還是人像,懂的都懂。下面是我準(zhǔn)備的圖片。



打算使用face_paint_512_v2.pt模型測(cè)試一下。下面直接展示處理后的效果。



效果還是很好的,是不是。
總結(jié)
我反復(fù)測(cè)試了不少圖片,有的轉(zhuǎn)化的并不是很好,但是大部分還是不錯(cuò)的,瑕不掩瑜。項(xiàng)目還是好項(xiàng)目,只是可能模型本身訓(xùn)練的數(shù)據(jù)不是非常全面吧。
?以上就是Python實(shí)現(xiàn)照片卡通化的詳細(xì)內(nèi)容,更多關(guān)于Python照片卡通化的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
簡(jiǎn)單了解為什么python函數(shù)后有多個(gè)括號(hào)
這篇文章主要介紹了簡(jiǎn)單了解為什么python函數(shù)后有多個(gè)括號(hào),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
教你使用Python pypinyin庫(kù)實(shí)現(xiàn)漢字轉(zhuǎn)拼音
今天,發(fā)現(xiàn)了一個(gè)好玩兒的庫(kù),叫做 “pypinyin ”,用于幫助我們實(shí)現(xiàn)漢字轉(zhuǎn)拼音,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05
python numpy和list查詢其中某個(gè)數(shù)的個(gè)數(shù)及定位方法
今天小編就為大家分享一篇python numpy和list查詢其中某個(gè)數(shù)的個(gè)數(shù)及定位方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Python實(shí)現(xiàn)批量修改文件名實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)批量修改文件名的方法,實(shí)例分析了兩種實(shí)現(xiàn)批量修改文件名的技巧,涉及os.rename重命名方法、正則替換及字符串操作的相關(guān)技巧,需要的朋友可以參考下2015-07-07
python的django寫頁(yè)面上傳文件及遇到的問(wèn)題小結(jié)
這篇文章主要介紹了python的django寫頁(yè)面上傳文件以及遇到的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
Python基礎(chǔ)之循環(huán)語(yǔ)句用法示例【for、while循環(huán)】
這篇文章主要介紹了Python基礎(chǔ)之循環(huán)語(yǔ)句用法,結(jié)合實(shí)例形式分析了Python使用for、while循環(huán)及range、break和continue語(yǔ)句相關(guān)使用技巧,需要的朋友可以參考下2019-03-03

