我正在尝试使用 openCV 运行一个简单的代码,但我不断收到此错误。
错误:未定义对“cvCreateFileCapture”的引用
错误:未定义对“cvQueryFrame”的引用
错误:未定义对“cvReleaseCapture”的引用
据我所知,这些函数是在“highgui”组件中定义的,我将它的头文件包含在我的代码中,还包括它的路径到我的库路径。
INCLUDEPATH += /usr/local/include/opencv
LIBS += -L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_highgui
我成功使用了'highgui'组件的其他功能,没有任何错误。例如:'cvLoadImage' 我的 IDE 的智能感知也不断向我建议这些功能,我认为这意味着我已经正确地包含了库路径。
为什么我会收到这些错误?
有关更多信息,我在 linux mint 17.2 上使用 openCV 3.0.0、Qt creator 3.1.1
我试图运行的完整简单代码是:
#include <iostream>
#include <highgui.h>
#include <cv.h>
using namespace std;
int main()
{
CvCapture* capture = cvCreateFileCapture("/home/ali/drop.avi");
cvNamedWindow("t2",CV_WINDOW_AUTOSIZE);
IplImage* frame;
while(1)
{
frame = cvQueryFrame(capture);
if(!frame) break;
cvShowImage("t2",frame);
char c = cvWaitKey(33);
if(c==27) break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("t2");
return 0;
}
先感谢您。