opencv把图片转换成视频
时间: 2023-07-01 07:23:24 浏览: 65
要使用OpenCV将图片转换成视频,可以按照以下步骤:
1.导入必要的库
```python
import cv2
import numpy as np
import glob
```
2.设置视频参数
```python
fps = 30.0 # 设置帧率
frame_size = (640, 480) # 设置帧大小
```
3.读取图片并将其转换为视频
```python
img_array = []
for filename in glob.glob('path/to/images/*.jpg'): # 读取图片文件夹中的所有图片
img = cv2.imread(filename) # 读取图片
height, width, layers = img.shape # 获取图片大小
size = (width, height) # 设置视频大小
img_array.append(img) # 将图片添加到列表中
out = cv2.VideoWriter('output.avi', cv2.VideoWriter_fourcc(*'DIVX'), fps, frame_size) # 创建视频输出对象
for i in range(len(img_array)):
out.write(img_array[i]) # 将每一帧写入视频
out.release() # 释放视频输出对象
```
这样就可以将指定文件夹中的所有图片转换成视频,并保存为output.avi文件。
相关问题
opencv shishi图片转shishi视频
要将一组实时视频帧转换为视频,可以使用OpenCV的VideoWriter类。以下是一个简单的示例,演示如何将一组图片转换为视频:
```python
import cv2
import os
# 图片文件夹路径
img_folder_path = '/path/to/image/folder/'
# 获取图片文件名列表
img_names = os.listdir(img_folder_path)
img_names.sort()
# 获取第一张图片的大小
img = cv2.imread(os.path.join(img_folder_path, img_names[0]))
height, width, channels = img.shape
# 视频帧率
fps = 25
# 定义编码器和输出视频文件名
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
video_name = 'output.mp4'
# 创建 VideoWriter 对象
video = cv2.VideoWriter(video_name, fourcc, fps, (width, height))
# 逐帧写入视频
for img_name in img_names:
img_path = os.path.join(img_folder_path, img_name)
img = cv2.imread(img_path)
video.write(img)
# 释放资源
video.release()
```
在此示例中,我们首先获取图片文件夹的路径,并使用Python的os模块获取图片文件名列表。我们随后定义视频帧率和编码器,并创建一个VideoWriter对象来写入视频。然后,我们循环遍历每个图片文件,读取每个图片并将其写入视频。最后,我们释放VideoWriter对象并完成视频转换。
用opencv 读取图片转为视频
要将一组图片转换为视频,可以使用 OpenCV 库中的 VideoWriter 类。以下是一个使用 OpenCV 将图片转换为视频的示例代码:
```python
import cv2
import os
# 图片文件夹路径
img_folder_path = './images/'
# 获取图片文件夹中所有图片的文件名
img_names = os.listdir(img_folder_path)
# 获取第一张图片的尺寸
img = cv2.imread(os.path.join(img_folder_path, img_names[0]))
height, width, channels = img.shape
# 设置视频编码格式
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
# 创建 VideoWriter 对象
out = cv2.VideoWriter('output.mp4', fourcc, 25, (width, height))
# 遍历所有图片并写入视频
for img_name in img_names:
img_path = os.path.join(img_folder_path, img_name)
img = cv2.imread(img_path)
out.write(img)
# 释放 VideoWriter 对象
out.release()
```
在上面的示例代码中,首先获取图片文件夹中所有图片的文件名,然后读取第一张图片获取其尺寸。接下来,设置视频编码格式为 MP4V,创建 VideoWriter 对象并指定输出视频的名称、帧率和尺寸。然后遍历所有图片,将其写入视频中,最后释放 VideoWriter 对象。
值得注意的是,上述示例代码中输出视频的帧率设置为 25,如果你的图片文件夹中的图片数量很少,可以适当调整帧率以获得更好的观看效果。