我使用Emgu.CV逐幀進行一些視頻處理。從Capture實例中抓取一幀後,我將圖像轉換爲GpuImage以執行一些GPU處理。Emgu CV顯示GpuImage
是否有可能直接顯示GpuImage而不返回到圖像?
我的用戶界面在WPF上。
我使用Emgu.CV逐幀進行一些視頻處理。從Capture實例中抓取一幀後,我將圖像轉換爲GpuImage以執行一些GPU處理。Emgu CV顯示GpuImage
是否有可能直接顯示GpuImage而不返回到圖像?
我的用戶界面在WPF上。
是有可能在Emgu.CV.UI.ImageBox顯示GpuImage:
我已經測試了這個在:emgucv窗口的通用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轉換回圖像無論哪種方式,它是方便,快捷:
// 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處理絕對是最好的選擇。
我正在尋找的是一種避免從GPU內存下載GpuImage的方法。 ImageBox總是下載:(這通常是實時圖像處理中的瓶頸。 –
您是否找到了解決方案? – Pedro77
這裏http://stackoverflow.com/questions/17496729/drawing-in-opencv-with-opengl是我找到的最接近的東西。 D3Dmage可能是正確的方法,它是一個ImageSource,但用法非常複雜。如果我有機會及時實施這種控制,我會發布更新。 –