我使用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
版本,是否有更多关键功能无法使用?
答案 0 :(得分:2)
opencv-python
软件包不会安装contrib
模块,并且不会使用ffmpeg
进行编译,因此imshow
之类的内容将无法在Linux或Mac上运行,许多其他GUI功能。请参阅official package index docs for opencv-python
。
您将从源代码中获得更清晰的安装编译OpenCV。这有点痛,但值得IMO;经过几次安装后你会变得更好。学习cmake
也很有价值。我确定您已经看到macOS和Ubuntu的经常链接的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的有限特征集更好地工作,这从未意味着详尽无遗。您可以尝试的一些是matplotlib
,PIL
,scikit-image
,最后非常轻量级,面向对象很好,而且预装在Python tkinter
中。即使使用工作正常界面,您也可能会发现自己想要更多功能,所有这些功能都有不同程度的提供。