英特尔实感 C# 将流录制到文件

Posted

技术标签:

【中文标题】英特尔实感 C# 将流录制到文件【英文标题】:Intel Real Sense C# Recording stream to a file 【发布时间】:2017-04-20 21:03:44 【问题描述】:

我正在尝试使用英特尔实感 SDK 获取一些引导帧,然后尝试使用英特尔拼接算法对它们进行拼接。 但是,SetFileName 函数不会将文件写入目录。 你能帮忙吗?

PXCMSenseManager pp = PXCMSenseManager.CreateInstance();

RaiseMessage("Starting...");

pp.EnableFace()
pp.Enable3DScan()

if (!string.IsNullOrEmpty(StreamOutputFilename))

    if (File.Exists(StreamOutputFilename)) throw new Exception("File already exists");

    
        System.Diagnostics.Debug.WriteLine(StreamOutputFilename);
        pp.QueryCaptureManager().SetFileName(StreamOutputFilename,true);

【问题讨论】:

我无法从文档中找出应该何时创建文件,但它可能来自Init() 调用,如here 所示。 SetFileName() 方法也可能返回错误,您应该检查 IsError(),例如,如果文件不可写,我认为您会收到错误:if (pp.QueryCaptureManager().SetFileName(StreamOutputFilename,true).IsError()) an error occurred else continue @Quantic:感谢您的 cmets。我确实尝试了 Is 错误函数,但不幸的是,它没有返回任何错误。但我看不到初始化 SetFileName 函数后创建的任何文件。你还有什么想法吗? @Quantic 有什么想法吗? 不抱歉,我刚刚打开此选项卡并做出响应,因为一整天后有零个 cmets。我从未使用过英特尔实感。我不明白为什么您没有像示例中那样的Init() 调用,您是否尝试添加它?您是否尝试过以管理员身份运行? @Quantic:感谢您的信息。是的,我在调用函数后立即添加了 init()。您认为管理员权限会成为问题吗?我会试试的。你有什么想法可以使用任何手动函数调用而不是调用 SDK 中的这个函数(Setfilename)? 【参考方案1】:

请参考解决方案here

int wmain(int argc, WCHAR* argv[]) 
// Create a SenseManager instance
    PXCPointF32 *uvmap = 0;
    pxcCHAR *file = L"C:\\new.rssdk";
    PXCSenseManager *sm = PXCSenseManager::CreateInstance();
    // Set file recording or playback
    sm->QueryCaptureManager()->SetFileName(file, 1);
    // Select the color stream
    sm->EnableStream(PXCCapture::STREAM_TYPE_DEPTH, 640, 480, 0);
    // Initialize and Record 300 frames
    sm->Init();
    for (int i = 0; i<300; i++) 
         // This function blocks until a color sample is ready
        if (sm->AcquireFrame(true)<PXC_STATUS_NO_ERROR) break;
        // Retrieve the sample
        PXCCapture::Sample *sample = sm->QuerySample();
        sm->ReleaseFrame();
    
    // close down
    sm->Release();
    return 0;

【讨论】:

虽然这在理论上可以回答这个问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。

以上是关于英特尔实感 C# 将流录制到文件的主要内容,如果未能解决你的问题,请参考以下文章

由于源文件无效,无法卸载英特尔实感

英特尔® 实感™ SDK 2.0 上的英特尔实感 D435i 帧丢失

从英特尔实感摄像头预触发捕获数据

OpenCV 拼接 RGB 和深度(英特尔实感)

实施英特尔实感和 SDL2 的问题

英特尔实感 SDK 不适用于其他实感摄像头