sunjia
sunjia

Reputation: 41

Segmentation fault (core dumped) python

I am a beginner to python. I want to read frame from avi files and I write following code.When I run this code I get the message like Segmentation fault (core dumped). Could anyone tell me the reason. I am sure I have used the right root of the avi file. I try to find the problem by ipython. I found the error occured when reach the line of 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()

Upvotes: 4

Views: 2094

Answers (1)

Elaimte
Elaimte

Reputation: 11

Change While condition

   while(ret):

Try this !!

**** Correction **** before while loop add this statement: ret, frame = cap.read() .read() will return two parameters: the frame and boolean: 'True' if there is any frame in the read file or 'False' if there is no frame. This way 'ret' will be initialized and can be used for 'while()'. Now, the while() loop will run till the statement "ret, frame = cap.read()" in the loop returns parameters.

Upvotes: 1

Related Questions