Python OpenCV视频捕获:获取输出“;[NULL@0152ce80]引用了不存在的PPS 0”;尽管这个计划似乎奏效了
因此,我目前正试图编写一个程序,从视频文件中提取X个帧数,然后使用OpenCV进行处理。我遇到的问题(或者可能是一个bug)是,当使用Python OpenCV视频捕获:获取输出“;[NULL@0152ce80]引用了不存在的PPS 0”;尽管这个计划似乎奏效了,python,opencv,Python,Opencv,因此,我目前正试图编写一个程序,从视频文件中提取X个帧数,然后使用OpenCV进行处理。我遇到的问题(或者可能是一个bug)是,当使用videoCapture.set(cv2.CAP\u PROP\u POS\u FRAMES,ithframe)时,我会得到输出[NULL@0152ce80]不存在的PPS 0引用出现18次,尽管程序似乎正在运行 下面是我大致尝试过的(cap是cv2.VideoCapture): 下面是单循环迭代的输出(其中if语句为true)的样子: 似乎我得到了我想要的输出
videoCapture.set(cv2.CAP\u PROP\u POS\u FRAMES,ithframe)
时,我会得到输出[NULL@0152ce80]不存在的PPS 0引用
出现18次,尽管程序似乎正在运行
下面是我大致尝试过的(cap
是cv2.VideoCapture
):
下面是单循环迭代的输出(其中if
语句为true)的样子:
似乎我得到了我想要的输出;我从我的图像处理函数中得到了合理的值,并且使用cv2.imshow()
我可以看到我得到了明显不同的帧,所以我不知道是什么导致了这些空引用消息
numFrames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) #This was returning as a float for some reason
divisor = int(numFrames/10)
cap.set(cv2.CAP_PROP_POS_FRAMES, 1);
success, frame = cap.read()
for i in range(0, numFrames):
if ((i % divisor) == 0) and (i != 0):
cap.set(cv2.CAP_PROP_POS_FRAMES, i-1)
success, frame = cap.read()
# Do stuff with frame
cap.release()