关于opencv-python模块的两个问题(例如,cv2.imshow)

时间:2017-06-20 18:17:42

标签: python opencv imshow

我使用opencv-python安装pip install opencv-python,而不是从源代码构建。

之前我曾经从源代码构建opencv,但安装过程非常痛苦。 pip安装非常简单,我可以使用它的大部分功能。一个问题是我不能再使用cv2.imshow了(可能是因为它需要OS GUI?)。

cv2.imshow("test",xx)
  

OpenCV错误:未指定错误(该功能未实现。使用Windows,GTK + 2.x或Carbon支持重建库。如果您使用的是Ubuntu或Debian,请安装libgtk2.0-dev和pkg-config,然后重新安装cvShowImage中的-run cmake或configure脚本),文件/io/opencv/modules/highgui/src/window.cpp,第583行

有两个问题:

  • 是否有cv2.imshow的替代方案,它轻巧,简单,适合显示像视频一样的图像帧?

  • 除了imshow之外,如果我只使用pip版本,是否有更多关键功能无法使用?

1 个答案:

答案 0 :(得分:2)

opencv-python软件包不会安装contrib模块,并且不会使用ffmpeg进行编译,因此imshow之类的内容将无法在Linux或Mac上运行,许多其他GUI功能。请参阅official package index docs for opencv-python

您将从源代码中获得更清晰的安装编译OpenCV。这有点痛,但值得IMO;经过几次安装后你会变得更好。学习cmake也很有价值。我确定您已经看到macOSUbuntu的经常链接的pyImageSearch教程。

作为我之前从未见过的另类替代品,Udacity有一个自动驾驶的汽车纳米级课程,他们有open repository on their GitHub for the starter kit。您只需使用conda进行安装(并在此过程中创建conda虚拟环境),它还附带了许多与课程相关的其他库(例如TensorFlow,Matplotlib,Jupyter,...) 。它安装了Python 3.5和OpenCV 3.1.0。它适用于跨平台(包括Windows),并且设置起来轻而易举。说明位于存储库的README.md文件中。

最后,有许多用于图像处理的库或至少GUI界面比OpenCV的有限特征集更好地工作,这从未意味着详尽无遗。您可以尝试的一些是matplotlibPILscikit-image,最后非常轻量级,面向对象很好,而且预装在Python tkinter中。即使使用工作正常界面,您也可能会发现自己想要更多功能,所有这些功能都有不同程度的提供。