OpenCV4环境配置

news2024/12/25 13:48:35

0.安装mingw64

官网链接:mingw

  1. 安装红框标记下载免安装版本,解压可用。
    image-20230809214627758
  2. 将解压后的mingw64\bin添加到path环境变量
  3. cmd中输入gcc -v,出现下图所示即配置成功

image-20230809214807503

1.下载OpenCV源码

源码下载

官网:Releases - OpenCV

image-20230808164909641

运行下载好的exe文件,指定一下源码的存放路径

下载好的源码如下图所示

image-20230808165216872

扩展文件下载

下载官网:Tags · opencv/opencv_contrib (github.com)

下载后解压放到OpenCV路径下

image-20230809230948205

2.安装CMAKE

已经编译好的OpenCV源码:https://pan.baidu.com/s/1NF5PElfjJT49pnpqgQy3zg?pwd=ksz0

如果使用我编译好的,直接跳到4.5,去配置环境变量,然后进入clion进行测试

使用的是mingw-build文件夹,可以删除除VS-build文件夹

VS-build文件夹是使用VS进行build的,那个如果不使用可以删掉(VS-build),vsbuild的文件有十几个G

官网:Download | CMake

image-20230808170430046

运行安装文件,中间需要勾选添加环境变量

image-20230808170627223

更改安装路径

image-20230808170701742

3.ckame编译OpenCV

  1. 在OpenCV源码路径下新建一个 mingw-build文件夹
  2. 将build/bin目录下opencv_videoio_ffmpeg470_64.dll文件拷贝至sources/3rdparty/ffmpeg目录下
  3. 打卡cmake,如下图所示,选择文件路径

image-20230808171506788

  1. 点击configure,在弹出的窗口中选择Mingw Makefile,编译器默认的就行

image-20230808223910146

  1. 当第一次编译完后,出现红色背景的内容,勾选下图所示内容,然后继续点击configure

image-20230809211613677

image-20230808231857217

image-20230809231055252

  1. 多次点击configure,直到没有红色出现

中间可能在下载时会报错

FFMPEG: Download failed: 28;“Timeout was reached”

解决方式:

  1. 将下载链接复制下来,输入到浏览器中进行下载

  2. 打开opencv的source文件夹下的.cache文件夹中

  3. 复制没下载成功的文件的名,将在网页下载成功的文件重命名为刚才复制对的名

  4. 将重命名后的文件放到.cache文件夹下的各个文件夹中,将原始文件进行替换【确实文件放置位置的方法:下载链接中有对应的文件夹名】

  5. 重新点击configure

image-20230808235948300

  1. 点击generator

image-20230809000016173

4.安装编译文件

  1. 进入mingw-build文件夹
  2. 在路径上输入cmd,然后回车(建议直接以管理员身份运行,普通方式运行可能会出现一些报错)

image-20230809000210918

image-20230809000229036

  1. 输入mingw32-make -j 16

报错解决:

  1. 如果出现 error: 'recursive_mutex' in namespace 'std' does not name a type,则重新下载posix版的mingw64 ,然后再在cmake中重新编译OpenCV源码
  2. 如果出现 undefined reference to _Unwind_Resume'之类的,以管理员身份运行cmd,重新编译

image-20230809213424554

  1. 出现之类Anaconda3-/hdf5的报错,不使用Anaconda3的Python环境更换其他Python环境或者直接不使用Python环境(直接在path环境变中先删除Anaconda的Python配置,更换为其他的Python或者不配置Python),重新用cmake进行编译,然后再在cmd运行

image-20230810110217317

image-20230809213446910

  1. 输入mingw32-make install

image-20230809213644437

  1. 添加环境变量,将mingw-build\bin目录添加到系统环境变量

image-20230809221112296

5.Clion配置使用

  1. 新建一个项目
  2. 将下面的内容复制到CMakeLists.txt
set(OpenCV_DIR E:/kaifa/C/opencv/mingw-build/install) #这里刚才编译的OpenCV的路径
find_package(OpenCV REQUIRED)
target_link_libraries(OpenCVtest ${OpenCV_LIBS}) #OpenCVtest是你的项目名称

image-20230809215512469

  1. 运行main.cpp文件
#include "iostream"
#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main() {

    Mat img = imread("E:/C-Project/OpenCVtest/1.jpg");
    cout << img.type() << endl;
    if (img.empty()) {
        cout << "Error" << endl;
        return -1;
    }
    imshow("Lena", img);
    waitKey();
    return 0;

}
  1. 弹出图片则表示环境配置成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/905281.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

负载均衡下的 WebShell 连接

目录 负载均衡简介负载均衡的分类网络通信分类 负载均衡下的 WebShell 连接场景描述难点介绍解决方法**Plan A** **关掉其中一台机器**&#xff08;作死&#xff09;**Plan B** **执行前先判断要不要执行****Plan C** 在Web 层做一次 HTTP 流量转发 &#xff08;重点&#xff0…

经典组合优化问题

本文根据学习进度不定时更新。 团问题 此处要理解"each pair of which is connected by an edge"的含义&#xff0c;这里的which指的是谁呢&#xff1f;肯定是vertices&#xff0c;即每一对定点都有一条边连接起来。 团问题是NPC问题。 团问题和定点覆盖问题、边覆盖…

LLM提示词工程和提示词工程师Prompting and prompt engineering

你输入模型的文本被称为提示&#xff0c;生成文本的行为被称为推断&#xff0c;输出文本被称为完成。用于提示的文本或可用的内存的全部量被称为上下文窗口。尽管这里的示例显示模型表现良好&#xff0c;但你经常会遇到模型在第一次尝试时无法产生你想要的结果的情况。你可能需…

22.0.6 LEADTOOLS 增加了 Python 支持 -Crack

LEADTOOLS 增加了 Python 支持 Python 开发人员现在可以利用 LEADTOOLS 技术&#xff0c;包括识别、多媒体和成像。 2023 年 7 月 18 日 - 16:40新版本 特征 添加了完整的 Python 支持 LEADTOOLS Python 支持包括高级图像处理功能、OCR、PDF、条形码识别和表单处理&#xff0c;…

FPGA原理与结构——RAM IP核原理学习

目录 一、什么是RAM 二、RAM IP介绍 1、RAM分类简介 2、可选的内存算法 &#xff08;1&#xff09;Minimum Area Algorithm&#xff08;最小面积算法&#xff09; &#xff08;2&#xff09;Low Power Algorithm &#xff08;低功耗算法&#xff09; &#xff08;3&#x…

ChatGPT-4: 半年的深度使用思考

几个月的时间一直在使用 ChatGpt-4&#xff0c;以口述语音转文字的形式说一下自己的体会。 1、选择版本 大前提&#xff1a;我使用的都是 GPT4 的版本。也就是说至少每个月要付费20$。 因为 3.5 的版本&#xff0c;实际上使用体验是非常差的&#xff0c;主要体现在答非所问上。…

【C++习题集】-- 堆

&#xff08;用于复习&#xff09; 目录 树概念及结构 名词概念 二叉树概念及结构 特殊的二叉树 满二叉树 完全二叉树 运算性质 二叉树存储结构 顺序存储 链式存储 堆 - 顺序存储 堆的性质 堆的实现 堆的应用 堆排序 直接建堆法 树概念及结构 概念&#xff1a…

shell脚本——文件三剑客之sed

目录 一.sed基本用法及选项 ​二.sed脚本语法及命令 三.sed的查找替换使用 四.后向引用 五.变量 一.sed基本用法及选项 sed [选项]... {自身脚本语法};.... [input file...] seq 10 |sed #生成1-10数字传给sed #该格式报错&#xff0c;基本格式中的{自身脚本语法}不…

Stable Diffusion的使用以及各种资源

Stable Diffsuion资源目录 SD简述sd安装模型下载关键词&#xff0c;描述语句插件管理controlNet自己训练模型 SD简述 Stable Diffusion是2022年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像&#xff0c;尽管它也可以应用于其他任务&#xff0c;如…

【SA8295P 源码分析】06 - SA8295P XBL Loader 阶段 sbl1_main_ctl 函数代码分析

【SA8295P 源码分析】06 - SA8295P XBL Loader 阶段 sbl1_main_ctl 函数代码分析 一、XBL Loader 汇编源码分析1.1 解析 boot\QcomPkg\XBLLoader\XBLLoader.inf1.2 boot\QcomPkg\XBLDevPrg\ModuleEntryPoint.S&#xff1a;跳转 sbl1_entry 函数1.3 XBLLoaderLib\sbl1_Aarch64.s…

shell脚本之循环语句

循环语句 循环含义 将某代码段重复运行多次&#xff0c;通常有进入循环的条件和退出循环的条件 for循环语句 一般知道循环次数使用for循环 第一类 格式1&#xff1a; for名称 in 取值次数;do;done; 格式2&#xff1a; for 名称 in {取值列表} do done# 打印20次 for i i…

docker安装redis7-分片集群

说明 系统&#xff1a;CentOS7.9 redis&#xff1a;7.0.5 因资源有限所有节点部署在一台宿主机上&#xff0c;总共启动6个redis实例&#xff0c;实例对应端口分别从6380-6385&#xff0c;文章中给的有执行脚本&#xff0c;方便配置redis和操作redis实例 下载镜像 docker …

JVM的元空间了解吗?

笔者近期在面试的时候被问到了这个问题&#xff0c;元空间也是Java8当时的一大重大革新&#xff0c;之前暑期实习求职的时候有专门看过&#xff0c;但是近期秋招的时候JVM相关的内容确实有点生疏了&#xff0c;故在此进行回顾。 结构 首先&#xff0c;我们应了解JVM的堆结构&a…

c++——引用(语法、引用特性、常引用、函数返回值引用和指针与引用的不同点)

c中的引用 一、引用 1、引用的概念&#xff1a;给变量取别名。 形式&#xff1a;原类型名& 别名 引用实体旧名&#xff1b; 2、特性&#xff1a; ①引用定义时必须初始化 ②引用一旦初始化之后就不能再改变引用的指向 ③不能引用NULL ④&再等号的左边为引用&…

FPGA原理与结构——ROM IP的使用与测试

一、前言 本文介绍Block Memory Generator v8.4 IP核 实现ROM&#xff0c;在学习一个IP核的使用之前&#xff0c;首先需要对于IP核的具体参数和原理有一个基本的了解&#xff0c;具体可以参考&#xff1a; FPGA原理与结构——块RAM&#xff08;Block RAM,BRAM&#xff09;http…

04_18内存反碎片技术,什么时候适合进行内存碎片整理

前言 内存碎片分为内部碎片和外部碎片&#xff0c;内部碎片指内存页里面的碎片&#xff0c;外部碎片指空闲的内存页分散&#xff0c;很难找到一组物理地址连续的空间内存页&#xff0c;无法满足超过一页的内存分配请求。 虚拟可移动区域 可移动区域&#xff08;ZONE_MOVABLE…

A 题国际旅游网络的大数据分析-详细解析与代码答案(2023 年全国高校数据统计与调查分析挑战赛

请你们进行数据统计与调查分析&#xff0c;使用附件中的数据&#xff0c;回答下列问题&#xff1a; ⚫ 问题 1: 请进行分类汇总统计&#xff0c;计算不同国家 1995 年至 2020 年累计旅游总人数&#xff0c;从哪个国家旅游出发的人数最多&#xff0c;哪个国家旅游到达的人数最多…

【JavaEE】面向切面编程AOP是什么-Spring AOP框架的基本使用

【JavaEE】Spring AOP&#xff08;1&#xff09; 文章目录 【JavaEE】Spring AOP&#xff08;1&#xff09;1. Spring AOP 是什么1.1 AOP 与 Spring AOP1.2 没有AOP的世界是怎样的1.3 AOP是什么 2. Spring AOP 框架的学习2.1 AOP的组成2.1.1 Aspect 切面2.1.2 Pointcut 切点2.1…

微人事 部门管理 模块 (十五)

部门管理的树展示和搜索 数据展示页是个树&#xff0c;我们一次性把数据加载出来也可以通过点一次id加载查询出来出来子部门&#xff0c;我们用一次拿到说有json数据加载出来 数据不多可以用递归&#xff0c;数据很多就用懒加载的方式 由于子部门比较深就不适合&#xff0c;权…

# 59. python的类与对象-更新

[目录] 文章目录 59. python的类与对象-更新1.面向对象编程2.什么是类3.什么是对象4.如何描述对象5.对象的属性和方法6.Python中的类7.type()函数查看数据类型8.类在Python中的应用9.总结 【正文】 59. python的类与对象-更新 1.面向对象编程 本节内容特别抽象&#xff0c;初…