OpenCv代码抛出分割错误(核心转储)Ubuntu 14.04

我是初学者从官方文档学习opencv http://docs.opencv.org/trunk/doc/py_tutorials/py_gui/py_video_display/py_video_display.html#display-video

import numpy as np        
import cv2    

cap = cv2.VideoCapture(0)      
while(True):    
    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()

它给我错误"Segmentation fault (core dumped)"任何人都可以告诉我为什么会发生这种情况,以及如何解决这个问题?
提前致谢。


也许它有点晚,但是“user3154952”所说的是真实的,当你使用C ++ API时,你不需要使用release方法,它已经在视频捕获析构函数中。

这是我测试过的代码,工作正常:

import sys
import cv2

cap = cv2.VideoCapture(0)

while(1):
    ret,frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == 27:
        break

cv2.destroyAllWindows()

更新:我一直在搞我的PS3眼睛,我已经意识到,用相机,你会得到仅使用destroyAllWindows方法的分割错误,以解决我用release方法替换了destroyAllWindows方法,并且工作正常,我不知道不知道为什么会发生这种情况,我只是分享以防有人遇到这个问题。 我希望这很有帮助。

链接地址: http://www.djcxy.com/p/89757.html

上一篇: OpenCv code throws segmentation error(core dumped) Ubuntu 14.04

下一篇: Determining the average distance of pixels (to the centre of an image) in OpenCV