Python OpenCv分段错误
我正在使用theano和opencv在keras上运行一个简单的网络。执行cvtColor()方法时出现分段错误。 代码段:Python OpenCv分段错误,python,opencv,Python,Opencv,我正在使用theano和opencv在keras上运行一个简单的网络。执行cvtColor()方法时出现分段错误。 代码段: if __name__ == '__main__': cap = cv2.VideoCapture(0) if not cap: print "!!! Failed VideoCapture: unable to open device 0" sys.exit(1) cascade_path = "~/opencv-2.
if __name__ == '__main__':
cap = cv2.VideoCapture(0)
if not cap:
print "!!! Failed VideoCapture: unable to open device 0"
sys.exit(1)
cascade_path = "~/opencv-2.4.13.2/data/haarcascades/haarcascade_frontalface_default.xml"
model = Model()
model.load()
while True:
pdb.set_trace()
_, frame = cap.read()
frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cascade = cv2.CascadeClassifier(cascade_path)
以下是调试信息:
Model Loaded.
>
-> _, frame = cap.read()
(Pdb) n
-> frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
(Pdb) list
16 while True:
17 pdb.set_trace()
18 _, frame = cap.read()
19
20
21 -> frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
22
23
24 cascade = cv2.CascadeClassifier(cascade_path)
25
26
(Pdb) n
Segmentation fault
它在调用cv2.cvtColor()时崩溃。帧变量需要(Pdb)frame.size 921600
我甚至使用了cv2.imshow(“color\u image”,frame)
来显示彩色边框及其正确显示。但是,一旦我把它转换成灰度,它就崩溃了
目前我正在使用OpenCV2.4。昨天,相同的代码在OpenCV3.2上正常工作。由于某些原因,我不得不降级opencv库
有什么解决这个问题的建议吗
谢谢。这肯定是与openCv3.2相关的问题。我不能说这是opencv中的错误还是库不匹配。我安装了OpenCV3.0,一切都按照预期运行。在OpenCV2.4中。*您应该使用:
cv2.cvtColor(frame, cv2.cv.CV_BGR2GRAY)
这段代码没有本质上的错误。我猜是降级害死了你。我在OpenCV 3.0中运行了类似的代码,它很好。也许文档中关于2.4的某些内容不可行。