フレームごとのビデオ処理に Emgu.CV を使用しています。Capture インスタンスからフレームを取得したら、Image を GpuImage に変換して GPU 処理を行います。
Image に戻らずに GpuImage を直接表示することはできますか?
私のUIはWPFです。
はい、Emgu.CV.UI.ImageBox に GpuImage を表示することは可能です:
これをテストしました: emgucv-windows-universal-gpu 2.4.9.1847
// Create a new GpuImage and assign its value from Image.
GpuImage<Bgr, byte> gpuImage = new GpuImage<Bgr, byte>(image);
// Show the GpuImage in the ImageBox.
this.imageBox.Image = gpuImage;
この解決策は私が見ることができる最高のものですが、GpuImage を Image に変換する場合でも、簡単で高速です。
// Create a new Image and convert the GpuImage to it.
Image<Bgr, byte> image = gpuImage.ToImage();
// Show the GpuImage in the ImageBox.
this.imageBox.Image = image;
お役に立てれば!
理解が得られると、Emgu は優れたリソースになります。その非常によくレイアウトされ、プログラムされています。ただし、GPU プロセッシングは間違いなく進むべき道です。