简体   繁体   中英

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

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM