pyOpenCv无法在树莓派上运行

时间:2018-07-15 22:01:49

标签: python opencv raspberry-pi

我使用here中的预编译二进制文件在树莓派上安装了pyOpenCV。它似乎根本不起作用。我写了这个小脚本进行测试:

import cv2

webcam = cv2.VideoCapture(0)
if not webcam.isOpened():
    print('VideoCapture failed')
    exit()

while True:
    frame = webcam.read()[1]
    cv2.imshow("Test", frame)
    key = cv2.waitKey(1) & 0xFF
    if key == ord("q"):
        break     
webcam.stop()
cv2.destroyAllWindows() 

它崩溃并显示消息

  

OpenCV错误:未指定错误(该功能未实现。   在Windows,GTK + 2.x或Carbon支持下重建库。如果你   在Ubuntu或Debian上,安装libgtk2.0-dev和pkg-config,然后   重新运行cmake或配置脚本)在cvShowImage文件中   /home/yyoo/src/opencv-3.3.0/modules/highgui/src/window.cpp,第605行   回溯(最近一次通话):文件“ test.py”,第10行,在          cv2.imshow(“测试”,框架)cv2.error:/home/yyoo/src/opencv-3.3.0/modules/highgui/src/window.cpp:605:错误:   (-2)该功能未实现。重建图书馆   Windows,GTK + 2.x或Carbon支持。如果您使用的是Ubuntu或Debian,   安装libgtk2.0-dev和pkg-config,然后重新运行cmake或配置   函数cvShowImage中的脚本

由于我最初不是从源代码构建代码,所以我不知道该怎么做。我认为我应该从头开始,从源头开始。我有两个与此有关的问题。首先,在执行此操作之前,我需要删除任何内容吗?其次,在哪里可以找到指导?我正在运行Stretch和python 3.5,并且正计划使用USB网络摄像头。我尝试按照pyImageSearch上的说明进行操作,但是它使用的是虚拟环境,由于某种原因,它对我不起作用。我打算仅将pi用于一个应用程序,因此虚拟环境对我而言并不重要,我会尽快跳过它。

this site上看来,我要做的就是输入

sudo apt-get install python-opencv

这让我想知道为什么其他网站谈论下载openCV源代码并运行make。我真的很困惑,不胜感激。

1 个答案:

答案 0 :(得分:1)

从头开始构建OpenCV使您可以更好地控制模块的选择,例如CUDA版本或要使用的BLAS库。

我相信

在Raspberry Pi上构建OpenCV可能很麻烦而且很慢。因此,我建议尝试通过sudo apt-get install python-opencvpip之类的渠道尝试预编译的软件包。您可以对其进行快速测试,即使它们不起作用也很容易将其删除。

如果您真的想从头开始构建,那么您提到的网站应该可以正常工作。如果您不希望使用虚拟环境,则只需跳过涉及虚拟环境的所有步骤。在虚拟环境中运行的安装命令也应在其外部工作。