我试图使用UE5中内置的UE5库读取相机输入,但是无论我做什么,我似乎都不能让cv::VideoCapture.read()返回任何东西。cv::VideoCapture.grab()每次都返回false。
它在同一台机器上工作很好,使用普通的C++和OpenCV 4.6.0,VideoCapture绝对是打开的,相机也像预期的那样打开。
我需要知道的是,关于Unreal的内置实现有什么需要了解的吗?(除了使用OpenCV 4.5.5之外)。我似乎在网上找不到这方面的任何信息。
这就是我的头文件的样子:
#pragma once
#include "PreOpenCVHeaders.h"
#include <opencv2/core.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/imgproc.hpp>
#include "PostOpenCVHeaders.h"
#include "CameraReader.generated.h"我的插件的构建文件:
PublicDependencyModuleNames.AddRange(
new string[]
{
"Core",
"OpenCVHelper",
"OpenCV",
// ... add other public dependencies that you statically link with here ...
}
);在Kinect 2.0中使用Windows 11。
我想我可能错过了一些OpenCV DLL,因为我只能找到OpenCV World DLL的一个自定义的不真实版本,所以我尝试重写默认的OpenCV插件,自己添加FFMPEG和MSMF,但这没有改变任何事情。
编辑:在多次尝试从源代码构建OpenCV之后,我只设法让GStreamer和FFMPEG工作。
发布于 2022-11-14 21:20:45
与OpenCV一起提供的UE5库不是用FFmpeg或库构建的,因此它不能从文件或摄像机中读取视频。您可以尝试使用FFmpeg或支持构建您自己的FFmpeg版本,而不是使用UE5附带的版本。
https://stackoverflow.com/questions/74437916
复制相似问题