2

我正在尝试使用 openCVSharp 播放位图图像流以从 YUV 生成位图。但我无法将其显示为视频。

我在这里找到了一些关于将其用作 AVI 包装器的链接,还有一些可以保存在硬盘上的链接,比如这里,FFMPEG 在 LINUX 上可能工作得很好,但在 Windows 中不是很好。

我什至尝试使用以下代码。但它只显示序列中的最后一帧,并且我没有使用 MediaElement 的 URI,因为位图是由我的程序生成的。

image.source = ToBitmapSource(bitmapImage);

在哪里

public static BitmapSource ToBitmapSource(System.Drawing.Bitmap bitmap){
    IntPtr ip = bitmap.GetHbitmap();
    BitmapSource bs = null;

    bs = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(ip,
    IntPtr.Zero, System.Windows.Int32Rect.Empty,
    System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());

    return bs;
}

我正在尝试播放视频(类似于流媒体)而不将其保存在计算机上。直接展示是必须的吗?我非常需要你的帮助,我的截止日期快到了!

4

1 回答 1

-1

您可以使用DispatcherTimer(相当于 Winform 中的 Timer):

DispatcherTimer dt = new DispatcherTimer();
dt.Interval = 25;  //25 ms --> 50 frames per second
dt.Tick += delegate(object sender, EventArgs e){

             //get the image and display it

          }

dt.Start(); //to start record
于 2012-07-13T19:30:51.603 回答