分割错误(核心转储)python
问题描述:
我是python的初学者。 我想从avi文件中读取帧,然后编写下面的代码。当我运行此代码时,我收到类似Segmentation fault(核心转储)的消息。 有谁能告诉我理由。 我确定我使用了avi文件的正确根。 我尝试通过ipython查找问题。当到达ret行,frame = cap.read()时发现错误。分割错误(核心转储)python
import numpy as np
import cv2
cap = cv2.VideoCapture('/home/sunjia/code/night_goto.avi')
while(cap.isOpened()):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
答
变化,而条件
while(ret):
试试这个!
****更正**** while while循环添加此语句:ret,frame = cap.read() .read()将返回两个参数:frame和boolean:'True'if there是读取文件中的任何帧,如果没有帧,则为'False'。 'ret'这种方式将被初始化,并可用于'while()'。 现在,while()循环将运行,直到循环中的语句“ret,frame = cap.read()”返回参数。
+0
嗨,谢谢你的努力!你能解释为什么你认为这会解决问题吗? (还要注意'while'在Python中应该是小写,并且'ret'应该被初始化。) – kazemakase
如果您发布了您收到的错误消息,这将有所帮助 –