让你安装visual studio…
不要安装!!!!
参考这个博主
https://blog.csdn.net/m0_73914600/article/details/127176961
安装成功后
使用ProgressBar时报错
module ‘mmcv’ has no attribute ‘ProgressBar’
请用 tqdm库代替
imgs = mmcv.VideoReader(input_video)
prog_bar = mmcv.ProgressBar(len(imgs))
# 对视频逐帧处理
for frame_id, img in enumerate(imgs):
## 处理单帧画面
img = pred_single_frame(img, show_class_id=None)
# 将处理后的该帧画面图像文件,保存至 /tmp 目录下
img.save(f'{temp_out_dir}/{frame_id:06d}.jpg', "BMP")
prog_bar.update() # 更新进度条
# 把每一帧串成视频文件
mmcv.frames2video(temp_out_dir, output_path, fps=imgs.fps, fourcc='mp4v')
shutil.rmtree(temp_out_dir) # 删除存放每帧画面的临时文件夹
print('删除临时文件夹', temp_out_dir)
print('视频已生成', output_path)
改为
import mmcv
from tqdm import tqdm
import shutil
from PIL import Image # 假设 `pred_single_frame` 返回的是 PIL Image 对象
input_video = 'input.mp4'
temp_out_dir = '/tmp'
output_path = 'output.mp4'
# 读取视频
imgs = mmcv.VideoReader(input_video)
# 使用 tqdm 显示进度条
with tqdm(total=len(imgs), desc="Processing frames") as pbar:
# 对视频逐帧处理
for frame_id, img in enumerate(imgs):
## 处理单帧画面
img = pred_single_frame(img, show_class_id=None)
# 将处理后的该帧画面图像文件,保存至 /tmp 目录下
img.save(f'{temp_out_dir}/{frame_id:06d}.jpg', "BMP")
pbar.update(1) # 更新进度条
# 把每一帧串成视频文件
mmcv.frames2video(temp_out_dir, output_path, fps=imgs.fps, fourcc='mp4v')
# 删除存放每帧画面的临时文件夹
shutil.rmtree(temp_out_dir)
print('删除临时文件夹', temp_out_dir)
print('视频已生成', output_path)