AForge.NET ライブラリを使用して、Web カメラから画像データを定期的に取得しています。デバッグ上の理由から、フィルター処理された画像を画面に描画する必要があります。現在、メインフォームに6つのWPF画像があり、毎秒、System.Drawing.Bitmapに変換してからBitmapSourceに変換するUnmanagedImageを提供するイベントを処理します-私のコードは次のようになります:
private void OnImageFiltered(object sender, FilterEventArgs e)
{
var bitmapSource = e.UnmanagedImage.ToManagedImage().ToBitmapSource();
pictureBox.Source = bitmapSource;
}
しかし、前に言ったように、6 つの画像があり、プログラム全体が遅くなります。どうすれば速くなりますか?
私の ToBitmapSource 拡張メソッドは次のとおりです。
public static BitmapSource ToBitmapSource(this System.Drawing.Image source)
{
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(source);
var bitSrc = bitmap.ToBitmapSource();
bitmap.Dispose();
bitmap = null;
return bitSrc;
}