NcJ*_*Jie 7 windows-8 windows-runtime
我正在尝试在Windows 8应用中进行面部跟踪应用.我知道,为了访问摄像机流,我必须使用MediaCapture.AddEffectAsync()必须与C++结合,如本示例所示.
现在我可以访问流并跟踪面部,但是我无法将跟踪面坐标传递/返回到C#以进行进一步处理.
我尝试过的一种方法是在C++中调用C#方法来传回跟踪坐标.但无济于事,因为Visual Studio不允许项目之间的循环依赖.
另一种方法是不断从C++中提取数据,但这不是我想要的.
也许还有另一种更直接的方式来访问相机缓冲区,我想知道.
所以我的问题是,如何找回跟踪坐标?或者做正确的方法是什么?谢谢!
为了克服这个问题,我们只需在 C++ DLL 和 C# 代码之间设置 TCP/IP 本地主机连接。也就是说,我们让C#成为服务器,C++ DLL成为客户端。每当 C++ DLL 想要与 C# 通信时,C++ 只需通过 TCP/IP 套接字将数据传递给 C#。目前,Windows 8 不对同一进程内的 TCP/IP 通信施加限制。
StreamSocket 示例是一个很好的入门参考
这不是最好的方法,并且由于数据需要经过 TCP/IP 层,因此会产生轻微的性能损失。但是,到目前为止,这也许是我们能拥有的最好的,除非微软打破了这一障碍。
| 归档时间: |
|
| 查看次数: |
822 次 |
| 最近记录: |