• Opencv4.0+cmake3.13.3+vs2017源码编译


     opencv作为开源的图像算法库,

    1.它已经支持常见的图像算法操作,例如图像的分割,边缘检测,滤波,特征分析等等,此外opencv在目标跟踪。识别。三维重建,以及结构光方面以及很强大,

    2.OpenCv 从V3.3版本开始支持调用深度学习模型,例如Caffe, Tensorflow, darknet等.详细见下图,具体的使用方法,可以参考官网:https://docs.opencv.org/4.0.0/d6/d0f/group__dnn.html,即支持对于dnn模块的调用

    3.opencv的所有算法的代码都是开源的,而且经过开源的项目开发者的项目验证的,从中可以学习opencv的算法具体的实现方式以及开源的架构方式。

    基于以上几点,我觉得从源码开始编译opencv4.0很有必要

    编译前准备

    cmake 链接:https://pan.baidu.com/s/1Rydy-QtcCFaEKJqJMBZf6A 提取码:97qw   编译源码

    opencv4.0链接:https://pan.baidu.com/s/1iKTCnz75vI-T5x29CNgemg 提取码:clqp  

    Qt  5.6.3  链接:https://pan.baidu.com/s/1xf8RbnzDhZoLsLegrs5cFA 提取码:10qs    由于opencv4.0在窗口显示方面加入了Qt的支持

    Opengl的安装(这里没有通过cmake 编译对应的链接)

     1/Qt5.63的安装

           (1)点击安装Qt,.注意安装完成后将qt的bin路径添加到系统的路径

           (2)在vs2017中下载qt tool插件,并将对应的的bin路径add至其实际所在的路径

        (3)创建新的工程,在c++目录下创建对应的Qt gui 的aplication 编译运行,生成对应的窗体,说明ok  

    2.cmake设置

          点击configure第一次,注意勾选

         (1) 注意勾选opencv_world,400,这样对应的生成的链接库只需要选择opencv_world400d.lll即可,这个库会对应的调用其他的库,不需要一个个增加

           (2)  注意勾选的with qt,并将对应的链接库替换为Qt实际安装路径所在的,这边开始安装默认找到anaconda路径下的Qt,该路径是无效的,后来修改了。

           (3) python 支持也勾选上

           点击configure第二次,如果对应的红色全部消失,说明编译已经ok

           点击generate 生成对应的opencv源码项目

    3.opencv的安装

         (1)进入该opencv源码的项目之后,点击all built,编译所有的opencv 模块

         (2)如果编译有报错,则查看cmake配置方面是否村咋爱问题,如果没有,则继续进行install操作

        install 操作会将所有的dll,lib,以及include文件放置install文件夹内

    4.opencv测试

       (1)通过属性页,配置对应的路径,下次配置只需要增加该属性页即可

        (2)通过代码加载图像显示,Qt控件对窗口显示的美化还是不错

    #include <opencv2/opencv.hpp>
    #include <iostream>
    
    using namespace cv;
    using namespace std;
    
    int main(int artc, char** argv) {
    
        Mat src = imread("D:\Code\opencv_cxx\opencv_application\images\95728.jpg", IMREAD_GRAYSCALE);
        if (src.empty()) {
            printf("could not load image...
    ");
            return -1;
        }
        namedWindow("input", WINDOW_AUTOSIZE);
        imshow("input", src);
    
        waitKey(10000);
        return 0;
    }

     

     

     

  • 相关阅读:
    代码301的弊端和处理方法
    seo如何发外链
    seo工程师是什么,需要什么技能?
    优化一个关键词到百度首页需要多少钱
    搜索引擎优化顾问机构好不好
    谷歌分析(GA)新版的有哪些改变
    什么是相关性链接/网站相关性
    JS的部分部分疑问和小结
    Groovy学习:第一章 用Groovy简化Java代码
    SpringMVC学习(8):国际化
  • 原文地址:https://www.cnblogs.com/codeAndlearn/p/11510358.html
Copyright © 2020-2023  润新知