日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

opencv python 生成画布_用Python做自己的2020专属Flag动图

發布時間:2025/6/15 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv python 生成画布_用Python做自己的2020专属Flag动图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2020年的開頭并不順利,有不少朋友希望能夠重啟2020。然而時光不可倒流,我們都應該學會積極的向前看。

我們可以給自己的2020年立下Flag,或者說給自己在這剩下的11個月里定下小目標,并不斷為之努力。

今天我們就用這萬能的Python來做自己的2020專屬Flag動圖。整個動圖制作可以分為如下幾步,將愿望寫入圖片,循環播放圖片形成gif的效果或者直接合成圖片生成動圖。

圖片制作

我找了一張符合主題的背景圖,簡單而不失優雅的中國紅,福氣滿滿的剪紙畫。

以此圖為背景,在中央空白處寫下自己的愿望,即給圖片添加文字,這里用到了pillow庫來新建畫布,并描繪出黑色字體。

def add_font(text,i):font=ImageFont.truetype('simhei.ttf', 80) img=Image.open('a.jpg')draw=ImageDraw.Draw(img) draw.text((110,110),text,(0,0,0),font=font)img.save('pic/{}.png'.format(i))

其文本位置和大小以及字體都可以在代碼中進行控制,整體效果如下,

圖片輪播

想要達到gif的效果,最直接的想法便是將圖片不斷地播放,這里我們用到了另外一個圖像處理的常用庫opencv,cv2.waitKey()函數在參數不為零的時候可以和循環結合產生動態畫面,即圖片輪播。

def pic_cycle():path="pic"filenames=os.listdir(path)img_iter=cycle([cv2.imread(os.sep.join([path, x])) for x in filenames])while 1:cv2.imshow('window title', next(img_iter))cv2.waitKey(500)

通過itertools.cycle生成一個無限循環的迭代器,每一次迭代都輸出下一張圖片,通過更改cv2.waitKey的參數,可以調整圖片輪播的速度。

圖片合成

如果不但想要生成動圖的效果,還想要直接以gif的形式保存下來便可以用到imageio庫,這個庫提供了多張圖片合成gif動圖的函數mimsave,可以通過調節參數fps調節圖片輪播的速度。

def make_gif():gif_images=[]img_paths=os.listdir('pic')img_paths=[os.sep.join(['pic',i]) for i in img_paths]for path in img_paths:gif_images.append(imageio.imread(path))imageio.mimsave("a.gif",gif_images,fps=2)

效果展示

我在代碼中寫入了自己的Flag, 你們也來動手制作吧!

總結

以上是生活随笔為你收集整理的opencv python 生成画布_用Python做自己的2020专属Flag动图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。