文章目录
声明
- 如有侵权请联系删除,如有侵权请联系删除,如有侵权请联系删除
- 采坑不易-------未经允许请勿转载!!!
前言
本文主要记录windows 下 opencv451+opencv_contrib 的编译过程,防止遗忘,编译前准备如下:
- windows
- opencv451
- opencv_contrib451
- cmake3.23(cmake安装)
- vs2019
问题放在前面避免采坑
- 问题一:找不到:boostdesc_bgm.i: No such file or directory
解决方案:在sln工程目录下有CMakeDownloadLog.txt文件查看下载boostdesc_bgm.i文件失败,解决方案是下载好以下文件:将.i文件放到modules/xfeatures2d/src/ 路径下;
该解决方案引用:安装OpenCV时提示缺少boostdesc_bgm.i文件的问题解决方案
-
问题二:增加.i 文件后cmake 无法generate,如下报错
解决方案:将cmake 下的ade 取消打勾;如何避开No SOURCES given to target:ade -
问题三:TEST 工程报错
取消test选项 -
问题四:“CV_LOAD_IMAGE_COLOR”: 未声明的标识符
添加头文件:#include “opencv2/imgcodecs/legacy/constants_c.h”
一、源码下载
opencv_contrib451下载
opencv451下载
二、编译opencv451
2.1.cmake路径配置
- 其中opencv451_build 文件夹自己创建,用来放生成的opencv的vs工程
- configure 自己根据需要选择配置
2.2.cmake的配置
- BUILD_opencv_world:选中
- CMAKE_INSTALL_PREFIX:输入生成库文件的路径(自选)
- OPENCV_EXTRA_MODULES_PATH:输入opencv_contrib451源文件里面的modules(包含modules文件夹)文件夹路径
- OPENCV_ENABLE_NONFREE:勾选
最后点击generate 可以看到opencv451_build 产生了opencv的vs工程"*.sln"
2.3.编译opencv451
- 采用vs2019 打开openCV.sln(opencv451_build 路径下)
1.分别在release(x64)和debug(x64)下生成代码:生成-》生成解决方案
2.分别在release(x64)和debug(x64)下生成CmakeTargets目录下的INSTALL工程
最终生成lib和dll文件都在“opencv.sln”工程目录下的install文件夹(输出库目录可在cmake时修改)
备注:生成opencv时候出现了一系列问题,解决方案均放在本文开头,防止反复采坑
三、测试代码
参考文章:https://blog.csdn.net/ezhchai/article/details/80557936
测试代码由于版本问题,编译无法通过,因此略作修改!!!
#include "opencv2/opencv.hpp"
#include"opencv2/xfeatures2d.hpp"
#include "opencv2/imgcodecs/legacy/constants_c.h"
#include <opencv2/features2d/features2d.hpp>
using namespace cv;
using namespace std;
int main() {
Mat img = imread("E:\\3Dparty\\opencv451_opencv451Contrib\\testOpenCV\\testOpenCV\\house.jpg", CV_LOAD_IMAGE_COLOR);
Ptr<Feature2D> sift = SIFT::create();
vector<KeyPoint> keypoints;
Mat descriptors;
sift->detectAndCompute(img, noArray(), keypoints, descriptors);
drawKeypoints(img, keypoints, descriptors, Scalar(0, 255, 255));
imshow("Result", descriptors);
waitKey(0);
return 0;
}
四、附上编译好的opencv451
1.编译好的opencv库下载:(懒人必备);
2.内心独白:我也需要c币去下载别人的文章,大家别怪我;
3.建议自己完成编译(自己动手丰衣足食)
总结
本文主要记录window下编译opencv,编译过程中遇到不少问题,解决方案均展示出来(对应有查找资料的链接)。本着尊重原创的原则下,给出参考文献。
参考文献
opencv 编译
如何避开No SOURCES given to target:ade
安装OpenCV时提示缺少boostdesc_bgm.i文件的问题解决方案