我有一个问题,当我尝试运行两次相同的函数(这是一个从文件夹播放随机视频的函数)时会发生。我在尝试创建一个“for循环”时发现了这个问题,该循环将以确定的次数重放函数。它似乎不是一个特定的错误,它只是通过“if语句”来解决它,我接下来将向您展示这个语句
if (vid.isOpened()== False):
print("El archivo de mierda no se pudo abrir")
所以在我的屏幕上会弹出信息“El archivo de mierda no se pudo abrir”。如果我试图注释掉那个“If语句”,第二次函数被忽略,第二次视频无法播放。如何避免或解决此问题?整个代码是下一个代码:
import cv2
import numpy as np
import os, random
nombr = random.choice(os.listdir(r"C:\\Users\\JLHI6\\Desktop\\CODE\\Catu\\videos"))
videa = r"C:\\Users\\JLHI6\\Desktop\\CODE\\Catu\\videos\\" + nombr
vid = cv2.VideoCapture(videa)
def correr_video():
if (vid.isOpened()== False):
print("El archivo de mierda no se pudo abrir")
while (vid.isOpened()):
ret, frame = vid.read()
if ret == True:
cv2.imshow("Frame", frame)
if cv2.waitKey(25) & 0xFF == ord("q"):
break
else:
break
vid.release()
cv2.destroyAllWindows()
correr_video()
correr_video()
在函数的末尾
vid.release()
关闭视频(docs),因此要再次播放视频,必须使用vid = cv2.VideoCapture(videa)
重新打开它为了更容易播放不同的视频,您可以稍微重新构造代码:
相关问题 更多 >
编程相关推荐