Closed DoReMi115 closed 2 years ago
# 将视频切分成帧
def handle_video(file_name):
video = VideoObject(file_name, pre_load=True)
# 新建帧,计算视频总共有多少帧,每帧多少ms
video.load_frames()
# 压缩视频
cutter = VideoCutter()
# 指定的区域会被屏蔽掉
hook = IgnoreHook(
# 默认情况下,所有的坐标都是从左上角开始的
# 如果我们需要偏移到右下角,意味着我们需要向下偏移 0.5 * height,向右偏移 0.5 * width
# Hook采用两个参数size与offset,分别对应裁剪区域大小与偏移量
# size=(0.01, 10),
# offset=(0.1, 0.1),
# 例如你希望屏蔽掉高度100宽度200的区域,则:
size=(10, 200),
offset=(1, 10),
overwrite=True,
)
cutter.add_hook(hook)
# hook_save_frame = FrameSaveHook('./picture/6_frame_save_dir')
# cutter.add_hook(hook_save_frame)
# 计算每一帧视频的每一个block的ssim和psnr。
res = cutter.cut(video, block=6)
# 计算出判断A帧到B帧之间是稳定还是不稳定
stable, unstable = res.get_range(threshold=0.97, offset=3)
# 把分好类的稳定阶段的图片存本地
res.pick_and_save(stable, 20, to_dir='./picture/stable_frame', meaningful_name=True)
return stable
应该是视频的问题,方便的话发一下视频看看
应该是视频的问题,方便的话发一下视频看看
opencv 什么版本?我这边没有问题哦
看了看都是最新版
可以将这两个包降到 4.4.0.46 看看是否复现 我这边现象是在4.5+出现跟你一样的情况,4.4-不出现,可能是cv改了API
4.5 还不是个稳定版本,最好不要用