opencv中未定义的函数

时间:2016-03-17 16:23:40

标签: c++ opencv

#include<opencv\cv.h>
#include<opencv\highgui.h>
#include<opencv2\videoio.hpp>

using namespace cv;

int main(){

    Mat image;
    VideoCapture cap;
    cap.open(0);
    namedwindow("window",1);
    while(1){
        cap>>image;
        imshow("window",image);
        waitKey(33);
    }
    return 0;
}

当我尝试运行上面的程序时,我得到标识符“namedWindow”,“imshow”和“waitkey”未定义的错误。 我正在使用visual studio 2010进行编码。

2 个答案:

答案 0 :(得分:1)

您包含过时的C代码。要包含正确的标头,请使用opencv2并更正路径。

请注意,您可以使用包含所有来避免所有这些内容:#include <opencv2/opencv.hpp>

#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/video/video.hpp>

// or use only: #include <opencv2/opencv.hpp>

using namespace cv;

int main(){

    Mat image;
    VideoCapture cap;
    cap.open(0);
    namedWindow("window", 1);
    while (1){
        cap >> image;
        imshow("window", image);
        waitKey(33);
    }
    return 0;
}

答案 1 :(得分:0)

如果您使用

#include<opencv\cv.h>
#include<opencv\highgui.h>

您必须使用不同的C函数,例如cvNamedWindow("title");cvShowImage("title", img);

使用以下C++包含:

#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2\opencv.hpp>

(你不必使用所有这些......)