Darknet_YOLO——darknet_video.py视频检测按键保存帧

darknet_video.py 修改

视频播放,针对画面帧进行截图保存.
需求效果:
1.按空格键可以暂停视频(暂停视频的同时你的进程也应该暂停
2.暂停后,按S键可以保存当前帧
3.视频检测过程中,按S键可以保存当前帧
难点:
1.如何实现进程可以跑起来,不报错
2.如何实现当按键后可以同时暂停视频和进程
3.如何实现暂停的同时也可以按S键保存当前帧
做法:
1.可以将main 函数中,队列里设置maxSize=1去掉
2.将main 函数里的darknet_image = darknet.make_image(width, height, 3)注释掉
3.将上面注释的那句加在video_capture函数里
在这里插入图片描述就可以实现视频播放检测了
按键暂停和保存其实好做,就是利用waitkey
代码放在这里,这个按键保存暂停代码肯定要放在drawing函数里面啦

  if key == ord(' '):
                pause_flag = True
                while(pause_flag):
                    skey = cv2.waitKey(1)
                    if skey == ord('s'):
                        cv2.imwrite('/home/sxl/Pictures/'+filename+'.jpg',image)
                    elif skey == ord(' '):
                        pause_flag = False
                cv2.waitKey(0)
            elif key == ord('s'):
                cv2.imwrite('/home/sxl/Pictures/'+filename+'.jpg',image)

但是,如何实现进程和视频的同时暂停呢

方法其实是,一开始main函数里那个队列,maxSize=1不能去掉!
这样,最后就可以实现完美播放和暂停
在这里插入图片描述在这里插入图片描述

完整代码的话,如果有需要,可以留言邮箱,我发给你!

评论 72
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值