Opencv344在VS2015环境的重编译,扩展模块

   最近学习Opencv,然后需要扩展模块,就需要重新编译Opencv344,个人的习惯,不喜欢最新的版本,就用了Opencv344这个版本吧。

    重新编译Opencv344分为几个步骤。

     1、首先下载对应的软件

     2、将下好的软件重新编译

     3、配置环境

OK,开始下载软件了

     First   首先下载 Opencv344 官方地址:https://opencv.org/opencv-4-0-0.html      

      顺便将源码一起下载下来,Sources

      去github上下载opencv344的扩展模块 地址:https://github.com/opencv/opencv_contrib/releases 

       下载 CMake-gui   https://cmake.org/download/         下载 .msi  的版本

        参考 cmake-gui 自带的编译方法
    

ok, 该下的东西都下完了。路径不要有中文路径,不要乱丢

Second,  重新编译

     1、CMake-gui 安装 打开CMake,  选择source code:  和 build the binaries 的目录(一般在源opencv下新建一个rebuild)  然后点击 Configuration ,会出现版本选择框,强调一下,踩坑一天的经验啊(当前你的电脑的VS是什么版本,你就只可以选择什么版本,不能说在本机VS2015环境下CMAKE VS2013的环境,会报MSBuild.exe的错)。 选择自己电脑对应的VS的版本然后,  一共点击两次(第一次编译之后全是红的,再来一次)  ,等待之后找到 opencv下的 extra modules (search extra 就有了) 然后将opencv_contrib 下的 modules 路径包含进去(不要复制路径,点击后的找到路径,想知道为什么就去直接去百度  /  \  的区别),但是会出现另外一个问题可能低版本的opencv没有,这是我实际项目中出现的,以前都是310没有在意(This algorithm is patented and is excluded in this configuration; 专利已经被注册),继续search OPENCV_ENABLE_NONFREE,打钩,然后点击 generate

     2、在rebuild目录下(生成好的)下找到 opencv.sln  用VS2015打开 然后点击 CMakeTargets  ALL_BUILD 右击生成   最后成功 138 个
    当然了,现在还没有结束,因为找不到install 这个文件夹   so  ALL_BUILD下面继续有一个 INSTALL ,右击生成,然后就可以配置环境了

   开始重新配置环境:我是配置了310 后重新编译 344 版本的  两者没关系    310 的不要看  都是一样的  可能截图还有 310的东西,自动忽略

 找到视图  属性管理器 

    VC++目录  包含目录

                      库目录

    链接器

   读出链接器中所有的文件,我是在 Intellijea 下的 Java写我的    /**
     * @param: dir  rebulid 目录下的 install/x64/vc14/lib 的目录
     * @Function: 读取文件从指定饿的目录下面
     * @Return:
     */
    private static void ReadFileFromDir(String dir) {
        int i = 0;
        File file = new File(dir);
        if (file.isDirectory()) {
            System.out.println("是目录可以读取");
            File[] files = file.listFiles();
            for (File f : files) {
                if (f.getName().endsWith(".lib")) {
                    i++;
                    System.out.println(f.getName());
                }
            }
        } else
            System.out.println("Error");
        System.out.println("一共 " + i + " 个");
    }   读出所有的 .lib 文件

  最后环境变量:  找到rebuild  install  x64 vc14  bin  添加到环境变量中去

@attention: CMake和 添加 opencv的环境变量后  电脑都需要重启 ,不然和没有添加报一样的错误

 

看看自己有没有成功:  新建 win32 控制台项目 空项目 添加 include<> 对的文件 ,建立命名空间

int main(int argc,char** argv){
 Mat src =imread("test.jpg");
 if(src.empty()){
    std::cout<<"Error!!!";
  }
 namedShow("src");
 imshow("src",src):
 
 waitKey(0);
 return 0:
}

本人最自己编译好的 vs2015+opencv344 扩展模块和

                                  vs2013+opencv330扩展模块     需要的在下方留言

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值