我有一个通过火线连接的高分辨率相机。 SDK允许我将帧抓取到字节缓冲区中。 E.g:
unsigned char *buffer = new unsigned char[size];
GetFrameBuffer(cameraHandle, buffer);
由于API的性质,需要连续抓取帧(20 + fps)以显示实时视图。现在,我想在我的WPF UI中显示它。我可以想到几种方法,但我需要帮助确定选择哪种方法!
Source
。HWND
的自定义控件。当消息泵空闲时,图像将被更新。显然,我想尽量减少CPU负载。
问题归结为:
在WPF中,如何使用GetFrameBuffer
等基本API显示来自火线连接的实时流?
答案 0 :(得分:0)
我认为最简单的方法是第一种方式。只需更新图像源。如果您只想显示它,则不需要为此设置directshow过滤器。但如果您还想捕获它,DirectShow过滤器是最好的方法!
更新图像源是一项简单的任务。一个很好的例子就是Mjpeg decoder for .net。您只需要用自己的抓取器逻辑替换Mjpeg阅读器/解析器。