UE5+OpenCV配置(Windows11系统)
一、概述
因为需要在UE5中使用OpenCV这些工具进行配置,所以在网络上参考借鉴一些资料进行配置。查询到不少的资料,最后将其配置成功。在这里顺便记录一下自己的配置成功的过程。
二、具体过程
(一)版本
使用Windows11系统、UE5.3,使用vscode进行操作(vscode和visual studio两者原理其实是一样的,使用哪个都可以),我这里使用vscode作为我的编辑器了。
OpenCV选择的是官方网站的4.10版本。网络上也有关于UE中OpenCV插件的安装,但是我没有尝试,这里主要是关于代码的安装测试。
(二)OpenCV版本选择
因为是使用Windows系统进行配置的,所以我这里直接在官方网站上选择Windows版本的OpenCV进行下载,这个已经编译完成,可以直接使用。也可以下载源代码在Windows系统上使用CMake进行编译,要求技术比较高,已经有别人编译完成能够使用的,我们选择这个。
Releases - OpenCV
https://opencv.org/releases/

下载完成后,运行exe程序,将OpenCV代码提取出来,此时提取出来的路径可以随便书写,解压后如图所示。

(三)UE5项目配置过程
1.OpenCV文件夹建立
首先我们要新建一个UE5的项目,选择C++,这里我的项目名称是test2,如图所示。这里我们新建立一个ThirdParty的文件夹用以存放第三方库,这个文件夹的位置在哪里对整体的影响不大。

如图所示。在ThirdParty文件夹中专门为OpenCV单独建立一个文件夹,因为可以日后还需要增加别的第三方库,这里可以更好的区分。

在opencv文件夹内,如图所示,需要我们建立这三个文件夹,分别是bin,include,lib。(主要是lib和include,bin这个文件夹实际没有怎么用到它)。

打开刚才从官方网站解压提取出来的OpenCV文件夹,如图所示,打开build文件夹。

将build文件夹中的include目录下面的内容,整体复制到ThirdParty/opencv下面,如图所示。

如图所示,接下来,打开build文件夹里面的x64位,选择vc16(根据自己版本来选择)里面中的bin和lib两个文件夹下的内容,分别复制到ThirdParty/opencv下面bin和lib目录下面。 
2.项目文件修改test2.Build.cs
test2.Build.cs是指你建立的项目名称YourProjectName.Build.cs,位于source文件夹下面。

打开这个文件。在里面添加下如下代码。OpenCVPath是指自己的OpenCV路径,这里我使用的是绝对路径,缺点是,我新建立一个项目每次又要修改,也有别的写法。
string OpenCVPath = "D:/scholar/UE5/TEST/test2/ThirdParty/opencv";
// Add OpenCV include path
PublicIncludePaths.Add(Path.Combine(OpenCVPath, "include"));// Add OpenCV library path using PublicSystemLibraryPaths
PublicSystemLibraryPaths.Add(Path.Combine(OpenCVPath, "lib"));// Add OpenCV library file
PublicAdditionalLibraries.Add(Path.Combine(OpenCVPath, "lib", "opencv_world4100.lib"));
需要注意在文件开头引用这个。
using System;
不引用的话,系统无法识别Path,会报错。
这里主要将include中的头文件和动态链接库进行添加。
3.编译报错解决——UE5和OpenCV中check()函数冲突
将test2.Build.cs文件修改完成后,进行编译生成,发现报错。主要问题出在opencv/core/utility.hpp这个文件下面。

文件中报错的具体位置,如图中红色部分圈出所示。

出现报错的原因是,经过查询后,在YouTube的一个视频(视频链接放在下面,视频是讲述如何在UE4中配置OpenCV的,跟UE5配置流程差不多)中,他给出的解释是,UE里面也定义了check函数,OpenCV里面也有这个函数,两者的命令冲突了,所以报错发生了。
https://www.youtube.com/watch?v=YOidIl2kTD0
https://www.youtube.com/watch?v=YOidIl2kTD0
这里的解决方法是将OpenCV中check函数进行修改,将其名称改为cv_check()即可通过编译。如图所示。首先第一步将utility.cpp中关于check的if 定义的语句注释掉,如图所示。

第二步,按下ctrl+F进行check()的查找。将其更改为cv_check(),如图所示

完成操作后,重新编译,引用头文件时候,不会发生报错。
4.自动补全的实现
做完上述步骤之后,在代码编译后,不会发生报错,但是自己编写代码的时候没有出现相应的自动补全提示。这里我们的解决方式是。在所建立项目中Binaries/Win64文件夹下面,添加几个dll文件。

如图所示。这几个动态链接库的文件名称如下所示。


5.补充说明
假如在 Binaries/Win64下面添加dll文件后,依旧无法出现代码补全提示的话,在UE5中打开这个项目,将重新生成这个项目即可。
三、参考链接
跟里面有些地方有差异,关于报错部分进行的解决部分和代码自动补全进行添加和补充。UE5_OpenCV库的加载方式_ue opencv-CSDN博客文章浏览阅读1.3k次。UE5中OpenCV库的加载_ue opencvhttps://blog.csdn.net/weixin_42318094/article/details/132946767 YouTube视频链接,根据这个视频的操作进行的。将全部check()函数报错的地方都要进行修改。
https://www.youtube.com/watch?v=YOidIl2kTD0
https://www.youtube.com/watch?v=YOidIl2kTD0
相关文章:
UE5+OpenCV配置(Windows11系统)
一、概述 因为需要在UE5中使用OpenCV这些工具进行配置,所以在网络上参考借鉴一些资料进行配置。查询到不少的资料,最后将其配置成功。在这里顺便记录一下自己的配置成功的过程。 二、具体过程 (一)版本 使用Windows11系统、UE5.…...
自研Vue3开源Tree组件:节点拖拽bug修复
当dropType为after,且dropNode为父节点时,bug出现了: bug原因:插入扁平化列表的位置insertIndex计算的不对: 正确的逻辑,同inner要算上子孙节点所占的位置: bug修复!...
SSM学习9:SpringBoot简介、创建项目、配置文件、多环节配置
简介 SpringBoot式用来简化Spring应用的初始搭建以及开发过程的一个框架 项目搭建 File -> New -> Project 选中pom.xml文件,设置为maven项目 项目启动成功 可以访问BasicController中的路径 配置文件 在resources目录下 application.properties 默…...
Java面试题---索引
什么是索引 索引是用来高效获取数据的存储结构如同字典的目录一样,数据库的索引通常使用btree来实现,索引树的节点和数据地址相关联,查询的时候在索引树种进行高效搜索,然后根据数据地址获取数据。索引提高了搜索的效率同时增加了…...
ollama本地部署大语言模型记录
目录 安装Ollama更改模型存放位置 拉取模型GemmaMistralQwen1.5(通义千问)codellama 部署Open webui测试性能知识广度问题1问题2 代码能力总结 最近突然对大语言模型感兴趣 同时在平时的一些线下断网的CTF比赛中,大语言模型也可以作为一个能对话交互的高级知识检索…...
【C++红黑树应用】模拟实现STL中的map与set
目录 🚀 前言一: 🔥 红黑树的修改二: 🔥 红黑树的迭代器 三: 🔥 perator() 与 operator--() 四: 🔥 红黑树相关接口的改造✨ 4.1 Find 函数的改造✨ 4.2 Insert 函数的改…...
前端实习手计(5):班味十足?!
自我感觉没有班味!!!每天还是快快乐乐上班哇,是愉快的一周~这周没有太多活咯,基本就是修修改改改代码学习。真的感觉自己写的代码就是乱七八糟,只要能跑起来有效果就行(我不是合格的处女座哈哈哈…...
Duix AI 太上瘾,让我熬夜体验的AI女友
✨点击这里✨:🚀原文链接:(更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号!) Duix AI 太上瘾,让我熬夜体验的AI女友 开启 Duix AI 女友的奇妙之旅_ Hi,这…...
php判断某个目录下是否存在文件
/*** 判断字符串是否以什么结尾* param String $haystack 字符串* param String $needle 结尾* return Boolean*/ function endWith($haystack, $needle) {$length strlen($needle);if ($length 0) {return true;}return (substr($haystack, -$length) $needle); } /***…...
重塑互联网生态:探索Web 3.0、大数据与隐私保护的新篇章
引言:互联网的新纪元 随着互联网技术的日新月异,我们正迈入一个全新的时代,其中Web 3.0、大数据以及隐私保护成为塑造未来互联网生态的三大核心力量。它们不仅改变了我们与互联网交互的方式,更深刻地影响着社会的方方面面。 Web…...
HR模块中PA信息类型的相关函数
目录 1、新增、删除,修改:HR_INFOTYPE_OPERATION新增:INS删除:DEL修改:MOD 2、读取PA信息类型:HR_READ_INFOTYPE3、入职,生成新工号用:HR_PAD_HIRE_EMPLOYEE4、加锁:BAPI…...
c# 日期类型变量默认值
DateTime类型是比较常用的变量类型,但是以前处理都比较业余,下面总结2中常用方式 这次把它总结下: DateTime t1 default(DateTime); DateTime t2 DateTime.MinValue; 这样t1,t2 的值都是 {0001/1/1 0:00:00} PS: 由于DateTi…...
设计模式实战:任务调度系统的设计与实现
问题描述 设计一个任务调度系统,支持任务的创建、调度、执行和状态管理。系统需要确保任务的执行过程可以被灵活调度,并且支持任务状态的跟踪和通知功能。 设计分析 命令模式 命令模式用于将请求封装成对象,从而使我们可以用不同的请求、队列或日志来参数化其他对象。任…...
代码中的特殊注释
代码中特殊注释——TODO、FIXME、XXX、HACK_fix me todo hack-CSDN博客 代码中特殊注释——TODO、FIXME、XXX、HACK TODO:英语翻译为待办事项,备忘录。如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会…...
ubuntu20.04.6 安装Skywalking 10.0.1
1.前置准备 1.1. **jdk17(Skywalking10 jdk22不兼容,用17版本即可)**安装: https://blog.csdn.net/CsethCRM/article/details/140768670 1.2. elasticsearch安装: https://blog.csdn.net/CsethCRM/article/details…...
C++:map和set
hello,各位小伙伴,本篇文章跟大家一起学习《C:map和set》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 如果本篇文章对你有帮助,还请各位点点赞!!…...
深入理解二叉搜索树:定义、操作及平衡二叉树
引言 二叉搜索树(Binary Search Tree,BST)是一种特殊的二叉树结构,每个节点的左子树节点值小于根节点值,而右子树节点值大于根节点值。二叉搜索树在计算机科学中有着广泛的应用,尤其在动态查找表和优先队列…...
vue3组件通信(二)
组件通信 一.$attrs(祖>孙间接)二、$refs()父>子, $parent()子>父三.provide,inject(祖>孙直接)四.pinia五.slot1.默认插槽2.具名插槽3.作用域插槽 一.$attrs(祖>孙间接) $attrs用于实现当前组件的父组…...
关键词查找【Boyer-Moore 算法】
1、【Boyer-Moore 算法】 【算法】哪种算法有分数复杂度?- BoyerMoore字符串匹配_哔哩哔哩_bilibili BM算法的精华就在于BM(text, pattern),也就是BM算法当不匹配的时候一次性可以跳过不止一个字符。即它不需要对被搜索的字符串中的字符进行逐一比较,而…...
【前端手写代码】手写Object.create
思路:将传入的对象作为原型 // 思路:将传入的对象作为原型 function create(obj) {function F() { }F.prototype objreturn new F() }...
ComfyUI-Impact-Pack V8:AI图像细节增强的终极指南
ComfyUI-Impact-Pack V8:AI图像细节增强的终极指南 【免费下载链接】ComfyUI-Impact-Pack Custom nodes pack for ComfyUI This custom node helps to conveniently enhance images through Detector, Detailer, Upscaler, Pipe, and more. 项目地址: https://git…...
如何3分钟上手B站视频下载神器:BilibiliDown跨平台下载完全指南
如何3分钟上手B站视频下载神器:BilibiliDown跨平台下载完全指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_…...
Vitis 2021.2自定义IP从Platform到App的完整避坑指南:头文件、宏定义与QEMU报错一网打尽
Vitis 2021.2自定义IP全流程开发实战:从Platform构建到多核调试的深度解析 在FPGA开发领域,Xilinx的Vitis统一软件平台为开发者提供了从硬件设计到软件开发的完整工具链。然而,当涉及到自定义IP集成时,即使是经验丰富的工程师也常…...
超参数调优效率提升300%:Advisor与传统调参工具深度对比
超参数调优效率提升300%:Advisor与传统调参工具深度对比 【免费下载链接】advisor Open-source implementation of Google Vizier for hyper parameters tuning 项目地址: https://gitcode.com/gh_mirrors/ad/advisor 在机器学习模型开发中,超参数…...
如何在Chrome中轻松下载视频?VideoDownloadHelper开源插件完全指南
如何在Chrome中轻松下载视频?VideoDownloadHelper开源插件完全指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还在为无法下载…...
1688代采系统开发避坑指南:经验之谈
做跨境代购系统三年了,技术栈换过一次。今天把当初的技术选型过程和踩坑经验整理出来。多页面架构(MPA)的选择:没有用 React/Vue SPA 做租户端前台的首页和商品页,而是传统的多页面(HTML JS jQuery&#…...
python的pyd本质:就是Windows平台下的DLL动态链接库
一、 拆解:Python 库的真实生态与 .pyd / .so 的底层逻辑1. Python 真的有百万个第三方 PIP 库吗?不准确。 截至2026年,PyPI(Python Package Index)官方注册的开源项目总量大约在 50万到60万个 之间。虽然达不到“百万…...
“冠珠·美乐童行”公益行动走进广州市增城区高滩小学,唱响爱、筑就美
在520爱家日十周年之际,冠珠瓷砖积极响应国家美育浸润与乡村教育振兴的政策号召,暖心开启 “冠珠美乐童行”公益行动。首站活动由冠珠瓷砖、广州市越秀山体育中心共同主办,以 “乐动童心美育同行” 为主题,走进广州市增城区高滩小…...
如何5分钟快速集成PinLockView到你的Android应用:终极指南 [特殊字符]
如何5分钟快速集成PinLockView到你的Android应用:终极指南 🚀 【免费下载链接】PinLockView A clean, minimal, highly customizable pin lock view for Android 项目地址: https://gitcode.com/gh_mirrors/pi/PinLockView PinLockView 是一个专为…...
基于RL78/G13的电位器ADC采集与串口通信上位机显示系统设计
1. 项目概述与核心思路最近在整理工作室的旧零件,翻出来一块瑞萨电子的RL78/G13开发板,还有几个吃灰的电位器。想着不能浪费,就琢磨着做个简单但能体现MCU基本功的小项目:用这块开发板实时采集电位器的电压,并把数据上…...
