【问题标题】:Undefined functions in opencvopencv中未定义的函数
【发布时间】:2016-03-18 00:59:05
【问题描述】:
#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 中编码。

【问题讨论】:

标签: c++ opencv


【解决方案1】:

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

请注意,您可以避免所有这些包含,使用 include all#include &lt;opencv2/opencv.hpp&gt;

#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;
}

【讨论】:

  • 感谢您的回答,它确实解决了我的问题,但现在我有一个新错误“错误 LNK1104:无法打开文件 'opencv_core243.lib'。
  • 您没有正确链接到您的库。此外,您使用的是非常旧的 OpenCV 版本。我建议升级到 3.1 版
【解决方案2】:

如果你使用

#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>

(你不必全部使用它们......)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-26
    • 2015-05-12
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多