2015-08-22 413 views
1

我使用emgu cv 3.0.0,我想從USB攝像頭捕獲幀。 不幸的是,我在撥打Image<Bgr, Byte> image = capture.QueryFrame(); 時出現錯誤,說明我無法將其從Emgu.CV.Mat轉換爲Emgu.CV.ImageEmguCV捕獲幀QueryFrame()

回答

2

在cv v 3.0.0中,大多數方法都使用Mat來表示圖像。 你可以試試這個從相機獲取框架:

Mat frame = new Mat(); 
_capture.Retrieve(frame, 0); 

,爲了轉換爲灰色:

Mat grayFrame = new Mat(); 
CvInvoke.CvtColor(frame, grayFrame, ColorConversion.Bgr2Gray); 

還可以看到它是如何工作的例子here

+0

謝謝!工作正常 ;) – user5236980

5

試試這行代碼

Image<Bgr, Byte> image = capture.QueryFrame().ToImage<Bgr,Byte>();