分段错误(核心转储)python

时间:2015-12-07 23:57:35

标签: python opencv

我是python的初学者。 我想从avi文件中读取框架,然后编写以下代码。当我运行此代码时,我得到了像Segmentation fault(core dumped)这样的消息。 有谁能告诉我原因。 我确信我已经使用了avi文件的正确根目录。 我试图通过ipython找到问题。我发现当到达ret,frame = cap.read()的行时发生了错误。

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()

1 个答案:

答案 0 :(得分:1)

条件更改

   while(ret):

试试这个!!

****更正**** 在while循环之前添加以下语句:ret,frame = cap.read()   .read()将返回两个参数:frame和boolean:' True'如果读取文件中有任何框架或“假”'如果没有框架。这种方式' ret'将被初始化并可用于' while()'。 现在,while()循环将一直运行到语句" ret,frame = cap.read()"在循环中返回参数。