错误 C2679:二进制“=”:未找到采用 'IplImage *' 类型的 right-hand 操作数的运算符(或没有可接受的转换)OpenCV

error C2679: binary '=' : no operator found which takes a right-hand operand of type 'IplImage *' (or there is no acceptable conversion) OpenCV

您好,我正在尝试使用此代码 Cascade Classifier。我得到了标题错误。我正在使用 VS 2013 和 OpenCV 3.0。

我是新手,我不明白为什么这个代码对除我以外的所有人都有效? 有什么办法可以解决?

此处错误行:

frame = cvQueryFrame(capture);

cvQueryFrame returns 一个 IplImage*,而你的 frameMat.

类型

您有两个选择:

1) 从 IplImage* 转换为 Mat

frame = Mat(cvQueryFrame(capture));

2) 使用 C++ 语法,VideoCapture推荐

VideoCapture cap(0);
...
for(;;)
{
    Mat frame;
    cap >> frame;
    ...
}