av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

520使用Python實(shí)現(xiàn)“我愛(ài)你”表白

瀏覽:101日期:2022-07-25 09:17:09

摘要: 每到情人節(jié)、七夕節(jié),不少小伙伴大伙伴們都會(huì)遇到這樣一個(gè)世紀(jì)問(wèn)題——怎么給女朋友/老婆一個(gè)與眾不同的節(jié)日驚喜。今天給大家分享一個(gè)獨(dú)特的表白方法——用“我愛(ài)你”拼出心愛(ài)人的模樣!

每到情人節(jié)、七夕節(jié),不少小伙伴大伙伴們都會(huì)遇到這樣一個(gè)世紀(jì)問(wèn)題——怎么給女朋友/老婆一個(gè)與眾不同的節(jié)日驚喜。

你說(shuō)送花吧,到時(shí)候朋友圈里一劃,全部都是送花的,女票:“沒(méi)創(chuàng)意!”,遂卒;

你說(shuō)送禮物吧,要是送的禮物不合心意,女票:“你根本不懂我!”,又卒;

你說(shuō)逛街買買買吧,摸摸空空的口袋,默默把這個(gè)想法丟到一邊...

今天,就和大家分享一個(gè)獨(dú)特的表白方法——用“我愛(ài)你”拼出心愛(ài)人的模樣!

520使用Python實(shí)現(xiàn)“我愛(ài)你”表白

成品圖!

520使用Python實(shí)現(xiàn)“我愛(ài)你”表白

什么?看不清長(zhǎng)啥樣?放大來(lái)康康

520使用Python實(shí)現(xiàn)“我愛(ài)你”表白

想做出這樣的照片嗎?那么~我們現(xiàn)在就開(kāi)始啦~

一. 需要準(zhǔn)備的有

女票超級(jí)無(wú)敵可愛(ài)美膩的照片 1張!

python (這里用的是python3.7)

需要的用到的庫(kù)

cv2:用來(lái)讀取照片

PIL:用來(lái)生成新的圖片

性能比較OK的電腦

(如果沒(méi)有接觸過(guò)python,不想/不會(huì)配環(huán)境、裝cv2、PIL之類的庫(kù),或者電腦性能不太夠,強(qiáng)烈推薦使用華為云的ModelArts進(jìn)行開(kāi)發(fā)~直接解決環(huán)境配置、電腦性能的各種問(wèn)題~)

二. 基本思路要實(shí)現(xiàn)這樣的效果,首先需要有一張照片,提取其像素信息,然后賦給排布滿文字的新圖片,就能得到如上圖所示的一張新圖片啦!

廢話不多說(shuō),接下來(lái)就開(kāi)始吧~

三.操作流程

1.首先導(dǎo)入用到的庫(kù)(兩者的作用在1中已有介紹)

from PIL import Image, ImageDraw, ImageFont

2.然后開(kāi)始聲明繪圖的方法

這里有兩個(gè)參數(shù),分別是原圖片的路徑和要寫(xiě)的文字

def draw(pic, draw_text):

3.接著讀取圖片

使用cv2中的imread方法讀取圖片信息,

使用PIL中的Image方法創(chuàng)建一個(gè)新的圖片,其尺寸和源圖片一致,背景為白色

blank = Image.new('RGB', [img.shape[1], img.shape[0]], 'white')drawObj = ImageDraw.Draw(blank) # 告訴程序,我們接下來(lái)就要在這個(gè)圖上寫(xiě)字啦!

4.聲明繪圖的一些參數(shù)(這些參數(shù)都是我經(jīng)過(guò)多次試驗(yàn)得到的最佳大小~)

m = 9 # 字體的大小font_path = ’你使用字體的位置’ # 字體的路徑font = ImageFont.truetype(font_path, size=m) # 將字體信息賦給font變量,供后續(xù)使用

5.接下來(lái)就是最關(guān)鍵的一步!把文字寫(xiě)上去,并按照源圖片給圖片上色

通過(guò)兩個(gè)for循環(huán),依次定位到每個(gè)文字所在的色塊(中間間隔n是因?yàn)槲淖直认袼貕K大得多,不可能完全按照每個(gè)像素的位置和色彩來(lái)排布)

使用text()方法填入帶色彩的文字,幾個(gè)參數(shù)分別代表:

[j, i] -- 坐標(biāo)位置

draw_text[int(j / n) % len(draw_text)] -- 找到當(dāng)前該寫(xiě)入哪個(gè)文字了(比如“我愛(ài)你”中的第幾個(gè)字)

fill=(img[i][j][2], img[i][j][1], img[i][j][0]) -- 代表源圖片對(duì)應(yīng)位置的顏色(三個(gè)分別代表RBG顏色值)

for i in range(0, img.shape[0], n):for j in range(0, img.shape[1], n):drawObj.text([j, i],draw_text[int(j / n) % len(draw_text)],fill=(img[i][j][2], img[i][j][1], img[i][j][0]),font=font) # 按句子的順序填充文字

6.寫(xiě)入完成,導(dǎo)出圖片

7.調(diào)用我們封裝好的方法~

輸入圖片路徑和目標(biāo)文字,運(yùn)行~一張獨(dú)一無(wú)二的表白圖就大功告成!

draw(’1.jpg’, '我愛(ài)你')

附上全代碼(記得把字體路徑改成自己電腦的喲~)

from PILimport Image, ImageDraw, ImageFontdef draw(pic, draw_text):img = cv2.imread(pic)blank = Image.new('RGB', [img.shape[1],img.shape[0]], 'white')drawObj = ImageDraw.Draw(blank)n = 10m = 9font = ImageFont.truetype(font_path,size = m)for i in range(0, img.shape[0], n):for j in range(0, img.shape[1], n):drawObj.text([j, i],draw_text[int(j / n) % len(draw_text)],fill = (img[i][j][2], img[i][j][1],img[i][j][0]),font = font)blank.save(’img_’ + pic)draw(’1.jpg’, '我愛(ài)你')

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 婷婷综合激情 | 国产乱码精品一区二区三区忘忧草 | 日日爽| 亚洲午夜精品 | 欧洲视频一区二区 | 拍拍无遮挡人做人爱视频免费观看 | 日韩欧美一区二区三区四区 | 97精品视频在线 | 91精品久久久久久久久中文字幕 | 色综合久 | 久久久久久网站 | 成人av一区二区亚洲精 | 精品视频一区二区在线观看 | 亚洲精品一区二区在线 | 国产精品久久久久久久岛一牛影视 | 99成人精品 | 日本一区二区三区免费观看 | 国产美女特级嫩嫩嫩bbb片 | 一区二区电影 | 欧美 中文字幕 | 精品在线一区二区三区 | 亚洲免费婷婷 | 亚洲成a人片 | 国产高清在线精品一区二区三区 | 国产精品久久久久久久岛一牛影视 | 精品免费国产一区二区三区 | 日韩中文一区二区三区 | 午夜爽爽爽男女免费观看 | 日韩三极 | av网站在线播放 | 精品粉嫩超白一线天av | 亚洲免费在线 | 草草视频在线免费观看 | 欧美成人免费在线 | 免费大黄视频 | 黑人巨大精品欧美黑白配亚洲 | 亚洲欧美日韩精品久久亚洲区 | 成人国产精品视频 | 亚洲日本视频 | 国产一在线观看 | 91精品久久久久久久久中文字幕 |