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的头文件没有引入进来导致到。引入头文件即可。

posted on 2021-09-24 17:58  飘杨......  阅读(318)  评论(0编辑  收藏  举报