Почему я получаю эту ошибку при использовании OpenCV? ошибка: неопределенная ссылка на `cvCreateFileCapture'

Я пытаюсь запустить простой код с использованием 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;
}

Заранее спасибо.

1 ответ

Решение

Ваш источник обучения для openCV устарел. Это старый C api. Изучите часть документации здесь

РЕДАКТИРОВАТЬ: Кроме того, следуйте советам @berak для использования cv::Mat и cv::VideoCapture

замещать <cv.h> с <opencv2/core.hpp>

И с моей установкой openCV, я включаю highgui, как это <opencv2/highgui.hpp>

Другие вопросы по тегам