【发布时间】:2016-03-15 22:11:18
【问题描述】:
今天尝试在Python下开始使用OpenCV,虽然我对前者没有经验,对后者的经验也很少。由于我没有经验,所以我遵循了一种安装方法,如下所述。现在我想弄清楚是否需要从源代码安装。
首先使用 Python 2.7 下载和安装 Anaconda。
下载适用于 Windows 的 OpenCV 3.1.0 并将 cv2.pyd 文件移至 C:\Anaconda2\Lib\site-packages。我相信这意味着我安装了一个二进制文件而不是从源代码。此时没有修改任何路径名或环境变量。
使用 Anaconda Launcher 启动 Spyder。 import cv2 在 Spyder 控制台中运行,没有任何抱怨。 print cv2.__version__ 返回了3.1.0,我将其解释为安装成功。
当我试图做某事时,麻烦就开始了。 cv2.imread 正在返回一个 None 值。对此的明显解释是我提供了错误的文件名,但我认为不是这样。我运行os.listdir('.') 然后cv2.imread() 以消除这种可能性。更险恶的解释是我混合了 Debug 和 Release 库(见这个线程OpenCV imread(filename) fails in debug mode when using release libraries)。
我的问题是:如何检查发布/调试冲突是否确实导致了问题?我看到一些建议引用更改 CMake 参数和重建,但由于我只是将二进制文件放入文件夹中,这与我安装 OpenCV 的方式无关。这让我回到了我开始的问题:我是否需要放弃二进制文件并从源代码重新安装?这对我来说是一个令人生畏的前景。我跑了cv2.getBuildInformation(),它在我的控制台上转储了一堆文本,但我不知道它是什么意思。它似乎同时引用了 Release 和 Debug 模式。
编辑:我正在运行 64 位 Windows 7 Pro
【问题讨论】: