【UE4】UE4.25+OpenCV环境配置

UE4.25+OpenCV环境配置


一、前言

最近实验室项目需要将外置摄像头接入UE4,因此需要将OpenCV第三方库配置到UE4内,在此做个记录,经验证在4.25和4.26上均可配置成功。


二、下载OpenCV

UE4中的OpenCV插件已经在Github上了,因此只需将其下载解压即可。

Github:https://github.com/Brandon-Wilson/OpenCV-Plugin

下载后解压目录:


三、将OpenCV库复制进项目

将解压后的Binaries、Plugins、ThirdParty文件夹直接复制到项目根目录

  


四、在VS内修改配置

1. 打开并修改项目的Build.cs文件

打开\Source\ProjectName\ProjectName.Build.cs

在using UnrealBuildTool;后添加

using System.IO;

构造函数前添加如下ThirdPartyPath函数

private string ThirdPartyPath
	{
		get { return Path.GetFullPath(Path.Combine(ModuleDirectory, "../../ThirdParty/")); }
	}

构造函数中添加

string OpenCVPath = Path.Combine(ThirdPartyPath, "OpenCV/");
PublicIncludePaths.AddRange(new string[] { Path.Combine(OpenCVPath, "Includes") });
PublicLibraryPaths.Add(Path.Combine(OpenCVPath, "Libraries/Win64"));

整体build.cs文件如下所示

// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.IO;

public class Test : ModuleRules
{
	private string ThirdPartyPath
	{
		get { return Path.GetFullPath(Path.Combine(ModuleDirectory, "../../ThirdParty/")); }
	}

	public Test(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
	
		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });

		PrivateDependencyModuleNames.AddRange(new string[] {  });

		string OpenCVPath = Path.Combine(ThirdPartyPath, "OpenCV/");
		PublicIncludePaths.AddRange(new string[] { Path.Combine(OpenCVPath, "Includes") });
		PublicLibraryPaths.Add(Path.Combine(OpenCVPath, "Libraries/Win64"));

		// Uncomment if you are using Slate UI
		// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });

		// Uncomment if you are using online features
		// PrivateDependencyModuleNames.Add("OnlineSubsystem");

		// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
	}
}

2.  打开并修改OpenCV代码

打开/Plugins/OpenCV/Source/OpenCV/Private/OpenCV.cpp

#include "OpenCVPrivatePCH.h"

替换为

#include "../Public/OpenCV.h"

打开/Plugins/OpenCV/Source/OpenCV/Public/OpenCV.h

#include "ModuleManager.h" 

替换为

#include "Modules/ModuleManager.h"

打开/Plugins/OpenCV/Source/OpenCV/OpenCV.Build.cs

将第13行

public OpenCV(TargetInfo Target)

换为

public OpenCV(ReadOnlyTargetRules Target) : base(Target)

将第27行

bool isdebug = Target.Configuration == UnrealTargetConfiguration.Debug && BuildConfiguration.bDebugBuildsActuallyUseDebugCRT;

换为

bool isdebug = Target.Configuration == UnrealTargetConfiguration.Debug && Target.bDebugBuildsActuallyUseDebugCRT;

打开/Plugins/OpenCV/Source/OpenCV/Private/WebcamReader.cpp

将#include "WebcamReader.h"放到Include的第一个,否则会报错

#include "WebcamReader.h"
#include "OpenCVPrivatePCH.h"
#include "OpenCV.h"
#include "string.h"

3. 在VS项目设置中添加引用路径

右键项目->属性->VC++目录 在Include目录中添加路径:

../../ThirdParty/OpenCV/Includes

五、在UE4中打开插件

在UE4编辑器的Plugin中打开OpenCV。

打开后重启项目即可。


六、验证OpenCV配置是否成功

1. 验证WebcamReader

新建蓝图类,搜索WebcamReader,如果能成功搜索即配置成功。

2. 验证OpenCV C++

在cpp文件中创建某个函数调用OpenCV自带的Mat类,如果UE4能编译成功,则表示配置成功。

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc.hpp>

using namespace cv;

void SomeClass::SomeFunction()
{
	Mat mat;
}

注意!!

需要在.h头文件中添加如下代码才能编译成功

#ifdef _DEBUG  
#pragma comment(lib,"opencv_world320d.lib") 
#else
#pragma comment(lib,"opencv_world320.lib") 
#endif

七、总结

按照以上步骤进行配置后应该就可以在UE4中使用OpenCV了,可以实现读取摄像头并进行处理等多种功能。

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
### 回答1: 好的,我来用中文回答您的问题。 如果您想在VSCode中使用C++和OpenCV,您需要进行以下设置: 1. 安装VSCode:您可以从官方网站下载并安装Visual Studio Code。 2. 安装C++插件:打开VSCode,进入扩展选项卡,搜索"C++"并安装Microsoft官方的C++插件。 3. 安装OpenCV库:您可以从OpenCV官方网站下载最新版本的库并进行安装。 4. 配置编译器:为了能够在VSCode中编译和运行C++代码,您需要配置一个编译器。建议使用Microsoft官方的C++编译器MSVC或GNU编译器(GCC)。 5. 配置调试器:为了能够在VSCode中进行调试,您需要配置一个调试器。建议使用Microsoft官方的调试器或GNU调试器(GDB)。 6. 创建一个C++项目:在VSCode中创建一个新的C++项目,并将OpenCV库链接到您的项目中。在项目中添加您的代码文件,并确保您的代码可以正确编译和运行。 希望这可以帮助您开始使用VSCode和OpenCV来开发C++应用程序! ### 回答2: VS Code是一款非常优秀的智能化代码编辑器,适用于Windows、Mac、Linux等多个操作系统,并且可以在其中配置C和OpenCV的环境。本文将介绍如何在VS Code中配置C和OpenCV环境,以便更好地进行编程。 首先,必须安装以下软件: 1. Visual Studio Code,点击链接 https://code.visualstudio.com/download 下载。 2. MinGW 具体可以看上一篇教程:安装MinGW 3. CMake 官网 http://www.cmake.org/download/ 然后分别安装C/C++和CMake插件。C/C++插件提供了代码自动完成、缩进等一系列的功能,可以极大提高开发效率。同时可以为 C/C++ 项目使用IntelliSense 智能提示功能。而在CMake插件中,可以方便地对CMake进行配置和交互。 接下来进行配置: 1. 打开Visual Studio Code,在左侧导航栏选择“扩展”(Extensions),在搜索框中输入“C/C++”和“CMake”,并分别安装两个插件。 2. 在安装完后,我们重新打开VS Code。 3. 打开一个 C/C++ 的项目,也可以新建一个C文件。 4. 打开项目文件夹,创建一个名为“CMakeLists.txt”的文件,并粘贴以下内容: cmake_minimum_required(VERSION 2.8) project(FirstCmakeProject) find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) add_executable(FirstCmakeProject main.cpp) target_link_libraries(FirstCmakeProject ${OpenCV_LIBS}) 5. 在上一步中,“FirstCmakeProject”可以替换为你项目的名字,main.cpp是你的代码文件名。如果你使用的是其他文件名,请将其更改为相应的名称。 6. 点击左下角“CTRL + SHIFT + P”,在搜索框中输入“CMake: Build”,并选择“CMake: Build Target”。 此时,在Output视图中会显示出编译结果,如果出现错误,则有可能是因为环境变量没配置好。 参考上述步骤后,我们便成功地配置了一个C和OpenCV的环境,并且可以在VS Code中进行开发和编译。如果您需要进行更复杂的开发,可以通过阅读更多的文档进行更详细的配置。 ### 回答3: 在VSCode中配置C++和OpenCV环境需要做以下几步: 1. 安装Visual Studio Code 首先我们需要安装Visual Studio Code,可以在官网 https://code.visualstudio.com/ 下载安装包并进行安装,安装完成后打开VS Code。 2. 安装C/C++扩展插件 在VS Code中使用C++需要安装C/C++扩展插件,可以在Extensions面板中搜索C/C++插件并安装。 3. 安装MinGW编译器 MinGW是一个用于Windows的GNU工具集,包含了GCC编译器,可以使用该编译器编译C++程序。可以前往MinGW官网 https://sourceforge.net/projects/mingw/ 下载安装包并进行安装。 安装完成后在系统环境变量中添加MinGW的路径,可以通过在命令行中输入“gcc -v”命令检查是否安装成功。 4. 配置tasks.json 在VS Code中通过按Ctrl+Shift+P打开命令面板,选择任务:配置默认构建任务生成tasks.json文件,用于在VSCode中编译和运行C++代码。 通过修改tasks.json文件来配置C++编译器并添加相应参数,例如: { "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "g++", "args": [ "-g", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe", "${file}" ], "group": { "kind": "build", "isDefault": true } } ] } 5. 配置launch.json 在VS Code中选择Debug面板,然后配置launch.json文件,修改"program"属性为编译后的可执行文件路径。 例如: { "version": "0.2.0", "configurations": [ { "name": "C++ Launch", "type": "cppvsdbg", "request": "launch", "program": "${workspaceFolder}\\${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false } ] } 6. 配置OpenCV环境 可以在OpenCV官网 https://opencv.org/ 下载OpenCV的安装包进行安装。安装完成后,在系统环境变量中添加OpenCV的路径,以便在C++代码中调用OpenCV库。 在编写C++代码时需要添加OpenCV库的头文件和链接库。可以修改tasks.json文件中的args参数,添加OpenCV库的路径和链接库的命令。 例如: { "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "g++", "args": [ "-g", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe", "-I", "D:\\OpenCV\\include", "-L", "D:\\OpenCV\\x64\\mingw\\lib", "-lopencv_core420", "-lopencv_highgui420", "${file}" ], "group": { "kind": "build", "isDefault": true } } ] } 完成以上步骤后,就能在VS Code中编写、运行并调试基于C++的OpenCV程序了。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值