UE4.27 使用OpenCV插件获取本地相机内容

本文详细介绍了如何在Unreal Engine 4.27中集成OpenCV库,从创建工程、下载OpenCV包、修改配置到实现本地相机画面获取和使用M_WebCam材质展示。步骤包括创建C++项目、设置依赖和路径,适合初学者参考。
摘要由CSDN通过智能技术生成

经过多次尝试翻看了多位大佬们的博客后,终于在UE4.27中成功运行了OpenCV插件,并获取到了本地相机画面,非常感谢各位前辈的帮助。

1.创建UE4.27工程

创建时选择C++项目。在这里插入图片描述
创建完毕后关闭项目和自动打开的VS即可。

2. 下载OpenCV

OpenCV百度网盘链接:
链接:https://pan.baidu.com/s/1HkrmQHhaP__CMpBoYFZnsA?pwd=vzmm
提取码:vzmm
解压后将三个文件夹放入创建的工程的根目录下。
在这里插入图片描述
右键uproject文件,生成VS工程文件。
在这里插入图片描述

3. 修改OpenCV代码

打开sln文件后,修改ProjectName.Build.cs内容。
添加第2行、第6-9行、第25-27行。

using UnrealBuildTool;
using System.IO;
 
public class TestWebcam : ModuleRules
{
	private string ThirdPartyPath
	{
		get{return Path.GetFullPath(Path.Combine(ModuleDirectory,"../../ThirdParty"));}
	}
	public TestWebcam(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
	
		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore","OpenCV"});
 
		PrivateDependencyModuleNames.AddRange(new string[] {  });
 
		// 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
		string OpenCVPath = Path.Combine(ThirdPartyPath, "OpenCV/");
		PublicIncludePaths.AddRange(new string[] { Path.Combine(OpenCVPath, "Includes") });
		PublicLibraryPaths.Add(Path.Combine(OpenCVPath, "Libraries/Win64"));
	}
}

修改完毕后右键项目工程点击“生成”,编译成功即可。
在这里插入图片描述

4. 在项目中启用插件

在这里插入图片描述

5.创建M_WebCam材质。

打开材质后右键创建Param2D。
在这里插入图片描述
将名称改为Video Texture。 注意这个名称是后续在蓝图中调用使用的,之前的博主们可能这里都写错了,跟蓝图中使用的不一致,疑惑了很久到底是怎么一个变量
在这里插入图片描述
将RGB与自发光颜色连接。
将材质按下图设置即可
在这里插入图片描述

6.创建BP_Webcam蓝图

创建基于WebcamReader的蓝图。
在这里插入图片描述
打开蓝图后按如下图写入。
在这里插入图片描述
注意添加平面组件Plane,添加Dynamic Material变量,变量为材质动态实例。
在这里插入图片描述
注意此处的Video Texture是上一节中自定义的名称。
在这里插入图片描述

7.将蓝图拖入地图中运行

在这里插入图片描述
关于截图也研究了很久,目前使用的是将一个相机架在平面前,全覆盖并使用“游戏进程自动截图”截全屏,有时间会再写一下。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值