第零步:检查环境
win10、anaconda3 (python 3.7.6)、tensorflow (2.0.0)
第一步:下载安装所需软件
- CMake for Windows (.MSI版本),装上,注意在安装时添加path到系统路径
- Microsoft Visual C++ 2019 (选择"使用C++的桌面开发"、选上"windows 10 SDK(最新)"和"用于windows的C++ CMake工具"),装上
![v2-691fe4014de83a1c9c0f7968b1eae056_180x120.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=fe1bc448-272e-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-691fe4014de83a1c9c0f7968b1eae056_180x120.jpg)
- 下载"opencv 4.2.0" 和 "opencv-contrib 4.2.0",存桌面
![v2-87f6486fc18b173bd58df29516f7f73f_ipico.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=fe1bc448-272e-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-87f6486fc18b173bd58df29516f7f73f_ipico.jpg)
第二步:CMake编译
- 更新一下numpy包,conda update numpy
- 解压第一步下载好的opencv 4.2.0 和 opencv-contrib 4.2.0,在C盘建立如下目录:"C:opencv420_contribbuild"、"C:opencv420_contribsourceopencv_contrib-master"和"C:opencv420_contribsourceopencv-master"。
- 将"opencv 4.2.0"解压出来的文件放入"opencv-master"文件夹下,将"opencv-contrib 4.2.0"解压出来的文件放入"opencv_contrib-master"。
- 打开cmake-gui,"where is the source code"处指定"C:/opencv420_contrib/source/opencv-master","where to build the binaries" 处指定"C:/opencv420_contrib/build",勾选"Grouped",点"Configure"。在蹦出的对话框中选定"Visual Studio 16 2019"和"X64"(64位系统),点击"finish"。
- "OPENCV"处的指定如下:(注:如果未安装CUDA,此处不要勾选"OPENCV-DNN-CUDA")
![v2-566eb93507e81fb2e5fdf6cc76d291ee_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=fe1bc448-272e-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-566eb93507e81fb2e5fdf6cc76d291ee_b.jpg)
- "Python3"处的指定如下:
![v2-c65971b14d9bbf14a63cf4c293ba1b79_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=fe1bc448-272e-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-c65971b14d9bbf14a63cf4c293ba1b79_b.jpg)
- 再次"Configure",之后"Generate"。
第三步:VC2019
- 定位到文件夹"C:opencv420_contribbuild"下,用安装好的VC2019打开"ALL_BUILD.vcxproj"
- 调整"debug"模式为"release"模式,确定为"X64"(64位格式)
- 定位CMaker Targets文件夹下的"ALL-BUILD",右键单击"build"(较耗时)
- 定位"INSTALL",右键单击"build"
- X:Anaconda3Libsite-packages路径下,生成文件夹"cv2"
第四步:检验:
import numpy as npimport cv2 as cv
print(cv.__version__)
img = cv.imread('E:Documentspythonexample21.jpg')
gray= cv.cvtColor(img,cv.COLOR_BGR2GRAY)
sift = cv.xfeatures2d.SIFT_create()
kp = sift.detect(gray,None)
img=cv.drawKeypoints(gray,kp,img,flags=cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv.imwrite('E:Documentspythonexample22.jpg',img)
参考:
(OpenCV-Python) Build OpenCV 4.0.1-dev + contrib + non-free (SIFT,SURF) from sources on Windows 10 64-bit OSdrthitirat.wordpress.com![v2-2584f0a8403e4784ab0672adfe0c821f_ipico.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=fe1bc448-272e-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-2584f0a8403e4784ab0672adfe0c821f_ipico.jpg)