IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 使用 MinGW 在 Windows 上安装 OpenCV3+ ( Cmake g++ make) -> 正文阅读

[人工智能]使用 MinGW 在 Windows 上安装 OpenCV3+ ( Cmake g++ make)

前言

OpenCV 在 python 中运行非常容易,因为 conda 确实处理了安装二进制文件并将 opencv python 绑定放在 python 路径中。

但是,在 C++ 中运行相同的内容是另一回事。由g++编译器编译的程序的上下文中引入正确的接口(hpp/头文件)和二进制文件(so/dll)。我将向您展示我是如何设置系统的。为了引入“g++”(GNU C++ 编译器),我们将使用 MinGW64。请记住,我们必须使用 64 位变体,因为 Mingw32 在 Windows 中不正确支持 posix 线程。ming64 二进制文件是使用 posix 实现构建的,该实现提供本机 posix,但与在 Windows 本机 API (win32) 上构建的内容相比,在 Windows 上编译时会更慢

先决条件:

  • Windows (10/8/7) 系统
  • Mingw-w64 ,你可以从这里下载直接下载链接
  • OpenCv 3+ ,官方github仓库
  • Cmake ,从这里下载
    编辑器和终端,不管你用什么。如果你愿意,你可以使用记事本😥。

1. 安装配置Mingw-w64

(1) 使用以下设置安装 MinGW-GW64
在这里插入图片描述
确保选择了posix。否则 OpenCV 安装将因无法找到互斥体错误而失败。这是 pthreads 库和规范的一部分。根据您的工作系统,架构可以是 x86(32/64 位机器)或 x86_64(64 位机器)。

(2) 单击下一步配置安装路径并让二进制文件安装。

(3)安装后确保在您的路径中包含MinGW bin文件夹。它应该在basePath/x86_64–8.1.0-posix***/mingw64/bin里面

请添加图片描述
在此之后,只需通过打开终端并键入命令g++ — version来测试安装。如果它说找不到命令。无法获取路径,路径设置不正确,重启终端或机器。
在这里插入图片描述

2. 编译opencv

完成后安装Cmake。打开Cmake并执行以下操作
(1)选择源代码路径和build二进制文件路径。确保它们是分开的。
在这里插入图片描述
(2)完成后点击配置。将出现一个对话框,选择 MinGW Makefiles。这将确保 OpenCV 的新 makefile 与 mingw 兼容。
在这里插入图片描述
(3)单击完成。让它产生一些东西。在这个阶段,应该有一些选项列表可以勾选。我不需要特别注意任何这些选项。所以继续点击生成。匹配下面的输出,它应该说“配置完成”和“生成完成”
在这里插入图片描述

在这里插入图片描述
(4) 编译生成可执行文件
找到build的文件夹,本示例中C:\Program Files\opencv\build_yy,在此文件夹中打开终端。点击命令“mingw32-make install”并祈祷它成功构建。
在这里插入图片描述
在这里插入图片描述
此时,在build文件夹中生成了install文件夹,可以将这个文件夹放置在任意路径配置环境变量,C:\Program Files\opencv\build_yy\install\x64\mingw\bin必须包含在环境变量中。

3. 编写程序,生成可执行文件

#include "opencv2/highgui/highgui.hpp"
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char argv)
{

    string location = "C:\\Users\\yuyang2\\Pictures\\yy.jpg" ;

    Mat im = cv::imread(location ,1 );
    if (im.empty())
    {
        cout << "Cannot open image!" << endl;
        return -1;
    }

    std::cout << im.size;

    return 0;
}

3.1 g++ 生成

yuyang2@CN0214005415W MINGW64 /c/yuyang2/桌面/test
$ g++ -I"C:\Program Files\opencv\build_yy\install\include" -L"C:\Program Files\opencv\build_yy\install\x64\mingw\lib" -L"C:\Program Files\opencv\build_yy\install\x64\mingw\bin"  opencvtry.cpp -lopencv_core453 -lopencv_highgui453 -lopencv_imgproc453 -lopencv_imgcodecs453 -o app

执行结果:
在这里插入图片描述

3.2 cmake make 生成

预备:
在minggw-64的安装文件bin目录中,将mingw32-make.exe 复制一份重命名为make.exe,保存在当前文件夹。(为了直接使用make,不用mingw32-make,命令简洁)
目录结构:

在这里插入图片描述
test.cpp

#include <iostream>
using namespace std;

int main() {
	cout << "hello word cmake!!!" << endl;

	return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.0) 
project(test) 
set(SOURCE test.cpp) 
add_executable(${PROJECT_NAME} ${SOURCE}) 

执行过程

D:\helllo\build>cmake -G "Unix Makefiles" ../src
-- Configuring done
-- Generating done
-- Build files have been written to: D:/helllo/build

D:\helllo\build>make
[ 50%] Building CXX object CMakeFiles/test.dir/test.cpp.obj
[100%] Linking CXX executable test.exe
[100%] Built target test

D:\helllo\build>test.exe
hello word cmake!!!
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-17 15:24:00  更:2021-08-17 15:25:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 20:19:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码