Я пытаюсь запустить простой код с использованием openCV, но я продолжаю получать эти ошибки.
ошибка: неопределенная ссылка на `cvCreateFileCapture ‘
ошибка: неопределенная ссылка на `cvQueryFrame ‘
ошибка: неопределенная ссылка на `cvReleaseCapture ‘
Насколько я знаю, эти функции определены в компоненте ‘highgui’, который я включил в заголовок моего кода, а также включил его путь к путям моей библиотеки.
INCLUDEPATH += /usr/local/include/opencv
LIBS += -L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_highgui
Я успешно использовал другие функции компонента ‘highgui’ без ошибок. например: ‘cvLoadImage’
Также intellisense моей IDE продолжает предлагать мне эти функции, которые, я думаю, означают, что я правильно указал путь к библиотеке.
Почему я получаю эти ошибки?
для получения дополнительной информации я использую openCV 3.0.0, Qt creator 3.1.1 на linux mint 17.2
полный простой код, который я пытаюсь запустить:
#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;
}
Заранее спасибо.
Ваш источник обучения для openCV устарел. Это старый C api. Изучите часть документации Вот
РЕДАКТИРОВАТЬ: Кроме того, следуйте советам @berak для использования cv :: Mat и cv :: VideoCapture
замещать <cv.h>
с <opencv2/core.hpp>
И с моей установкой openCV, я включаю highgui, как это <opencv2/highgui.hpp>
Других решений пока нет …