共計 1220 個字符,預計需要花費 4 分鐘才能閱讀完成。
要把圖片制作成動圖,可以使用 Python 的 PIL 庫(Python Imaging Library)或者 OpenCV 庫。下面是使用 PIL 庫的示例代碼:
from PIL import Image
# 打開圖片
image1 = Image.open('image1.jpg')
image2 = Image.open('image2.jpg')
image3 = Image.open('image3.jpg')
# 創建一個新的文件夾保存動畫幀
image1.save('animated.gif',
save_all=True,
append_images=[image2, image3],
optimize=False,
duration=500,
loop=0)
在這個示例中,首先通過 Image.open()
方法打開了三張圖片(image1.jpg、image2.jpg 和 image3.jpg)。然后,使用 save()
方法將這些圖片保存為一個動畫幀。save_all=True
表示保存所有的幀,append_images
參數指定了要添加到動畫中的其他圖片幀,optimize=False
表示不進行優化,duration
參數表示每個幀的顯示時間(單位為毫秒),loop
參數表示循環次數,0 表示無限循環。
如果要對動圖進行進一步編輯,可以使用 imageio 庫和 numpy 庫進行幀的讀取和處理。以下是一個示例代碼:
import imageio
import numpy as np
# 讀取動畫幀
image1 = imageio.imread('image1.jpg')
image2 = imageio.imread('image2.jpg')
image3 = imageio.imread('image3.jpg')
# 創建一個空白動畫
animated_image = np.zeros_like(image1)
# 合并幀
animated_image[0:100, 0:100, :] = image1
animated_image[100:200, 100:200, :] = image2
animated_image[200:300, 200:300, :] = image3
# 保存動畫
imageio.imwrite('animated.gif', animated_image, duration=0.5)
在這個示例中,首先使用 imageio 庫的 imread()
函數讀取圖片幀。然后,創建一個空白的動畫幀,使用 numpy 庫的 zeros_like()
函數創建與圖片尺寸相同的空白幀。接著,使用切片操作將讀取的圖片幀放置到相應位置。最后,使用 imageio 庫的 imwrite()
函數保存動畫幀為動圖文件。duration
參數表示每個幀的顯示時間(單位為秒)。
丸趣 TV 網 – 提供最優質的資源集合!
正文完