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

  • 相关阅读:
    python模块之linecache
    如何在cmd命令下运行python脚本
    Git remote: ERROR: missing Change-Id in commit message
    Git命令git update-index --assume-unchanged,忽略不想提交的文件(忽略跟踪)
    Git命令cherry-pick,选择把一部分代码提交到另一个分支
    Redis可以用来做什么?(摘自http://www.lianpenglin.cc廉鹏林博客)
    Yii笔记:打印sql、Form表单、时间插件、Mysql的 FIND_IN_SET函数使用、是否是post/ajax请求
    Yii1使用Gii生成模块实现CURD
    通过经纬度获取所属城市信息-php
    树莓派进阶之路 (010)
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/15331544.html
Copyright © 2020-2023  润新知