将处理后的视频从 C# 程序发送到 C++ 程序

Posted

技术标签:

【中文标题】将处理后的视频从 C# 程序发送到 C++ 程序【英文标题】:Sending a processed video from C# program to C++ program 【发布时间】:2010-10-25 18:44:36 【问题描述】:

我正在从我的网络摄像头捕获视频,它由 C# 程序处理,然后我想将它流式传输到 C++ 程序。这个 C++ 程序可以配置为从网络摄像头获取视频流,因此可以将我处理后的视频发送/流式传输到该程序,C++ 程序检测该流作为来自网络摄像头的视频。

谢谢!

编辑:我的 C# 程序访问网络摄像头并进行一些处理。另一方面,我有 CCV,它接受来自网络摄像头或视频文件的输入。所以我想将我处理过的视频发送(流)到 CCV。

【问题讨论】:

你有这两个程序的源代码吗? @Oded : 正如 karlphillip 所说,它是 IPC。 @karlphillips : C# 代码很长,我使用 Community Core Vision 作为上述 C++ 程序。 【参考方案1】:

你似乎在寻找如何做Interprocess Communication on Windows。

代码项目也有一个关于它的great article。

【讨论】:

@Kenshan 理想情况下,您应该只有一个程序来从相机中获取帧、处理它们并执行您认为需要的任何其他操作。将您的解决方案分成 2 个应用程序会带来一些您在最终解决方案中可能不需要的开销。顺便问一下,你听说过 OpenCV 吗? 如果您要投反对票,则应添加说明原因的注释。 @karlphillip:是的,我正在使用 CCV,它使用 OpenCV 进行图像处理,我同意你的观点,但问题是我没有太多时间来破解 CCV 代码库并编写补丁满足我的需要,我发现我可以用 C# 轻松完成处理部分(但我对 C# 真的很陌生)所以,我用 C# 编写处理部分 @karlphillip,我不明白你什么时候可以使用互操作性,你建议 Interprocess?您可以简单地用 C++ 编写一个 com 对象并在 C# 中引用它,这样您就可以同时使用这两种语言优势,从网络摄像头捕获并执行进程并连接到其他应用程序不需要 2 个不同的应用程序。如果您不熟悉 c++,则建议不要这样做。 @Keshan 我仍然认为您应该认真考虑 独立 解决方案,因为 IPC 和互操作性方法都需要更多工作。此链接包含一个完整的 C 程序(使用 OpenCV),它从相机读取帧并定义要在每一帧上执行的函数。它对帧进行灰度转换并将它们显示在窗口上:***.com/questions/3907028/…【参考方案2】:

我可以使用SplitCam 轻松解决我的问题,谢谢大家。

【讨论】:

以上是关于将处理后的视频从 C# 程序发送到 C++ 程序的主要内容,如果未能解决你的问题,请参考以下文章

使用命名管道将图像从 C++ 发送到 C# 应用程序

如何将浮点数从 C# 应用程序发送到 C++ 应用程序?

将数据从 C++ 发送到 C# [重复]

如何使用 pinvoke 将图像从 c 或 c++ 发送到 C#

将状态更新从 C++ 中的函数发送到 C#

将实时视频从我的 c# 应用程序流式传输到 ASP.NET 网页