在进行描述子检测中会用到SIFT算法,所以会需要使用OpenCV-contrib
文章目录
- 配置过程
- 部分错误及其对应解决方法
CMake的下载:
https://cmake.org/download/.
OpenCV_contrib下载:
https://github.com/opencv/opencv_contrib/releases.
CMake编译阶段:
在Where is the source code 这栏中选择你OpenCV基础库解压的位置,并选择sources文件夹。
在Where to build the binaries这栏中选择你最终需要将OpenCV-contirb库解压的地方。
然后点击Configure。会弹出如下图所示的提示框:
选择2017 以及便宜环境X64
完成后,在OPENCV_EXTRA_MODULES_PATH 这栏中选择你下载opencv_contrib-4.1.2.zip后,解压的目的文件中modules的文件夹路径:
然后点击Generate
这之后就不需要使用CMake,可以关闭了。然后打开你之前选择的输出地址打开Opencv.sln
项目打开后,选择生成->重新生成解决方案
完成以后,看右侧,解决方案资源管理器,右键INSTALL
这之后就可以关闭这个项目了,并且打开系统属性,设置环境变量
完成以后,打一个新的项目,并且选择属性管理器界面,右键红框中的条目,然后选择属性
弹出如下界面后
包含目录选择: 最开始输出目录下/install/include
库目录选择: 最开始输出目录下/install/x64/vc15/lib
然后点击链接器,选择输入
依赖附加项如下
opencv_aruco412d.lib
opencv_bgsegm412d.lib
opencv_bioinspired412d.lib
opencv_calib3d412d.lib
opencv_ccalib412d.lib
opencv_core412d.lib
opencv_datasets412d.lib
opencv_dnn412d.lib
opencv_dnn_objdetect412d.lib
opencv_dpm412d.lib
opencv_face412d.lib
opencv_features2d412d.lib
opencv_flann412d.lib
opencv_fuzzy412d.lib
opencv_gapi412d.lib
opencv_hfs412d.lib
opencv_highgui412d.lib
opencv_imgcodecs412d.lib
opencv_imgproc412d.lib
opencv_img_hash412d.lib
opencv_line_descriptor412d.lib
opencv_ml412d.lib
opencv_objdetect412d.lib
opencv_optflow412d.lib
opencv_phase_unwrapping412d.lib
opencv_photo412d.lib
opencv_plot412d.lib
opencv_reg412d.lib
opencv_rgbd412d.lib
opencv_saliency412d.lib
opencv_shape412d.lib
opencv_stereo412d.lib
opencv_stitching412d.lib
opencv_structured_light412d.lib
opencv_superres412d.lib
opencv_surface_matching412d.lib
opencv_text412d.lib
opencv_tracking412d.lib
opencv_video412d.lib
opencv_videoio412d.lib
opencv_videostab412d.lib
opencv_xfeatures2d412d.lib
opencv_ximgproc412d.lib
opencv_xobjdetect412d.lib
opencv_xphoto412d.lib
部分错误及应对方法
在使用CMake编译时 ,部分文件会下载不下来,有两种方法:第一种,再次重新点击Configure。第二种,打开输出目录下的 CMakeDownloadLog.txt 文件。根据他给出的地址再通过其他方法下载。
现在完成后 ,将下载完成的文件改成:MD5验证码-文件原始名的格式,其中MD5验证码再这个文本文件中也给出了
重命名以后放入你最开始输入地址中的.cache文件夹中,之后的地址也会再这个txt文件中给出,如下图所示
不同的文件有不同的地址,和MD5验证码,需要根据自己的 CMakeDownloadLog.txt 文件来进行更改该。
在之后的使用中可能会遇到专利占用报错:
== SIFT使用中出现版权问题error: (-213:The function/feature is not implemented),win7 32位 安装opencv-python后,运行时提示 “from .cv2 import *: DLL load failed: 找不到指定的模块” ==
这里需要在最开始的CMake步骤中选择 OPENCV_ENABLE_NONFREE 后面打勾。就不会再报错了。