• Win10+MinGW+OpenCV实现命令行编译


    一、概述

      目的:

        做一些轻量级的测试的时候就不用打开开发环境了。opencv和MinGW的安装步骤不做介绍,主要记录一下手动编译的过程当做备忘录。

    二、实际代码及测试效果

      1.简单代码如下,对一张图片做腐蚀操作,展示原图和腐蚀后的图片

    #include <opencv2/highgui/highgui.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    #include <opencv2/imgcodecs/imgcodecs.hpp>
    #include <iostream>
    using namespace std;
    using namespace cv;//opencv命名空间
    
    int main(){
        Mat srcImage = imread("girl.jpg");
        imshow("org",srcImage);
        //进行腐蚀操作
        Mat element= getStructuringElement(MORPH_RECT,Size(15,15));
        Mat dstImage;
        erode(srcImage,dstImage,element);
        //显示图片
        imshow("dst",dstImage);
        waitKey(0);
        return 0;
    
    }

      2.展示图片:左边为原图,右边为腐蚀过的图片

      

       3.具体的编译命令如下: 

     g++ -g -o test opencv_test.cpp -I/opencv include文件夹绝对路径/include -L/opencv bin目录绝对路径/bin -llibopencv_core452 -llibopencv_highgui452 -llibopencv_imgproc452 -llibopencv_imgcodecs452

     ps:

      1.g++ -g -o 编译命令 test代表编译后的exe文件的名称 opencv_test.cpp代表被编译的源文件 如果有多个就用空格隔开

      2.-I/opencv include文件夹绝对路径/include opencv头文件路径,比如我的电脑的为:-I/d/电脑名/tony/tool/opencv4.5.2/mbuild/install/include

      3.-L/opencv bin目录绝对路径/bin -llibopencv_core452 -llibopencv_highgui452 -llibopencv_imgproc452 -llibopencv_imgcodecs452 要链接的库,如我的电脑的为:

      -L/d/电脑名/tony/tool/opencv4.5.2/mbuild/install/x64/mingw/bin -llibopencv_core452 -llibopencv_highgui452 -llibopencv_imgproc452 -llibopencv_imgcodecs452  

      4.编译好之后就是一个test.exe文件

      5../test.exe直接运行exe文件即可

      此处由于我没有配置opencv的环境变量,所以比较啰嗦,配置完之后其实还是挺简洁的。

    三、测试过程中遇到的bug

      1.遇到的bug

    undefined reference to `std::allocator<char>::~allocator()'
    

      引起此bug的原因是因为iostream的头文件没有引入进来导致到。引入头文件即可。

  • 相关阅读:
    多校第四场
    codechef 两题
    Topcoder 多校T-shirt场
    状态压缩DP
    LUCAS 定理
    HDU 1104 Remainder
    HDU4542 小明系列故事——未知剩余系
    Codeforces Round #256 (Div. 2)
    Codeforces Round #FF (Div. 2)
    2016年川师大软件工程学生博客打分
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/15331544.html
Copyright © 2020-2023  润新知