如何解决同步两个摄像机的C#线程
| 我需要从两个摄像机捕获图像并将它们组合在一起。 流程是这样的: 两个线程,每个摄像机一个,对摄像机框架进行采样。 每个人将帧发送到第三线程,即消费者。 只有当消费者拥有两个框架时,他才会处理它们, 和 释放捕获线程,以便它们可以获取下一帧。 有人可以概述我需要做什么吗? 我正在使用C#.Net 4.0解决方法
您是否尝试阅读本文?
http://msdn.microsoft.com/en-us/library/ms228964.aspx
关于使用.NET 4进行线程同步的全部。出奇的简单。
,我将使用任何静态变量或数据库来存储单个摄像机采样活动的进度。当两个摄像机的各自标志都标记为完成时,读取器标志将消耗所有帧,并重置这些标志。 Uplon重置自己的标志后,工作线程开始捕获下一帧。您还可以使用委托模式(prescriber-subscriber)通过事件相互通知。
,我会给每个捕获工作人员2个AutoResetEvent对象...一个用于在捕获完成时发出信号(A),另一个用于等待开始下一个捕获的权限(B)...
worker例程将是以下循环:
捕获到本地缓冲区
信号A
等待B
消费者循环:
等待两个
复制两个缓冲区
同时发出信号B
处理缓冲区的副本
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。