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

我正在尝试在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

OpenCV-检查两个图像是否100%相同的最快方法 - python

这里有很多问题要检查两个图像是否“几乎”相似。我的任务很简单。使用OpenCV,我想确定两个图像是否100%相同。它们的大小相同,但可以使用不同的文件名保存。 参考方案 您可以使用xor运算符之类的逻辑运算符。如果使用的是python,则可以使用以下单行函数: Python def is_similar(image1, image2): return ima…

python opencv-斑点检测或圆形检测 - python

我在检测圆形区域时遇到问题。我使用来自opencv的HoughCircles函数进行了尝试。但是,即使图像非常相似,该功能的参数也必须不同才能检测到卷。我尝试的另一种方法是遍历每个像素,并检查当前像素是否为白色。如果是这种情况,请检查该区域中是否有斑点对象(到斑点中心的距离小于阈值)。如果存在,则将像素附加到斑点,如果没有,则创建一个新的斑点。这也不能正常工…

OpenCV 2.4 VideoCapture在Windows上不起作用 - python

我正在使用Python绑定到通过以下instructions安装的OpenCV 2.4。我的问题类似于this one,但是我需要Windows计算机解决方案。问题:当我尝试使用时cap = cv2.VideoCapture(0) print cap.grab() 它工作正常,但是以下代码cap = cv2.VideoCapture(filename) pr…

定期更新文件的代码 - python

我正在尝试建立一个示例网络,如下所示:我有2个AWS Ubuntu实例(例如A和B)。我在两个实例的主目录中都有一个文件。它们是相同的文件。现在,如果我在A中更新文件,那么它也应该自动在B中更新。您能否让我知道使用Python或Shell进行此操作的方法?PS:此文件仅包含A-Z中的字母,并且仅使用nano编辑器即可创建。请帮帮我。谢谢 参考方案 您是否考虑…

在Ubuntu上安装psycopg2 - python

我正在尝试在Ubuntu 12.04上安装python postgres客户端模块。该指南将执行以下操作:apt-get install python-psycopg2 但是,apt表示无法找到该软件包。我渴望通过apt安装它。这是我可以安装的另一个软件包的一部分吗? 参考方案 使用Ubuntu 12.04似乎对我来说很好:jon@minerva:~$ su…