gpt4 book ai didi

python - Ubuntu OpenCV:加载视频文件时程序崩溃

转载 作者:行者123 更新时间:2023-12-03 17:06:45 25 4
gpt4 key购买 nike

我正在尝试在python中使用opencv加载视频文件。程序崩溃并返回:

$ python bg_reduction.py
分段故障(核心已转储)

经过几个小时的论坛讨论后,我开始意识到问题可能出在我的opencv构建上。我是一个程序员和Linux新手,所以无论如何我发现的大部分事情都困扰着我。

这是我程序的要点-在从网络摄像头流式传输视频时有效,从文件加载时失败。

cap = cv2.VideoCapture('SuccessPrint.mp4')                                                               
fgbg = cv2.createBackgroundSubtractorMOG2()

while (cap.isOpened()):
try:
ret, frame = cap.read()
except cv2.error:
cap.release()
cv2.destroyAllWindows()

k = cv2.waitKey(30) & 0xFF
if k == 27:
break

cap.release()
cv2.destroyAllWindows()

这是从以下位置返回的编解码器信息:
$ffmpeg -i SuccessPrint.mp4

Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 557 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)

最后是核心信息:
$gdb bg_reduction.py core

返回(我已删除路径):
    /bg_reduction2.py": not in executable format: File format not recognized
[New LWP 12398]
[New LWP 12401]
[New LWP 12399]
[New LWP 12400]
Core was generated by `python bg_reduction2.py'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fe3c7364fd1 in ?? ()
[Current thread is 1 (LWP 12398)]
(gdb)

任何建议都是不可思议的。提前致谢!

最佳答案

更新:已解决

问题是最初的构建:

linux/videodev.h not found 

不得不运行这些代码:
sudo apt-get install libv4l-dev
cd /usr/include/linux
sudo ln -s ../libv4l1-videodev.h videodev.h

关于python - Ubuntu OpenCV:加载视频文件时程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48352405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com