编程带图片视频怎么做的

时间:2025-03-04 22:34:48 明星趣事

制作带图片的视频可以通过多种编程库和方法实现,以下是一些常用的步骤和代码示例:

使用OpenCV

导入必要的库

```python

import cv2

import os

import numpy as np

from PIL import Image

```

创建文件夹并排序图片

```python

def frame2video(im_dir, video_dir, fps):

im_list = os.listdir(im_dir)

im_list.sort(key=lambda x: int(x.replace("frame", "").split('.')))

```

读取图片并写入视频

```python

img = Image.open(os.path.join(im_dir, im_list))

img_size = img.size

创建VideoWriter对象

videowriter = cv2.VideoWriter(os.path.join(video_dir, 'output.avi'), cv2.VideoWriter_fourcc(*'XVID'), fps, img_size)

读取并写入图片

for im_file in im_list:

img = cv2.imread(os.path.join(im_dir, im_file))

videowriter.write(img)

释放资源

videowriter.release()

```

使用moviepy

导入必要的库

```python

from moviepy.editor import ImageSequenceClip

import os

```

创建文件夹并排序图片

```python

def merge_image_to_video_moviepy(folder_name, fps=25):

image_files = [os.path.join(folder_name, f) for f in os.listdir(folder_name) if f.endswith('.jpg')]

image_files.sort()

```

生成视频

```python

clip = ImageSequenceClip(image_files, fps=fps)

clip.write_videofile("output.mp4", fps=fps)

```

添加音频和水印

添加背景音乐

```python

from moviepy.editor import AudioFileClip

audio = AudioFileClip("background_music.mp3")

final_clip = clip.set_audio(audio)

```

添加水印图片

```python

from PIL import Image

def add_watermark(input_video, watermark_image, output_video):

base_image = Image.open(input_video)

watermark = Image.open(watermark_image)

position = (base_image.width - watermark.width, base_image.height - watermark.height)

base_image.paste(watermark, position, watermark)

base_image.save(output_video)

```

总结

以上方法分别使用OpenCV和moviepy库来生成带图片的视频,并提供了添加音频和水印的示例代码。你可以根据自己的需求选择合适的库和方法。如果需要更高的效率和更多的功能,建议使用moviepy库,因为它提供了更多的编辑和处理选项。