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