在 Windows 10 上为 Python 3.5 - 32 位自定义构建 opencv 3.1 的过程
- 下载Python3.5.2
- 从http://www.lfd.uci.edu/~gohlke/pythonlibs/安装 numpy(至少)、scipy、matplotlib 。对于 Python 3.5 版本,所有库都应该是 32 位版本
- 安装 CMake(推荐 3.4.1 或更高版本)
- 从http://opencv.org/downloads.html下载适用于 windows 的 opencv3.1
- 将其解压缩到要构建库的文件夹中。在这个例子中是 C:\opencv_310
- 解压后,您将获得两个文件夹 - build 和 source。预构建库支持 Python 2.7。我们需要从 Python 3.5 的源代码构建库
- 新建文件夹。在此示例中,它被命名为“build_custom”
- 打开 CMake 并放置源代码的路径 'C:/opencv_310/opencv/sources'
- 放置构建二进制文件的路径'C:/opencv_310/opencv/build_custom'
- 单击配置
- 输入Python3.5的路径
- PYTHON3_EXECUTABLE 'C:/Python35/python.exe'
- PYTHON3_INCLUDE_DIR 'C:/Python35/lib/site-packages/numpy/core/include'
- PYTHON3_LIBRARY 'C:/Python35/libs/python35.lib'
- PYTHON3_NUMPY_INCLUDE_DIRS 'C:/Python35/lib/site-packages/numpy/core/include'
- PYTHON3_PACKAGES_PATH 'C:/Python35/Lib/site-packages'
- 就我而言,我想用 OpenCV 启用 Ximea 相机,所以我勾选了“WITH_XIMEA”
- 取消勾选 BUILD_EXAMPLES、BUILD_PERF_TESTS、BUILD_TESTS
- 单击配置
- 确保勾选了“BUILD_opencv_python3”。再次单击配置。
- 确保配置后没有红线。现在单击生成。
就我而言,我试图通过 OpenCV 启用 Ximea 相机。为此,在使用 VisualStudio 构建解决方案之前,请确保首先将“C:\XIMEA\API\x86\”添加到环境变量中。
- 转到文件夹'C:\opencv_310\opencv\build_custom'
- 单击“OpenCV.sln”并在 Visual Studio 中打开它(我的系统上安装了 VisualStudio 10)
- 在 VisualStudio 中,确保“绑定”部分中有“open_python3”
- 单击构建 -> 构建解决方案。构建所有库需要一些时间。在构建结束时,它应该显示“29 成功,1 失败”
- 成功构建库的数量可能会有所不同。但是对于失败,只有 1 应该在没有找到 python35_d.lib 的地方失败,主要是因为 Python3.5 没有调试模式库。
- 现在从 Debug 更改为 Release 模式,然后单击它旁边的绿色箭头。
- 它将以发布模式构建所有库,这一次它应该说“30 成功,0 失败”
- 现在要更改环境变量。转到“我的电脑->右键单击->属性->高级系统设置->环境变量”
- 在用户变量中,添加 NEW,变量名称 = 'OPENCV_DIR',变量路径 = 'C:\opencv_310\opencv\build_custom'
- 在系统变量中,添加 NEW,变量名称 = 'C:\opencv_310\opencv\build_custom\bin'。点击确定
- 检查环境变量的更改是否已注册。打开命令提示符并输入PATH(检查系统变量)和系统opencv)
- 现在转到文件夹 'C:\opencv_310\opencv\build_custom\lib\python3\Release' 并将 'cv2.cp35-win32.pyd' 复制到 'C:\Python35\Lib\site-packages'
- 现在转到文件夹 'C:\opencv_310\opencv\build_custom\bin\Release' 并将 17 个 DLL 复制到 ''C:\Python35\Lib\site-packages'
- 将“opencv_ffmpeg310.dll”从同一文件夹复制到“C:\Python35”
- 现在转到安装 Python 的目录 - “C:\Python35”。通过输入'python'打开python控制台
- 打开 Python 控制台后,输入“import cv2”。你应该没有错误。
- 输入“打印(cv2.getBuildInformation())”。它将显示 OpenCV 的所有构建属性。
就我而言,我试图通过 OpenCV 启用 Ximea 相机。为此,在使用 VisualStudio 构建解决方案之前,请确保首先将“C:\XIMEA\API\x86\”添加到环境变量中。否则在构建解决方案时会出错 - 找不到“xiApi.h”。
常见错误 1. 确保一切都是 32 位
确保用户变量和系统变量路径正确(这部分花了我很多时间)
确保配置 CMake 时不存在红线
确保 BUILD_opencv_python3 被勾选
确保 'cv2.cp35-win32.pyd' 和所有 17 个 DLL 都复制到正确的位置