zoukankan      html  css  js  c++  java
  • Clion配置opencv开发环境

    之前尝试用vs写opencv的项目,但是因为各种使用习惯很难改过来,加上vs的快捷键和代码智能提示相当的蛋疼,所以尝试着在clion上配置opencv开发环境。

    以下是详细配置过程:

    预先需要安装的软件:

    clion:这个是jetbrain家出品的C++集成开发环境,如果你用习惯了idea,pycharm,那么上手这个软件,应该也是比较简单的。相比较巨硬家的visual studio而言,个人觉得vs的快捷键着实蛋疼,而且用的确实少,一些窗口设置不太习惯。这个软件安装比较简单,不详细展开

    mingw: opencv需要用到c++编译环境,mingw是比较常用的一个。不过,需要安装支持多线程的版本,即posix版本,如果不用这个版本,在编译的时候会出问题。[下载地址](https://jaist.dl.sourceforge.net/project/mingw-w64/Toolchains targetting Win64/Personal Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z) ,下载好之后,还需要配置环境变量,如下图所示:

    通过在命令行中运行如下命令,查看是否成功安装

    gcc --version
    

    cmake:这个软件的安装也比较简单,也可以不用配置环境变量,因为后期生成Makefile文件也是在gui界面里面生成的。Cmake下载地址 旧版的Cmake可以自定义设置entry开启或者关闭,我下载的是最新的,问题不大。

    编译安装opencv

    1. 下载opencv并解压到一个路径下

    2. 使用cmake-gui生成makefile文件

      下载好后的opencv存放路径和文件目录结构如下

      打开cmake的图形化工具,选择好相应的路径

    然后选择tools菜单,点击configure,这个过程需要持续一定的时间,并且很可能会失败,遇到各种错误,遇到错误之后,不用担心,一个一个错误解决即可,大部分的错误基本上都是文件下载失败错误。这个过程会在GitHub上下载三个文本文件,如果没有配置FQ的话,很有可能会下载失败,我们可以手动下载好这三个文件并存放到相应的目录,即可成功解决。之后继续点击configure。

    这三个下载失败的文件,就是上图中蓝色字体,复制对应的下载路径,手动下载好之后,修改文件名,然后存放到对应的目录中。

    举个例子:

    第一个文件,下载路径是:https://raw.githubusercontent.com/opencv/opencv_3rdparty/629590c3ba09fb0c8eaa9ab858ff13d3a84ca1aa/ffmpeg/opencv_videoio_ffmpeg.dll

    存放的路径是:

    D:/software/opencv_clion/opencv/sources/.cache/ffmpeg/638065d5a0dab8a828879942375dcac4-opencv_videoio_ffmpeg.dll

    文件内容须和指定文件下载链接中的文件内容一致,第三个文件用浏览器打开是直接显示文件内容,如果你选择复制手动创建这个文件,md5校验可能会失败(空格或者其它的字符不匹配等等),文件名,文件存放路径,必须和日志文件完全一样。

    排查好这三个错误,后面继续configure就没有问题了。

    这三个文件,我也提供下载链接:

    ffmpeg_version.cmake)

    opencv_videoio_ffmpeg.dll

    opencv_videoio_ffmpeg_64.dll

    configure结束之后,开始generate,也是点击cmake的tools菜单项,选择generate,生成makefile文件

    然后git bash进入到mingw_build目录下,之后运行以下命令

    mingw32-make -j4
    

    利用mingw进行编译。-j4代表使用四个线程加速编译。可根据自己电脑配置合理选择。 编译时间较长,大约十几分钟左右。此时如果报错可能MinGW版本选择问题。

    结束之后,运行以下命令

    mingw32-make install
    

    配置环境变量,将{opencv_homedir}/opencv/MinGW-build/install/x64/mingw/bin加入环境变量中的path中。

    clion新建项目

    CMakeLists.txt文件内容如下:

    cmake_minimum_required(VERSION 3.20)
    project(learnopencv)
    
    set(CMAKE_CXX_STANDARD 14)
    set(OpenCV_DIR D:\\software\\opencv\\mingw_build\\install)
    find_package(OpenCV REQUIRED)
    include_directories(${OpenCV_INCLUDE_DIRS})
    add_executable(learnopencv main.cpp)
    
    target_link_libraries(learnopencv ${OpenCV_LIBS})
    
    

    main.cpp文件内容如下:

    #include "iostream"
    #include<opencv2/opencv.hpp>
    
    using namespace std;
    using namespace cv;
    
    int main() {
        Mat img = imread("D:\\projects_cpp\\unarchived\\learnopencv\\images\\lena.jpg");
        if (img.empty()) {
            cout << "Error" << endl;
            return -1;
        }
        imshow("Lena", img);
        waitKey();
        return 0;
    }
    

    运行结果如下:

    ok,大功告成

    大家如果配置环境过程中遇到了其他的问题,欢迎评论区留言,我基本上配了三天才完全配好这个环境,可以说踩了很多坑了。我看到了,都会及时回复的。

  • 相关阅读:
    DPDK安装方法 17.12.13
    numa.h:No such file or directory 解决方法
    17秋 软件工程 第六次作业 Beta冲刺 Scrum3
    17秋 软件工程 第六次作业 Beta冲刺 总结博客
    17秋 软件工程 第六次作业 Beta冲刺 Scrum2
    Paper Reviews and Presentations
    17秋 软件工程 第六次作业 Beta冲刺 Scrum1
    17秋 软件工程 第六次作业 Beta冲刺
    error: could not create '/System/Library/Frameworks/Python.framework/Versions/2.7/share': Operation not permitted
    17秋 软件工程 个人作业 软件产品案例分析
  • 原文地址:https://www.cnblogs.com/ericling/p/15586751.html
Copyright © 2011-2022 走看看