【发布时间】:2017-02-15 14:03:58
【问题描述】:
我正在使用 emgu cv 3.0.0,我想从 USB 摄像头捕获帧。
不幸的是,我在调用Image<Bgr, Byte> image = capture.QueryFrame(); 时遇到错误
它说,我无法从 Emgu.CV.Mat 转换为 Emgu.CV.Image。
【问题讨论】:
标签: emgucv
我正在使用 emgu cv 3.0.0,我想从 USB 摄像头捕获帧。
不幸的是,我在调用Image<Bgr, Byte> image = capture.QueryFrame(); 时遇到错误
它说,我无法从 Emgu.CV.Mat 转换为 Emgu.CV.Image。
【问题讨论】:
标签: emgucv
试试这行代码
Image<Bgr, Byte> image = capture.QueryFrame().ToImage<Bgr,Byte>();
【讨论】:
在 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 中了解它的工作原理。
【讨论】: