欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > UE5+OpenCV配置(Windows11系统)

UE5+OpenCV配置(Windows11系统)

2024/10/24 14:20:52 来源:https://blog.csdn.net/GFCLJY/article/details/140702115  浏览:    关键词: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 - OpenCVicon-default.png?t=N7T8https://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=YOidIl2kTD0icon-default.png?t=N7T8https://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=YOidIl2kTD0icon-default.png?t=N7T8https://www.youtube.com/watch?v=YOidIl2kTD0           

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com