【发布时间】:2015-07-04 23:45:59
【问题描述】:
我在 C# 中使用 EmguCV,当我想从网络摄像头抓取帧时遇到问题,语句上出现红色下划线:
imgOrg = capturecam.QueryFrame();
错误:无法将类型“Emgu.CV.Mat”隐式转换为“Emgu.CV.Image”
我该如何解决这个问题?
我的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using Emgu.CV.UI;
namespace test2
{
public partial class Form1 : Form
{
Image<Bgr, Byte> imgOrg; //image type RGB (or Bgr as we say in Open CV)
private Capture capturecam;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
capturecam = new Capture();
}
catch (NullReferenceException exception)
{
MessageBox.Show(exception.Message);
return;
}
Application.Idle += new EventHandler(ProcessFunction);
}
private void ProcessFunction(object sender, EventArgs arg)
{
imgOrg = capturecam.QueryFrame(); // error line
imageBox1.Image = imgOrg;
}
}
}
【问题讨论】:
-
imgOrg的类型是什么?capturecam.QueryFrame()的返回类型是什么?确保两种类型相同。 -
是的相同类型,我只是复制粘贴我以前正常工作的代码,我下载了最新的 EmguCV cuda-3.0.0.2158 Image
imgOrg;私人捕获捕获摄像头; -
请edit your question 并将代码和任何其他附加信息添加到问题中,以便其他人可以更好地理解您的问题,并希望您能得到更好的答案。
-
我在一年前正确运行的相同代码,这个项目中的一个新事物是我正在使用最新版本的 Emgu CV 库
标签: c# emgucv webcam-capture