当前位置: 首页 > news >正文

利用MinGW编译OpenCV源码

目录

1 简介

2 准备工作

2.1 OpenCV下载

2.2 CMake下载

2.3 MinGW下载

 3 利用 Mingw 编译 OpenCV 源码

4 总结


1 简介

在进行图像处理和计算机视觉相关开发时,OpenCV 是最常用的开源库之一。然而,OpenCV 官方默认仅提供了基于 MSVC(Microsoft Visual C++)编译的预编译版本,这对于习惯使用 MinGW(Minimalist GNU for Windows)或在 CLion 等跨平台 IDE 中进行开发的用户来说并不友好。为了在 MinGW 环境下顺利使用 OpenCV,我们通常需要自行从源码编译。本文将介绍如何使用 MinGW 工具链编译 OpenCV 源码,并配置一个适用于 MinGW 的 OpenCV 开发环境。

2 准备工作

2.1 OpenCV下载

这里可以看一下我以前发过的一篇博客OpenCV下载与配置(vistual studio 2022)_opencv库下载-CSDN博客

官网地址:OpenCV - Open Computer Vision Library

2.2 CMake下载

选择合适的版本在官网下载

官网地址:Download CMake

下载完成后解压缩到指定目录即可,等下需要用到。

2.3 MinGW下载

下载地址:MinGW Distro - nuwen.net

点击下载,下载完成后安装到指定位置即可,等下需要用他来编译opencv。

 3 利用 Mingw 编译 OpenCV 源码

opencv 默认只提供了 msvc 编译的版本,在 build 目录下,源码文件在 sources。因此接下来,我们需要使用 mingw 来编译 opencv,首先在 opencv 的解压目录下新建一个文件夹 mingw,用来存放编译生成的文件。

然后打开D:\CMake\cmake-4.0.0-rc2-windows-x86_64\bin(这里的目录是下载cmake时我们选择的目录)目录下的 cmake-gui.exe,在 Where is the source code: 选择 opencv 下的 sources文件夹,而 Where to build the binaries: 选择前面创建好的 mingw文件夹 

然后点击左下角的 Configure,在 Specify the generator for this project 中选择 MinGW Makefiles

 然后点击Configure进行编译,在下载时速度较慢或者可能会失败,跟网速相关多试几次或者更换网络。

Configure 完成后,再点击右侧的 Generate

 Generate 完成后,进入到 mingw 文件夹路径,打开cmd终端工具,执行命令 mingw32-make.exe 开始编译(在编译过程中可能会遇到一些警告,可以直接忽略)

 

然后执行安装,mingw32-make.exe install

可以看到,相关的文件都被拷贝到了 mingw\install 目录下,然后将目录D:\OpenCV\opencv\mingw\install\x64\mingw\bin 加入到系统环境变量中,到这里我们的编译基本完成了,已经可以调用 OpenCV 库了。

4 总结

通过本文的讲解,我们成功实现了在 MinGW 环境下从源码编译 OpenCV 的全过程,解决了官方仅提供 MSVC 编译版本带来的兼容性问题。这种方式不仅适用于希望在 CLion 等跨平台 IDE 中使用 OpenCV 的开发者,也为追求更高自由度和可定制性的用户提供了灵活的构建方案。虽然过程中可能会遇到配置和网络相关的小问题,但一旦成功编译并安装,便可以在 MinGW 环境下无缝地使用 OpenCV 进行开发。

相关文章:

  • 这几天的大风,咋回事呢?还有软件开发防护
  • instructor库实现batch 请求
  • 基础数学:图论与信息论
  • 前端性能测试工具 —— WebPageTest
  • AI——使用pandas
  • 深入解析嵌入模型Embedding :从理论到实践的全方位指南
  • 微服务的服务调用详解以及常见解决方案对比
  • 软件测试——测试概念
  • CCLK IE转EtherCAT凭借网关模块实现三菱PLC与汇川伺服精准通讯的实用案例​
  • 107.二叉树的层序遍历II- 力扣(LeetCode)
  • opencv(C++)用直方图统计像素
  • 动态多目标优化:基于可学习预测的动态多目标进化算法(DIP-DMOEA)求解CEC2018(DF1-DF14),提供MATLAB代码
  • pair与tuple
  • 缓存与数据库一致性:从问题到解决方案全解析
  • 04-微服务 面试题-mk
  • 斐波那契数列 (Fibonacci Sequence) C++
  • 0.DockerCE起步之Linux相关【完善中】
  • 提示词 (Prompt)
  • 树上搜索 第32次CCF-CSP计算机软件能力认证
  • 激光院董事长龚赤坤到北京研发中心检查指导工作
  • 建站套餐/小熊代刷推广网站
  • 建网站的系统/武汉百度推广外包
  • 做淘客的网站名称/谷歌排名查询
  • 台州企业网站排名优化/百度上怎么做推广
  • wordpress仿站流程/什么是sem和seo
  • 做户外的网站/厦门seo公司