SerendipityMIT 2022-09-13 14:18 采纳率: 42.9%
浏览 33
已结题

如何在调用的摄像头捕捉到的画面中添加倒计时

问题遇到的现象和发生背景

各位,我遇到一个日思夜想不知道如何解决的问题,就是“如何在调用的摄像头捕捉到的画面中添加倒计时”,具体代码如下:

问题相关代码,请勿粘贴截图

这是python调用摄像头的代码:

cap = cv2.VideoCapture(0)
        while True:
            ret, frame = cap.read()  # 摄像头读取,ret为是否成功打开摄像头,true,false。 frame为视频的每一帧图像
            frame = cv2.flip(frame, 1)  # 摄像头是和人对立的,将图像左右调换回来正常显示。
            cv2.imshow("video", frame)
            if cv2.waitKey(1) == ord('q'):
                break
        cap.DestoryAllWindow()
        cap.release()
运行结果及报错内容

这是运行结果:

img

可以成功运行,但是我在想如何在让任看到自己脸的同时,还可以在影像的上方出现一个数字倒计时,就像从5到1这样的很明显的数子倒计时,倒计时结束后自动拍照(如何拍照我是明白的,但是如何在影像上显示数字倒计时而不影响人的观看感一直想不明白,希望各位可以帮帮我)

  • 写回答

1条回答 默认 最新

  • 赵4老师 2022-09-13 16:38
    关注
    
    from PIL import Image, ImageFont, ImageDraw
    #……
            cap = cv2.VideoCapture(0)
            cnt=5
            fcnt=0
            while True:
                ret, frame = cap.read()  # 摄像头读取,ret为是否成功打开摄像头,true,false。 frame为视频的每一帧图像
                frame = cv2.flip(frame, 1)  # 摄像头是和人对立的,将图像左右调换回来正常显示。
                fcnt+=1
                if fcnt>=25: #假定视频每秒25帧,则此处过了1秒钟
                    fcnt=0
                    cnt-=1
                    if cnt>0:
                        img=Image.fromarray(cv2.cvtColor(frame,cv2.COLOR_BGR2RGB)) #获取frame对应的img
                        draw=ImageDraw.Draw(img) #获取img的draw对象
                        draw.text((20,10), "%d" %cnt, font=ImageFont.truetype('simhei.ttf', 16),fill=(255,255,255,255)) #使用draw对象的text方法在(10,20)处使用黑体,字体大小16,白色,显示cnt对应数字
                        frame=cv2.cvtColor(np.asarray(img),cv2.COLOR_RGB2BGR) #获取img对应的frame
                    if cnt==0:
                        frame.imwrite('snap.jpg',frame)
                        break
                cv2.imshow("video", frame)
                if cv2.waitKey(1) == ord('q'):
                    break
            cap.DestoryAllWindow()
            cap.release()
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 创建了问题 9月13日

悬赏问题

  • ¥15 如何使用simulink建立一个永磁同步直线电机模型?
  • ¥30 天体光谱图的的绘制并得到星表
  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗