windows下编译:opencv451+opencv-contrib451(附测试)

声明

  • 如有侵权请联系删除,如有侵权请联系删除,如有侵权请联系删除
  • 采坑不易-------未经允许请勿转载!!!

前言

本文主要记录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文件的问题解决方案

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值