问题描述
我有一个将近 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 (将#修改为@)