halcon读取视频抽帧保存图片
时间: 2023-07-31 09:13:14 浏览: 322
你可以使用Halcon库来读取视频并抽取帧保存为图片。以下是一个简单的示例代码:
```python
import os
from halcon import *
def extract_frames(video_path, output_dir):
# 打开视频文件
video = open_video(video_path)
# 获取视频的总帧数
num_frames = count_obj(video)
# 创建输出目录
os.makedirs(output_dir, exist_ok=True)
# 循环读取每一帧并保存为图片
for i in range(1, num_frames+1):
# 读取当前帧
grab_image_start(video, i)
frame = grab_image_async()
frame = grab_image_finish(frame)
# 生成保存路径
output_path = os.path.join(output_dir, f"frame_{i}.jpg")
# 保存图片
write_image(frame, output_path)
print(f"Saved frame {i}")
# 关闭视频文件
close_video(video)
# 调用示例
video_path = "path/to/video.mp4"
output_dir = "path/to/output/directory"
extract_frames(video_path, output_dir)
```
请确保你已经安装了Halcon库,并将示例代码中的`video_path`和`output_dir`替换为你自己的视频路径和输出目录。运行代码后,它将逐帧读取视频,并将每一帧保存为单独的图片文件。
阅读全文