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
1 | undefined reference to `std::allocator< char >::~allocator()' |
引起此bug的原因是因为iostream的头文件没有引入进来导致到。引入头文件即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
2020-09-24 Android可以打开微信支付,但是没法调起小程序支付
2013-09-24 Android String.xml中的符号总结
2013-09-24 Android使用正则表达式验证手机号
2013-09-24 Android 使用正则表达式验证邮箱格式是否正确
2013-09-24 Android 使用正则表达式验证身份证号是否符合规则
2012-09-24 Java OR Android
2012-09-24 Android中关于Activity单一实例的解释