溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何用Python做了一個(gè)幫小姐姐生成漫畫(huà)頭像的網(wǎng)站

發(fā)布時(shí)間:2021-10-11 18:12:29 來(lái)源:億速云 閱讀:143 作者:柒染 欄目:大數(shù)據(jù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何用Python做了一個(gè)幫小姐姐生成漫畫(huà)頭像的網(wǎng)站,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

對(duì)于動(dòng)漫,大家一定都不陌生,小編周圍的不少單身碼農(nóng)都是動(dòng)漫迷。小編也是一個(gè)資深動(dòng)漫迷,動(dòng)漫里面有好多漂亮的小姐姐,比如斗破蒼穹的美杜莎,云韻,蕭薰兒,天行九歌里面紫女,焰靈姬。當(dāng)然女孩也有自己的動(dòng)漫情懷,部門(mén)里面還有小姐姐喜歡cosplay呢 
于是乎我想既然Python無(wú)所不能,不如用Python做一個(gè)小程序幫小姐姐的頭像轉(zhuǎn)成漫畫(huà),以后也可以搭訕一下部門(mén)的小姐姐,吹噓一把!哈哈,想想都幸福,于是熬了一夜,總于完成了這個(gè)小程序。

圖片和漫畫(huà)的區(qū)別

首先,我們來(lái)看一下,漫畫(huà)和我們的照片的區(qū)別,如下圖所示:

如何用Python做了一個(gè)幫小姐姐生成漫畫(huà)頭像的網(wǎng)站

從上面的圖中,我們可以看出,相比于圖片,漫畫(huà)更注重輪廓的細(xì)節(jié),邊界輪廓比較清晰,其次就是漫畫(huà)的色彩數(shù)量比真實(shí)的圖片要少,所以看起來(lái)對(duì)于細(xì)節(jié)信息漫畫(huà)不如圖片更加真實(shí)。

 2 

圖片轉(zhuǎn)漫畫(huà)——減少色彩

圖片轉(zhuǎn)漫畫(huà)——減少色彩

有了上述的兩個(gè)細(xì)節(jié)的描述,我們接下來(lái)的程序,也將圍繞著這兩點(diǎn)進(jìn)行展開(kāi)。
  • 先要需要減少色彩的數(shù)量,我們利用的是oepncv庫(kù)實(shí)現(xiàn)。我們首先利用金字塔下采樣降低圖片的分辨率,提高原圖片的模糊程度;
  • 然后再利用雙邊濾波來(lái)不斷的對(duì)圖片進(jìn)行濾波操作,進(jìn)一步提高圖片的模糊程度,這就達(dá)到了我們模糊的目的。
  • 使用金字塔而不是插值來(lái)減少圖片分辨率的目的是為了達(dá)到模糊的目的,因?yàn)榻鹱炙虏蓸訒?huì)產(chǎn)生失真;
  • 用雙邊濾波能很好的保存邊緣信息,對(duì)于我們上面提到的強(qiáng)化邊緣很友好。

下圖是程序減少色彩數(shù)量時(shí),圖像分辨率的變化過(guò)程:

如何用Python做了一個(gè)幫小姐姐生成漫畫(huà)頭像的網(wǎng)站

其對(duì)應(yīng)的程序入下圖所示:

如何用Python做了一個(gè)幫小姐姐生成漫畫(huà)頭像的網(wǎng)站

上述程序中,我們需要注意的一點(diǎn)就是對(duì)于輸入的圖片我們必須要調(diào)整圖片尺寸為4的整數(shù)倍,因?yàn)樵诮鹱炙虏蓸拥倪^(guò)程中,圖片會(huì)默認(rèn)降到原先尺寸的1/4大小,如果無(wú)法除盡的話,程序會(huì)自動(dòng)向上取整,這樣的話,我們上采樣之后,模糊的圖片和最初輸入的圖片在分辨率上會(huì)有些許的差別,這樣會(huì)使后面的程序保存。

 3 

圖片轉(zhuǎn)漫畫(huà)——增強(qiáng)輪廓

完成了上面幾步之后,我們接著要進(jìn)行增強(qiáng)輪廓了。我們的程序如下圖所示:

如何用Python做了一個(gè)幫小姐姐生成漫畫(huà)頭像的網(wǎng)站

上述的程序中,我們利用opencv的自適應(yīng)閾值函數(shù)來(lái)分割輪廓,然后將我們的輪廓圖片和模糊后的圖片按照輪廓圖片的數(shù)值進(jìn)行與操作,最終得到我們的漫畫(huà)圖片。

以上便是程序的核心部分,接下來(lái)我們用Python里面的著名框架flask程序做一個(gè)簡(jiǎn)單額網(wǎng)站頁(yè)面。

Flask做一個(gè)簡(jiǎn)單的網(wǎng)站

對(duì)于flask程序,想必大家或多或少都有一定的了解,我們所使用的flask程序非常簡(jiǎn)單,我簡(jiǎn)單的說(shuō)一下思路和步驟:

  • 首先我們運(yùn)行程序會(huì)出現(xiàn)下圖中最上部的界面;

  • 然后我們選擇圖片點(diǎn)擊上傳后,html頁(yè)面會(huì)跳轉(zhuǎn)到/cartoon的子頁(yè)面下,同時(shí)運(yùn)行后臺(tái)的cartoon函數(shù),入中間圖所示;

如何用Python做了一個(gè)幫小姐姐生成漫畫(huà)頭像的網(wǎng)站

  • 此時(shí)也就完成了圖片的轉(zhuǎn)換,并給html頁(yè)面返回轉(zhuǎn)換成漫畫(huà)的圖片地址;

  • html頁(yè)面只需要找到這個(gè)圖片,顯示在頁(yè)面上即可,如下圖中最下部的圖所示。

如何用Python做了一個(gè)幫小姐姐生成漫畫(huà)頭像的網(wǎng)站

熬了一夜,實(shí)在是太累了,原創(chuàng)不易,上面的網(wǎng)站雖然已經(jīng)完成,但是頁(yè)面非常簡(jiǎn)陋需要進(jìn)一步的美化!本篇只是給大家拋磚引玉,Python里面趣味的庫(kù)非常多,可以做很多有趣的事情。

上述就是小編為大家分享的如何用Python做了一個(gè)幫小姐姐生成漫畫(huà)頭像的網(wǎng)站了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI