微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 OpenCV 中写入视频的几帧

如何解决在 OpenCV 中写入视频的几帧

我有一个将近 60 秒的视频,我想在不同的帧中应用不同的视频处理技术。 我正在尝试选择不同的帧,但出现语法错误。这是我目前所写的。

选择不同帧的函数

def between(cap,lower: int,upper: int):
    return lower <= int(cap.get(cv.CAP_PROP_POS_FRAMES)) < upper

在此之后,我想选择不同的帧并应用不同的技术。例如,在下面的前 90 帧中,我转为灰度,从第 91 帧到第 150 帧,我想写一些文本,但是在第二个选择的帧中,我遇到了语法错误

 while cap.isOpened():
    ret,frame = cap.read()
       if not ret:
       print("Can't receive frame (stream end?). Exiting ...")
       break
 if between(cap,90):
           frame = cv.cvtColor(frame,cv.COLOR_BGR2GRAY)
           frame = cv.cvtColor(frame,cv.COLOR_GRAY2BGR)  
        
 if between(cap,90,150)           
 # Our operations on the frame come here
           font = cv.FONT_HERShey_SIMPLEX 
           cv.putText(frame,'TEXT ON VIDEO',(50,50),font,1,(0,255,255),2,cv.LINE_4)
              pass
    # write the flipped frame
 out.write(frame)
 cv.imshow('frame',frame)
 if cv.waitKey(1) == ord('q'):
     break
 cap.release()
 out.release()
 cv.destroyAllWindows()

关于如何构建代码以连续选择下一帧的任何想法。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。